8621 lines
356 KiB
JavaScript
8621 lines
356 KiB
JavaScript
module.exports = [
|
|
"[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/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
|
;
|
|
else {
|
|
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
|
;
|
|
else {
|
|
if ("TURBOPACK compile-time truthy", 1) {
|
|
if ("TURBOPACK compile-time truthy", 1) {
|
|
module.exports = __turbopack_context__.r("[externals]/next/dist/compiled/next-server/app-page-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/app-page-turbo.runtime.dev.js, cjs)");
|
|
} else //TURBOPACK unreachable
|
|
;
|
|
} else //TURBOPACK unreachable
|
|
;
|
|
}
|
|
} //# sourceMappingURL=module.compiled.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/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
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/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['react-ssr'].React; //# sourceMappingURL=react.js.map
|
|
}),
|
|
"[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-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
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;
|
|
}
|
|
exports._ = _interop_require_wildcard;
|
|
}),
|
|
"[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/route-modules/app-page/vendored/contexts/app-router-context.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
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/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['contexts'].AppRouterContext; //# sourceMappingURL=app-router-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/route-modules/app-page/vendored/contexts/hooks-client-context.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
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/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['contexts'].HooksClientContext; //# sourceMappingURL=hooks-client-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/shared/lib/segment.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
DEFAULT_SEGMENT_KEY: null,
|
|
PAGE_SEGMENT_KEY: null,
|
|
addSearchParamsIfPageSegment: null,
|
|
computeSelectedLayoutSegment: null,
|
|
getSegmentValue: null,
|
|
getSelectedLayoutSegmentPath: null,
|
|
isGroupSegment: null,
|
|
isParallelRouteSegment: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
DEFAULT_SEGMENT_KEY: function() {
|
|
return DEFAULT_SEGMENT_KEY;
|
|
},
|
|
PAGE_SEGMENT_KEY: function() {
|
|
return PAGE_SEGMENT_KEY;
|
|
},
|
|
addSearchParamsIfPageSegment: function() {
|
|
return addSearchParamsIfPageSegment;
|
|
},
|
|
computeSelectedLayoutSegment: function() {
|
|
return computeSelectedLayoutSegment;
|
|
},
|
|
getSegmentValue: function() {
|
|
return getSegmentValue;
|
|
},
|
|
getSelectedLayoutSegmentPath: function() {
|
|
return getSelectedLayoutSegmentPath;
|
|
},
|
|
isGroupSegment: function() {
|
|
return isGroupSegment;
|
|
},
|
|
isParallelRouteSegment: function() {
|
|
return isParallelRouteSegment;
|
|
}
|
|
});
|
|
function getSegmentValue(segment) {
|
|
return Array.isArray(segment) ? segment[1] : segment;
|
|
}
|
|
function isGroupSegment(segment) {
|
|
// Use array[0] for performant purpose
|
|
return segment[0] === '(' && segment.endsWith(')');
|
|
}
|
|
function isParallelRouteSegment(segment) {
|
|
return segment.startsWith('@') && segment !== '@children';
|
|
}
|
|
function addSearchParamsIfPageSegment(segment, searchParams) {
|
|
const isPageSegment = segment.includes(PAGE_SEGMENT_KEY);
|
|
if (isPageSegment) {
|
|
const stringifiedQuery = JSON.stringify(searchParams);
|
|
return stringifiedQuery !== '{}' ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery : PAGE_SEGMENT_KEY;
|
|
}
|
|
return segment;
|
|
}
|
|
function computeSelectedLayoutSegment(segments, parallelRouteKey) {
|
|
if (!segments || segments.length === 0) {
|
|
return null;
|
|
}
|
|
// For 'children', use first segment; for other parallel routes, use last segment
|
|
const rawSegment = parallelRouteKey === 'children' ? segments[0] : segments[segments.length - 1];
|
|
// If the default slot is showing, return null since it's not technically "selected" (it's a fallback)
|
|
// Returning an internal value like `__DEFAULT__` would be confusing
|
|
return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment;
|
|
}
|
|
function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first = true, segmentPath = []) {
|
|
let node;
|
|
if (first) {
|
|
// Use the provided parallel route key on the first parallel route
|
|
node = tree[1][parallelRouteKey];
|
|
} else {
|
|
// After first parallel route prefer children, if there's no children pick the first parallel route.
|
|
const parallelRoutes = tree[1];
|
|
node = parallelRoutes.children ?? Object.values(parallelRoutes)[0];
|
|
}
|
|
if (!node) return segmentPath;
|
|
const segment = node[0];
|
|
let segmentValue = getSegmentValue(segment);
|
|
if (!segmentValue || segmentValue.startsWith(PAGE_SEGMENT_KEY)) {
|
|
return segmentPath;
|
|
}
|
|
segmentPath.push(segmentValue);
|
|
return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);
|
|
}
|
|
const PAGE_SEGMENT_KEY = '__PAGE__';
|
|
const DEFAULT_SEGMENT_KEY = '__DEFAULT__'; //# sourceMappingURL=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/client/components/readonly-url-search-params.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
/**
|
|
* ReadonlyURLSearchParams implementation shared between client and server.
|
|
* This file is intentionally not marked as 'use client' or 'use server'
|
|
* so it can be imported by both environments.
|
|
*/ /** @internal */ Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "ReadonlyURLSearchParams", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return ReadonlyURLSearchParams;
|
|
}
|
|
});
|
|
class ReadonlyURLSearchParamsError extends Error {
|
|
constructor(){
|
|
super('Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams');
|
|
}
|
|
}
|
|
class ReadonlyURLSearchParams extends URLSearchParams {
|
|
/** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() {
|
|
throw new ReadonlyURLSearchParamsError();
|
|
}
|
|
/** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() {
|
|
throw new ReadonlyURLSearchParamsError();
|
|
}
|
|
/** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() {
|
|
throw new ReadonlyURLSearchParamsError();
|
|
}
|
|
/** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() {
|
|
throw new ReadonlyURLSearchParamsError();
|
|
}
|
|
}
|
|
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=readonly-url-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/route-modules/app-page/vendored/contexts/server-inserted-html.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
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/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['contexts'].ServerInsertedHtml; //# sourceMappingURL=server-inserted-html.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/unrecognized-action-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
UnrecognizedActionError: null,
|
|
unstable_isUnrecognizedActionError: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
UnrecognizedActionError: function() {
|
|
return UnrecognizedActionError;
|
|
},
|
|
unstable_isUnrecognizedActionError: function() {
|
|
return unstable_isUnrecognizedActionError;
|
|
}
|
|
});
|
|
class UnrecognizedActionError extends Error {
|
|
constructor(...args){
|
|
super(...args);
|
|
this.name = 'UnrecognizedActionError';
|
|
}
|
|
}
|
|
function unstable_isUnrecognizedActionError(error) {
|
|
return !!(error && typeof error === 'object' && error instanceof UnrecognizedActionError);
|
|
}
|
|
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=unrecognized-action-error.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/redirect-status-code.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "RedirectStatusCode", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return RedirectStatusCode;
|
|
}
|
|
});
|
|
var RedirectStatusCode = /*#__PURE__*/ function(RedirectStatusCode) {
|
|
RedirectStatusCode[RedirectStatusCode["SeeOther"] = 303] = "SeeOther";
|
|
RedirectStatusCode[RedirectStatusCode["TemporaryRedirect"] = 307] = "TemporaryRedirect";
|
|
RedirectStatusCode[RedirectStatusCode["PermanentRedirect"] = 308] = "PermanentRedirect";
|
|
return RedirectStatusCode;
|
|
}({});
|
|
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=redirect-status-code.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/redirect-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
REDIRECT_ERROR_CODE: null,
|
|
RedirectType: null,
|
|
isRedirectError: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
REDIRECT_ERROR_CODE: function() {
|
|
return REDIRECT_ERROR_CODE;
|
|
},
|
|
RedirectType: function() {
|
|
return RedirectType;
|
|
},
|
|
isRedirectError: function() {
|
|
return isRedirectError;
|
|
}
|
|
});
|
|
const _redirectstatuscode = __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-status-code.js [app-ssr] (ecmascript)");
|
|
const REDIRECT_ERROR_CODE = 'NEXT_REDIRECT';
|
|
var RedirectType = /*#__PURE__*/ function(RedirectType) {
|
|
RedirectType["push"] = "push";
|
|
RedirectType["replace"] = "replace";
|
|
return RedirectType;
|
|
}({});
|
|
function isRedirectError(error) {
|
|
if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') {
|
|
return false;
|
|
}
|
|
const digest = error.digest.split(';');
|
|
const [errorCode, type] = digest;
|
|
const destination = digest.slice(2, -2).join(';');
|
|
const status = digest.at(-2);
|
|
const statusCode = Number(status);
|
|
return errorCode === REDIRECT_ERROR_CODE && (type === 'replace' || type === 'push') && typeof destination === 'string' && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode;
|
|
}
|
|
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=redirect-error.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/redirect.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
getRedirectError: null,
|
|
getRedirectStatusCodeFromError: null,
|
|
getRedirectTypeFromError: null,
|
|
getURLFromRedirectError: null,
|
|
permanentRedirect: null,
|
|
redirect: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
getRedirectError: function() {
|
|
return getRedirectError;
|
|
},
|
|
getRedirectStatusCodeFromError: function() {
|
|
return getRedirectStatusCodeFromError;
|
|
},
|
|
getRedirectTypeFromError: function() {
|
|
return getRedirectTypeFromError;
|
|
},
|
|
getURLFromRedirectError: function() {
|
|
return getURLFromRedirectError;
|
|
},
|
|
permanentRedirect: function() {
|
|
return permanentRedirect;
|
|
},
|
|
redirect: function() {
|
|
return redirect;
|
|
}
|
|
});
|
|
const _redirectstatuscode = __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-status-code.js [app-ssr] (ecmascript)");
|
|
const _redirecterror = __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-error.js [app-ssr] (ecmascript)");
|
|
const actionAsyncStorage = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[externals]/next/dist/server/app-render/action-async-storage.external.js [external] (next/dist/server/app-render/action-async-storage.external.js, cjs)").actionAsyncStorage : "TURBOPACK unreachable";
|
|
function getRedirectError(url, type, statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect) {
|
|
const error = Object.defineProperty(new Error(_redirecterror.REDIRECT_ERROR_CODE), "__NEXT_ERROR_CODE", {
|
|
value: "E394",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
error.digest = `${_redirecterror.REDIRECT_ERROR_CODE};${type};${url};${statusCode};`;
|
|
return error;
|
|
}
|
|
function redirect(/** The URL to redirect to */ url, type) {
|
|
type ??= actionAsyncStorage?.getStore()?.isAction ? _redirecterror.RedirectType.push : _redirecterror.RedirectType.replace;
|
|
throw getRedirectError(url, type, _redirectstatuscode.RedirectStatusCode.TemporaryRedirect);
|
|
}
|
|
function permanentRedirect(/** The URL to redirect to */ url, type = _redirecterror.RedirectType.replace) {
|
|
throw getRedirectError(url, type, _redirectstatuscode.RedirectStatusCode.PermanentRedirect);
|
|
}
|
|
function getURLFromRedirectError(error) {
|
|
if (!(0, _redirecterror.isRedirectError)(error)) return null;
|
|
// Slices off the beginning of the digest that contains the code and the
|
|
// separating ';'.
|
|
return error.digest.split(';').slice(2, -2).join(';');
|
|
}
|
|
function getRedirectTypeFromError(error) {
|
|
if (!(0, _redirecterror.isRedirectError)(error)) {
|
|
throw Object.defineProperty(new Error('Not a redirect error'), "__NEXT_ERROR_CODE", {
|
|
value: "E260",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
return error.digest.split(';', 2)[1];
|
|
}
|
|
function getRedirectStatusCodeFromError(error) {
|
|
if (!(0, _redirecterror.isRedirectError)(error)) {
|
|
throw Object.defineProperty(new Error('Not a redirect error'), "__NEXT_ERROR_CODE", {
|
|
value: "E260",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
return Number(error.digest.split(';').at(-2));
|
|
}
|
|
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=redirect.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/http-access-fallback/http-access-fallback.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
HTTPAccessErrorStatus: null,
|
|
HTTP_ERROR_FALLBACK_ERROR_CODE: null,
|
|
getAccessFallbackErrorTypeByStatus: null,
|
|
getAccessFallbackHTTPStatus: null,
|
|
isHTTPAccessFallbackError: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
HTTPAccessErrorStatus: function() {
|
|
return HTTPAccessErrorStatus;
|
|
},
|
|
HTTP_ERROR_FALLBACK_ERROR_CODE: function() {
|
|
return HTTP_ERROR_FALLBACK_ERROR_CODE;
|
|
},
|
|
getAccessFallbackErrorTypeByStatus: function() {
|
|
return getAccessFallbackErrorTypeByStatus;
|
|
},
|
|
getAccessFallbackHTTPStatus: function() {
|
|
return getAccessFallbackHTTPStatus;
|
|
},
|
|
isHTTPAccessFallbackError: function() {
|
|
return isHTTPAccessFallbackError;
|
|
}
|
|
});
|
|
const HTTPAccessErrorStatus = {
|
|
NOT_FOUND: 404,
|
|
FORBIDDEN: 403,
|
|
UNAUTHORIZED: 401
|
|
};
|
|
const ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus));
|
|
const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK';
|
|
function isHTTPAccessFallbackError(error) {
|
|
if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') {
|
|
return false;
|
|
}
|
|
const [prefix, httpStatus] = error.digest.split(';');
|
|
return prefix === HTTP_ERROR_FALLBACK_ERROR_CODE && ALLOWED_CODES.has(Number(httpStatus));
|
|
}
|
|
function getAccessFallbackHTTPStatus(error) {
|
|
const httpStatus = error.digest.split(';')[1];
|
|
return Number(httpStatus);
|
|
}
|
|
function getAccessFallbackErrorTypeByStatus(status) {
|
|
switch(status){
|
|
case 401:
|
|
return 'unauthorized';
|
|
case 403:
|
|
return 'forbidden';
|
|
case 404:
|
|
return 'not-found';
|
|
default:
|
|
return;
|
|
}
|
|
}
|
|
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=http-access-fallback.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/not-found.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "notFound", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return notFound;
|
|
}
|
|
});
|
|
const _httpaccessfallback = __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/http-access-fallback.js [app-ssr] (ecmascript)");
|
|
/**
|
|
* This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found)
|
|
* within a route segment as well as inject a tag.
|
|
*
|
|
* `notFound()` can be used in
|
|
* [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),
|
|
* [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and
|
|
* [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).
|
|
*
|
|
* - In a Server Component, this will insert a `<meta name="robots" content="noindex" />` meta tag and set the status code to 404.
|
|
* - In a Route Handler or Server Action, it will serve a 404 to the caller.
|
|
*
|
|
* Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found)
|
|
*/ const DIGEST = `${_httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;
|
|
function notFound() {
|
|
const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", {
|
|
value: "E394",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
error.digest = DIGEST;
|
|
throw error;
|
|
}
|
|
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=not-found.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/forbidden.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "forbidden", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return forbidden;
|
|
}
|
|
});
|
|
const _httpaccessfallback = __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/http-access-fallback.js [app-ssr] (ecmascript)");
|
|
// TODO: Add `forbidden` docs
|
|
/**
|
|
* @experimental
|
|
* This function allows you to render the [forbidden.js file](https://nextjs.org/docs/app/api-reference/file-conventions/forbidden)
|
|
* within a route segment as well as inject a tag.
|
|
*
|
|
* `forbidden()` can be used in
|
|
* [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),
|
|
* [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and
|
|
* [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).
|
|
*
|
|
* Read more: [Next.js Docs: `forbidden`](https://nextjs.org/docs/app/api-reference/functions/forbidden)
|
|
*/ const DIGEST = `${_httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE};403`;
|
|
function forbidden() {
|
|
if ("TURBOPACK compile-time truthy", 1) {
|
|
throw Object.defineProperty(new Error(`\`forbidden()\` is experimental and only allowed to be enabled when \`experimental.authInterrupts\` is enabled.`), "__NEXT_ERROR_CODE", {
|
|
value: "E488",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", {
|
|
value: "E394",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
error.digest = DIGEST;
|
|
throw error;
|
|
}
|
|
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=forbidden.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/unauthorized.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "unauthorized", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return unauthorized;
|
|
}
|
|
});
|
|
const _httpaccessfallback = __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/http-access-fallback.js [app-ssr] (ecmascript)");
|
|
// TODO: Add `unauthorized` docs
|
|
/**
|
|
* @experimental
|
|
* This function allows you to render the [unauthorized.js file](https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized)
|
|
* within a route segment as well as inject a tag.
|
|
*
|
|
* `unauthorized()` can be used in
|
|
* [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),
|
|
* [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and
|
|
* [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).
|
|
*
|
|
*
|
|
* Read more: [Next.js Docs: `unauthorized`](https://nextjs.org/docs/app/api-reference/functions/unauthorized)
|
|
*/ const DIGEST = `${_httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE};401`;
|
|
function unauthorized() {
|
|
if ("TURBOPACK compile-time truthy", 1) {
|
|
throw Object.defineProperty(new Error(`\`unauthorized()\` is experimental and only allowed to be used when \`experimental.authInterrupts\` is enabled.`), "__NEXT_ERROR_CODE", {
|
|
value: "E411",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", {
|
|
value: "E394",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
error.digest = DIGEST;
|
|
throw error;
|
|
}
|
|
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=unauthorized.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/dynamic-rendering-utils.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
isHangingPromiseRejectionError: null,
|
|
makeDevtoolsIOAwarePromise: null,
|
|
makeHangingPromise: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
isHangingPromiseRejectionError: function() {
|
|
return isHangingPromiseRejectionError;
|
|
},
|
|
makeDevtoolsIOAwarePromise: function() {
|
|
return makeDevtoolsIOAwarePromise;
|
|
},
|
|
makeHangingPromise: function() {
|
|
return makeHangingPromise;
|
|
}
|
|
});
|
|
function isHangingPromiseRejectionError(err) {
|
|
if (typeof err !== 'object' || err === null || !('digest' in err)) {
|
|
return false;
|
|
}
|
|
return err.digest === HANGING_PROMISE_REJECTION;
|
|
}
|
|
const HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION';
|
|
class HangingPromiseRejectionError extends Error {
|
|
constructor(route, expression){
|
|
super(`During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${route}".`), this.route = route, this.expression = expression, this.digest = HANGING_PROMISE_REJECTION;
|
|
}
|
|
}
|
|
const abortListenersBySignal = new WeakMap();
|
|
function makeHangingPromise(signal, route, expression) {
|
|
if (signal.aborted) {
|
|
return Promise.reject(new HangingPromiseRejectionError(route, expression));
|
|
} else {
|
|
const hangingPromise = new Promise((_, reject)=>{
|
|
const boundRejection = reject.bind(null, new HangingPromiseRejectionError(route, expression));
|
|
let currentListeners = abortListenersBySignal.get(signal);
|
|
if (currentListeners) {
|
|
currentListeners.push(boundRejection);
|
|
} else {
|
|
const listeners = [
|
|
boundRejection
|
|
];
|
|
abortListenersBySignal.set(signal, listeners);
|
|
signal.addEventListener('abort', ()=>{
|
|
for(let i = 0; i < listeners.length; i++){
|
|
listeners[i]();
|
|
}
|
|
}, {
|
|
once: true
|
|
});
|
|
}
|
|
});
|
|
// We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so
|
|
// we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct
|
|
// your own promise out of it you'll need to ensure you handle the error when it rejects.
|
|
hangingPromise.catch(ignoreReject);
|
|
return hangingPromise;
|
|
}
|
|
}
|
|
function ignoreReject() {}
|
|
function makeDevtoolsIOAwarePromise(underlying, requestStore, stage) {
|
|
if (requestStore.stagedRendering) {
|
|
// We resolve each stage in a timeout, so React DevTools will pick this up as IO.
|
|
return requestStore.stagedRendering.delayUntilStage(stage, undefined, underlying);
|
|
}
|
|
// in React DevTools if we resolve in a setTimeout we will observe
|
|
// the promise resolution as something that can suspend a boundary or root.
|
|
return new Promise((resolve)=>{
|
|
// Must use setTimeout to be considered IO React DevTools. setImmediate will not work.
|
|
setTimeout(()=>{
|
|
resolve(underlying);
|
|
}, 0);
|
|
});
|
|
} //# sourceMappingURL=dynamic-rendering-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/lib/router-utils/is-postpone.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "isPostpone", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return isPostpone;
|
|
}
|
|
});
|
|
const REACT_POSTPONE_TYPE = Symbol.for('react.postpone');
|
|
function isPostpone(error) {
|
|
return typeof error === 'object' && error !== null && error.$$typeof === REACT_POSTPONE_TYPE;
|
|
} //# sourceMappingURL=is-postpone.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/lazy-dynamic/bailout-to-csr.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
// This has to be a shared module which is shared between client component error boundary and dynamic component
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
BailoutToCSRError: null,
|
|
isBailoutToCSRError: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
BailoutToCSRError: function() {
|
|
return BailoutToCSRError;
|
|
},
|
|
isBailoutToCSRError: function() {
|
|
return isBailoutToCSRError;
|
|
}
|
|
});
|
|
const BAILOUT_TO_CSR = 'BAILOUT_TO_CLIENT_SIDE_RENDERING';
|
|
class BailoutToCSRError extends Error {
|
|
constructor(reason){
|
|
super(`Bail out to client-side rendering: ${reason}`), this.reason = reason, this.digest = BAILOUT_TO_CSR;
|
|
}
|
|
}
|
|
function isBailoutToCSRError(err) {
|
|
if (typeof err !== 'object' || err === null || !('digest' in err)) {
|
|
return false;
|
|
}
|
|
return err.digest === BAILOUT_TO_CSR;
|
|
} //# sourceMappingURL=bailout-to-csr.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/is-next-router-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "isNextRouterError", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return isNextRouterError;
|
|
}
|
|
});
|
|
const _httpaccessfallback = __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/http-access-fallback.js [app-ssr] (ecmascript)");
|
|
const _redirecterror = __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-error.js [app-ssr] (ecmascript)");
|
|
function isNextRouterError(error) {
|
|
return (0, _redirecterror.isRedirectError)(error) || (0, _httpaccessfallback.isHTTPAccessFallbackError)(error);
|
|
}
|
|
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=is-next-router-error.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/hooks-server-context.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
DynamicServerError: null,
|
|
isDynamicServerError: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
DynamicServerError: function() {
|
|
return DynamicServerError;
|
|
},
|
|
isDynamicServerError: function() {
|
|
return isDynamicServerError;
|
|
}
|
|
});
|
|
const DYNAMIC_ERROR_CODE = 'DYNAMIC_SERVER_USAGE';
|
|
class DynamicServerError extends Error {
|
|
constructor(description){
|
|
super(`Dynamic server usage: ${description}`), this.description = description, this.digest = DYNAMIC_ERROR_CODE;
|
|
}
|
|
}
|
|
function isDynamicServerError(err) {
|
|
if (typeof err !== 'object' || err === null || !('digest' in err) || typeof err.digest !== 'string') {
|
|
return false;
|
|
}
|
|
return err.digest === DYNAMIC_ERROR_CODE;
|
|
}
|
|
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=hooks-server-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/client/components/static-generation-bailout.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
StaticGenBailoutError: null,
|
|
isStaticGenBailoutError: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
StaticGenBailoutError: function() {
|
|
return StaticGenBailoutError;
|
|
},
|
|
isStaticGenBailoutError: function() {
|
|
return isStaticGenBailoutError;
|
|
}
|
|
});
|
|
const NEXT_STATIC_GEN_BAILOUT = 'NEXT_STATIC_GEN_BAILOUT';
|
|
class StaticGenBailoutError extends Error {
|
|
constructor(...args){
|
|
super(...args), this.code = NEXT_STATIC_GEN_BAILOUT;
|
|
}
|
|
}
|
|
function isStaticGenBailoutError(error) {
|
|
if (typeof error !== 'object' || error === null || !('code' in error)) {
|
|
return false;
|
|
}
|
|
return error.code === NEXT_STATIC_GEN_BAILOUT;
|
|
}
|
|
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=static-generation-bailout.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/framework/boundary-constants.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
METADATA_BOUNDARY_NAME: null,
|
|
OUTLET_BOUNDARY_NAME: null,
|
|
ROOT_LAYOUT_BOUNDARY_NAME: null,
|
|
VIEWPORT_BOUNDARY_NAME: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
METADATA_BOUNDARY_NAME: function() {
|
|
return METADATA_BOUNDARY_NAME;
|
|
},
|
|
OUTLET_BOUNDARY_NAME: function() {
|
|
return OUTLET_BOUNDARY_NAME;
|
|
},
|
|
ROOT_LAYOUT_BOUNDARY_NAME: function() {
|
|
return ROOT_LAYOUT_BOUNDARY_NAME;
|
|
},
|
|
VIEWPORT_BOUNDARY_NAME: function() {
|
|
return VIEWPORT_BOUNDARY_NAME;
|
|
}
|
|
});
|
|
const METADATA_BOUNDARY_NAME = '__next_metadata_boundary__';
|
|
const VIEWPORT_BOUNDARY_NAME = '__next_viewport_boundary__';
|
|
const OUTLET_BOUNDARY_NAME = '__next_outlet_boundary__';
|
|
const ROOT_LAYOUT_BOUNDARY_NAME = '__next_root_layout_boundary__'; //# sourceMappingURL=boundary-constants.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/scheduler.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
atLeastOneTask: null,
|
|
scheduleImmediate: null,
|
|
scheduleOnNextTick: null,
|
|
waitAtLeastOneReactRenderTask: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
atLeastOneTask: function() {
|
|
return atLeastOneTask;
|
|
},
|
|
scheduleImmediate: function() {
|
|
return scheduleImmediate;
|
|
},
|
|
scheduleOnNextTick: function() {
|
|
return scheduleOnNextTick;
|
|
},
|
|
waitAtLeastOneReactRenderTask: function() {
|
|
return waitAtLeastOneReactRenderTask;
|
|
}
|
|
});
|
|
const scheduleOnNextTick = (cb)=>{
|
|
// We use Promise.resolve().then() here so that the operation is scheduled at
|
|
// the end of the promise job queue, we then add it to the next process tick
|
|
// to ensure it's evaluated afterwards.
|
|
//
|
|
// This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255
|
|
//
|
|
Promise.resolve().then(()=>{
|
|
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
|
;
|
|
else {
|
|
process.nextTick(cb);
|
|
}
|
|
});
|
|
};
|
|
const scheduleImmediate = (cb)=>{
|
|
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
|
;
|
|
else {
|
|
setImmediate(cb);
|
|
}
|
|
};
|
|
function atLeastOneTask() {
|
|
return new Promise((resolve)=>scheduleImmediate(resolve));
|
|
}
|
|
function waitAtLeastOneReactRenderTask() {
|
|
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
|
;
|
|
else {
|
|
return new Promise((r)=>setImmediate(r));
|
|
}
|
|
} //# sourceMappingURL=scheduler.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/invariant-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "InvariantError", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return InvariantError;
|
|
}
|
|
});
|
|
class InvariantError extends Error {
|
|
constructor(message, options){
|
|
super(`Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`, options);
|
|
this.name = 'InvariantError';
|
|
}
|
|
} //# sourceMappingURL=invariant-error.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/promise-with-resolvers.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "createPromiseWithResolvers", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return createPromiseWithResolvers;
|
|
}
|
|
});
|
|
function createPromiseWithResolvers() {
|
|
// Shim of Stage 4 Promise.withResolvers proposal
|
|
let resolve;
|
|
let reject;
|
|
const promise = new Promise((res, rej)=>{
|
|
resolve = res;
|
|
reject = rej;
|
|
});
|
|
return {
|
|
resolve: resolve,
|
|
reject: reject,
|
|
promise
|
|
};
|
|
} //# sourceMappingURL=promise-with-resolvers.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/staged-rendering.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
RenderStage: null,
|
|
StagedRenderingController: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
RenderStage: function() {
|
|
return RenderStage;
|
|
},
|
|
StagedRenderingController: function() {
|
|
return StagedRenderingController;
|
|
}
|
|
});
|
|
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-ssr] (ecmascript)");
|
|
const _promisewithresolvers = __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/promise-with-resolvers.js [app-ssr] (ecmascript)");
|
|
var RenderStage = /*#__PURE__*/ function(RenderStage) {
|
|
RenderStage[RenderStage["Static"] = 1] = "Static";
|
|
RenderStage[RenderStage["Runtime"] = 2] = "Runtime";
|
|
RenderStage[RenderStage["Dynamic"] = 3] = "Dynamic";
|
|
return RenderStage;
|
|
}({});
|
|
class StagedRenderingController {
|
|
constructor(abortSignal = null){
|
|
this.abortSignal = abortSignal;
|
|
this.currentStage = 1;
|
|
this.runtimeStagePromise = (0, _promisewithresolvers.createPromiseWithResolvers)();
|
|
this.dynamicStagePromise = (0, _promisewithresolvers.createPromiseWithResolvers)();
|
|
if (abortSignal) {
|
|
abortSignal.addEventListener('abort', ()=>{
|
|
const { reason } = abortSignal;
|
|
if (this.currentStage < 2) {
|
|
this.runtimeStagePromise.promise.catch(ignoreReject) // avoid unhandled rejections
|
|
;
|
|
this.runtimeStagePromise.reject(reason);
|
|
}
|
|
if (this.currentStage < 3) {
|
|
this.dynamicStagePromise.promise.catch(ignoreReject) // avoid unhandled rejections
|
|
;
|
|
this.dynamicStagePromise.reject(reason);
|
|
}
|
|
}, {
|
|
once: true
|
|
});
|
|
}
|
|
}
|
|
advanceStage(stage) {
|
|
// If we're already at the target stage or beyond, do nothing.
|
|
// (this can happen e.g. if sync IO advanced us to the dynamic stage)
|
|
if (this.currentStage >= stage) {
|
|
return;
|
|
}
|
|
this.currentStage = stage;
|
|
// Note that we might be going directly from Static to Dynamic,
|
|
// so we need to resolve the runtime stage as well.
|
|
if (stage >= 2) {
|
|
this.runtimeStagePromise.resolve();
|
|
}
|
|
if (stage >= 3) {
|
|
this.dynamicStagePromise.resolve();
|
|
}
|
|
}
|
|
getStagePromise(stage) {
|
|
switch(stage){
|
|
case 2:
|
|
{
|
|
return this.runtimeStagePromise.promise;
|
|
}
|
|
case 3:
|
|
{
|
|
return this.dynamicStagePromise.promise;
|
|
}
|
|
default:
|
|
{
|
|
stage;
|
|
throw Object.defineProperty(new _invarianterror.InvariantError(`Invalid render stage: ${stage}`), "__NEXT_ERROR_CODE", {
|
|
value: "E881",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
}
|
|
}
|
|
waitForStage(stage) {
|
|
return this.getStagePromise(stage);
|
|
}
|
|
delayUntilStage(stage, displayName, resolvedValue) {
|
|
const ioTriggerPromise = this.getStagePromise(stage);
|
|
const promise = makeDevtoolsIOPromiseFromIOTrigger(ioTriggerPromise, displayName, resolvedValue);
|
|
// Analogously to `makeHangingPromise`, we might reject this promise if the signal is invoked.
|
|
// (e.g. in the case where we don't want want the render to proceed to the dynamic stage and abort it).
|
|
// We shouldn't consider this an unhandled rejection, so we attach a noop catch handler here to suppress this warning.
|
|
if (this.abortSignal) {
|
|
promise.catch(ignoreReject);
|
|
}
|
|
return promise;
|
|
}
|
|
}
|
|
function ignoreReject() {}
|
|
// TODO(restart-on-cache-miss): the layering of `delayUntilStage`,
|
|
// `makeDevtoolsIOPromiseFromIOTrigger` and and `makeDevtoolsIOAwarePromise`
|
|
// is confusing, we should clean it up.
|
|
function makeDevtoolsIOPromiseFromIOTrigger(ioTrigger, displayName, resolvedValue) {
|
|
// If we create a `new Promise` and give it a displayName
|
|
// (with no userspace code above us in the stack)
|
|
// React Devtools will use it as the IO cause when determining "suspended by".
|
|
// In particular, it should shadow any inner IO that resolved/rejected the promise
|
|
// (in case of staged rendering, this will be the `setTimeout` that triggers the relevant stage)
|
|
const promise = new Promise((resolve, reject)=>{
|
|
ioTrigger.then(resolve.bind(null, resolvedValue), reject);
|
|
});
|
|
if (displayName !== undefined) {
|
|
// @ts-expect-error
|
|
promise.displayName = displayName;
|
|
}
|
|
return promise;
|
|
} //# sourceMappingURL=staged-rendering.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-rendering.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
/**
|
|
* The functions provided by this module are used to communicate certain properties
|
|
* about the currently running code so that Next.js can make decisions on how to handle
|
|
* the current execution in different rendering modes such as pre-rendering, resuming, and SSR.
|
|
*
|
|
* Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering.
|
|
* Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts
|
|
* of a React tree as dynamic while still keeping other parts static. There are really two different kinds of
|
|
* Dynamic indications.
|
|
*
|
|
* The first is simply an intention to be dynamic. unstable_noStore is an example of this where
|
|
* the currently executing code simply declares that the current scope is dynamic but if you use it
|
|
* inside unstable_cache it can still be cached. This type of indication can be removed if we ever
|
|
* make the default dynamic to begin with because the only way you would ever be static is inside
|
|
* a cache scope which this indication does not affect.
|
|
*
|
|
* The second is an indication that a dynamic data source was read. This is a stronger form of dynamic
|
|
* because it means that it is inappropriate to cache this at all. using a dynamic data source inside
|
|
* unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should
|
|
* read that data outside the cache and pass it in as an argument to the cached function.
|
|
*/ Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
Postpone: null,
|
|
PreludeState: null,
|
|
abortAndThrowOnSynchronousRequestDataAccess: null,
|
|
abortOnSynchronousPlatformIOAccess: null,
|
|
accessedDynamicData: null,
|
|
annotateDynamicAccess: null,
|
|
consumeDynamicAccess: null,
|
|
createDynamicTrackingState: null,
|
|
createDynamicValidationState: null,
|
|
createHangingInputAbortSignal: null,
|
|
createRenderInBrowserAbortSignal: null,
|
|
delayUntilRuntimeStage: null,
|
|
formatDynamicAPIAccesses: null,
|
|
getFirstDynamicReason: null,
|
|
isDynamicPostpone: null,
|
|
isPrerenderInterruptedError: null,
|
|
logDisallowedDynamicError: null,
|
|
markCurrentScopeAsDynamic: null,
|
|
postponeWithTracking: null,
|
|
throwIfDisallowedDynamic: null,
|
|
throwToInterruptStaticGeneration: null,
|
|
trackAllowedDynamicAccess: null,
|
|
trackDynamicDataInDynamicRender: null,
|
|
trackSynchronousPlatformIOAccessInDev: null,
|
|
useDynamicRouteParams: null,
|
|
useDynamicSearchParams: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
Postpone: function() {
|
|
return Postpone;
|
|
},
|
|
PreludeState: function() {
|
|
return PreludeState;
|
|
},
|
|
abortAndThrowOnSynchronousRequestDataAccess: function() {
|
|
return abortAndThrowOnSynchronousRequestDataAccess;
|
|
},
|
|
abortOnSynchronousPlatformIOAccess: function() {
|
|
return abortOnSynchronousPlatformIOAccess;
|
|
},
|
|
accessedDynamicData: function() {
|
|
return accessedDynamicData;
|
|
},
|
|
annotateDynamicAccess: function() {
|
|
return annotateDynamicAccess;
|
|
},
|
|
consumeDynamicAccess: function() {
|
|
return consumeDynamicAccess;
|
|
},
|
|
createDynamicTrackingState: function() {
|
|
return createDynamicTrackingState;
|
|
},
|
|
createDynamicValidationState: function() {
|
|
return createDynamicValidationState;
|
|
},
|
|
createHangingInputAbortSignal: function() {
|
|
return createHangingInputAbortSignal;
|
|
},
|
|
createRenderInBrowserAbortSignal: function() {
|
|
return createRenderInBrowserAbortSignal;
|
|
},
|
|
delayUntilRuntimeStage: function() {
|
|
return delayUntilRuntimeStage;
|
|
},
|
|
formatDynamicAPIAccesses: function() {
|
|
return formatDynamicAPIAccesses;
|
|
},
|
|
getFirstDynamicReason: function() {
|
|
return getFirstDynamicReason;
|
|
},
|
|
isDynamicPostpone: function() {
|
|
return isDynamicPostpone;
|
|
},
|
|
isPrerenderInterruptedError: function() {
|
|
return isPrerenderInterruptedError;
|
|
},
|
|
logDisallowedDynamicError: function() {
|
|
return logDisallowedDynamicError;
|
|
},
|
|
markCurrentScopeAsDynamic: function() {
|
|
return markCurrentScopeAsDynamic;
|
|
},
|
|
postponeWithTracking: function() {
|
|
return postponeWithTracking;
|
|
},
|
|
throwIfDisallowedDynamic: function() {
|
|
return throwIfDisallowedDynamic;
|
|
},
|
|
throwToInterruptStaticGeneration: function() {
|
|
return throwToInterruptStaticGeneration;
|
|
},
|
|
trackAllowedDynamicAccess: function() {
|
|
return trackAllowedDynamicAccess;
|
|
},
|
|
trackDynamicDataInDynamicRender: function() {
|
|
return trackDynamicDataInDynamicRender;
|
|
},
|
|
trackSynchronousPlatformIOAccessInDev: function() {
|
|
return trackSynchronousPlatformIOAccessInDev;
|
|
},
|
|
useDynamicRouteParams: function() {
|
|
return useDynamicRouteParams;
|
|
},
|
|
useDynamicSearchParams: function() {
|
|
return useDynamicSearchParams;
|
|
}
|
|
});
|
|
const _react = /*#__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/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)"));
|
|
const _hooksservercontext = __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/hooks-server-context.js [app-ssr] (ecmascript)");
|
|
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-ssr] (ecmascript)");
|
|
const _workunitasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)");
|
|
const _workasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)");
|
|
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-ssr] (ecmascript)");
|
|
const _boundaryconstants = __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/lib/framework/boundary-constants.js [app-ssr] (ecmascript)");
|
|
const _scheduler = __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/lib/scheduler.js [app-ssr] (ecmascript)");
|
|
const _bailouttocsr = __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/lazy-dynamic/bailout-to-csr.js [app-ssr] (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-ssr] (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-ssr] (ecmascript)");
|
|
function _interop_require_default(obj) {
|
|
return obj && obj.__esModule ? obj : {
|
|
default: obj
|
|
};
|
|
}
|
|
const hasPostpone = typeof _react.default.unstable_postpone === 'function';
|
|
function createDynamicTrackingState(isDebugDynamicAccesses) {
|
|
return {
|
|
isDebugDynamicAccesses,
|
|
dynamicAccesses: [],
|
|
syncDynamicErrorWithStack: null
|
|
};
|
|
}
|
|
function createDynamicValidationState() {
|
|
return {
|
|
hasSuspenseAboveBody: false,
|
|
hasDynamicMetadata: false,
|
|
hasDynamicViewport: false,
|
|
hasAllowedDynamic: false,
|
|
dynamicErrors: []
|
|
};
|
|
}
|
|
function getFirstDynamicReason(trackingState) {
|
|
var _trackingState_dynamicAccesses_;
|
|
return (_trackingState_dynamicAccesses_ = trackingState.dynamicAccesses[0]) == null ? void 0 : _trackingState_dynamicAccesses_.expression;
|
|
}
|
|
function markCurrentScopeAsDynamic(store, workUnitStore, expression) {
|
|
if (workUnitStore) {
|
|
switch(workUnitStore.type){
|
|
case 'cache':
|
|
case 'unstable-cache':
|
|
// Inside cache scopes, marking a scope as dynamic has no effect,
|
|
// because the outer cache scope creates a cache boundary. This is
|
|
// subtly different from reading a dynamic data source, which is
|
|
// forbidden inside a cache scope.
|
|
return;
|
|
case 'private-cache':
|
|
// A private cache scope is already dynamic by definition.
|
|
return;
|
|
case 'prerender-legacy':
|
|
case 'prerender-ppr':
|
|
case 'request':
|
|
break;
|
|
default:
|
|
workUnitStore;
|
|
}
|
|
}
|
|
// If we're forcing dynamic rendering or we're forcing static rendering, we
|
|
// don't need to do anything here because the entire page is already dynamic
|
|
// or it's static and it should not throw or postpone here.
|
|
if (store.forceDynamic || store.forceStatic) return;
|
|
if (store.dynamicShouldError) {
|
|
throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${store.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: "E553",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
if (workUnitStore) {
|
|
switch(workUnitStore.type){
|
|
case 'prerender-ppr':
|
|
return postponeWithTracking(store.route, expression, workUnitStore.dynamicTracking);
|
|
case 'prerender-legacy':
|
|
workUnitStore.revalidate = 0;
|
|
// We aren't prerendering, but we are generating a static page. We need
|
|
// to bail out of static generation.
|
|
const err = Object.defineProperty(new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), "__NEXT_ERROR_CODE", {
|
|
value: "E550",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
store.dynamicUsageDescription = expression;
|
|
store.dynamicUsageStack = err.stack;
|
|
throw err;
|
|
case 'request':
|
|
if ("TURBOPACK compile-time truthy", 1) {
|
|
workUnitStore.usedDynamic = true;
|
|
}
|
|
break;
|
|
default:
|
|
workUnitStore;
|
|
}
|
|
}
|
|
}
|
|
function throwToInterruptStaticGeneration(expression, store, prerenderStore) {
|
|
// We aren't prerendering but we are generating a static page. We need to bail out of static generation
|
|
const err = Object.defineProperty(new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used \`${expression}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), "__NEXT_ERROR_CODE", {
|
|
value: "E558",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
prerenderStore.revalidate = 0;
|
|
store.dynamicUsageDescription = expression;
|
|
store.dynamicUsageStack = err.stack;
|
|
throw err;
|
|
}
|
|
function trackDynamicDataInDynamicRender(workUnitStore) {
|
|
switch(workUnitStore.type){
|
|
case 'cache':
|
|
case 'unstable-cache':
|
|
// Inside cache scopes, marking a scope as dynamic has no effect,
|
|
// because the outer cache scope creates a cache boundary. This is
|
|
// subtly different from reading a dynamic data source, which is
|
|
// forbidden inside a cache scope.
|
|
return;
|
|
case 'private-cache':
|
|
// A private cache scope is already dynamic by definition.
|
|
return;
|
|
case 'prerender':
|
|
case 'prerender-runtime':
|
|
case 'prerender-legacy':
|
|
case 'prerender-ppr':
|
|
case 'prerender-client':
|
|
break;
|
|
case 'request':
|
|
if ("TURBOPACK compile-time truthy", 1) {
|
|
workUnitStore.usedDynamic = true;
|
|
}
|
|
break;
|
|
default:
|
|
workUnitStore;
|
|
}
|
|
}
|
|
function abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore) {
|
|
const reason = `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`;
|
|
const error = createPrerenderInterruptedError(reason);
|
|
prerenderStore.controller.abort(error);
|
|
const dynamicTracking = prerenderStore.dynamicTracking;
|
|
if (dynamicTracking) {
|
|
dynamicTracking.dynamicAccesses.push({
|
|
// When we aren't debugging, we don't need to create another error for the
|
|
// stack trace.
|
|
stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,
|
|
expression
|
|
});
|
|
}
|
|
}
|
|
function abortOnSynchronousPlatformIOAccess(route, expression, errorWithStack, prerenderStore) {
|
|
const dynamicTracking = prerenderStore.dynamicTracking;
|
|
abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore);
|
|
// It is important that we set this tracking value after aborting. Aborts are executed
|
|
// synchronously except for the case where you abort during render itself. By setting this
|
|
// value late we can use it to determine if any of the aborted tasks are the task that
|
|
// called the sync IO expression in the first place.
|
|
if (dynamicTracking) {
|
|
if (dynamicTracking.syncDynamicErrorWithStack === null) {
|
|
dynamicTracking.syncDynamicErrorWithStack = errorWithStack;
|
|
}
|
|
}
|
|
}
|
|
function trackSynchronousPlatformIOAccessInDev(requestStore) {
|
|
// We don't actually have a controller to abort but we do the semantic equivalent by
|
|
// advancing the request store out of the prerender stage
|
|
if (requestStore.stagedRendering) {
|
|
// TODO: error for sync IO in the runtime stage
|
|
// (which is not currently covered by the validation render in `spawnDynamicValidationInDev`)
|
|
requestStore.stagedRendering.advanceStage(_stagedrendering.RenderStage.Dynamic);
|
|
}
|
|
}
|
|
function abortAndThrowOnSynchronousRequestDataAccess(route, expression, errorWithStack, prerenderStore) {
|
|
const prerenderSignal = prerenderStore.controller.signal;
|
|
if (prerenderSignal.aborted === false) {
|
|
// TODO it would be better to move this aborted check into the callsite so we can avoid making
|
|
// the error object when it isn't relevant to the aborting of the prerender however
|
|
// since we need the throw semantics regardless of whether we abort it is easier to land
|
|
// this way. See how this was handled with `abortOnSynchronousPlatformIOAccess` for a closer
|
|
// to ideal implementation
|
|
abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore);
|
|
// It is important that we set this tracking value after aborting. Aborts are executed
|
|
// synchronously except for the case where you abort during render itself. By setting this
|
|
// value late we can use it to determine if any of the aborted tasks are the task that
|
|
// called the sync IO expression in the first place.
|
|
const dynamicTracking = prerenderStore.dynamicTracking;
|
|
if (dynamicTracking) {
|
|
if (dynamicTracking.syncDynamicErrorWithStack === null) {
|
|
dynamicTracking.syncDynamicErrorWithStack = errorWithStack;
|
|
}
|
|
}
|
|
}
|
|
throw createPrerenderInterruptedError(`Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`);
|
|
}
|
|
function Postpone({ reason, route }) {
|
|
const prerenderStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
|
|
const dynamicTracking = prerenderStore && prerenderStore.type === 'prerender-ppr' ? prerenderStore.dynamicTracking : null;
|
|
postponeWithTracking(route, reason, dynamicTracking);
|
|
}
|
|
function postponeWithTracking(route, expression, dynamicTracking) {
|
|
assertPostpone();
|
|
if (dynamicTracking) {
|
|
dynamicTracking.dynamicAccesses.push({
|
|
// When we aren't debugging, we don't need to create another error for the
|
|
// stack trace.
|
|
stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,
|
|
expression
|
|
});
|
|
}
|
|
_react.default.unstable_postpone(createPostponeReason(route, expression));
|
|
}
|
|
function createPostponeReason(route, expression) {
|
|
return `Route ${route} needs to bail out of prerendering at this point because it used ${expression}. ` + `React throws this special object to indicate where. It should not be caught by ` + `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;
|
|
}
|
|
function isDynamicPostpone(err) {
|
|
if (typeof err === 'object' && err !== null && typeof err.message === 'string') {
|
|
return isDynamicPostponeReason(err.message);
|
|
}
|
|
return false;
|
|
}
|
|
function isDynamicPostponeReason(reason) {
|
|
return reason.includes('needs to bail out of prerendering at this point because it used') && reason.includes('Learn more: https://nextjs.org/docs/messages/ppr-caught-error');
|
|
}
|
|
if (isDynamicPostponeReason(createPostponeReason('%%%', '^^^')) === false) {
|
|
throw Object.defineProperty(new Error('Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
|
|
value: "E296",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
const NEXT_PRERENDER_INTERRUPTED = 'NEXT_PRERENDER_INTERRUPTED';
|
|
function createPrerenderInterruptedError(message) {
|
|
const error = Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
|
|
value: "E394",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
error.digest = NEXT_PRERENDER_INTERRUPTED;
|
|
return error;
|
|
}
|
|
function isPrerenderInterruptedError(error) {
|
|
return typeof error === 'object' && error !== null && error.digest === NEXT_PRERENDER_INTERRUPTED && 'name' in error && 'message' in error && error instanceof Error;
|
|
}
|
|
function accessedDynamicData(dynamicAccesses) {
|
|
return dynamicAccesses.length > 0;
|
|
}
|
|
function consumeDynamicAccess(serverDynamic, clientDynamic) {
|
|
// We mutate because we only call this once we are no longer writing
|
|
// to the dynamicTrackingState and it's more efficient than creating a new
|
|
// array.
|
|
serverDynamic.dynamicAccesses.push(...clientDynamic.dynamicAccesses);
|
|
return serverDynamic.dynamicAccesses;
|
|
}
|
|
function formatDynamicAPIAccesses(dynamicAccesses) {
|
|
return dynamicAccesses.filter((access)=>typeof access.stack === 'string' && access.stack.length > 0).map(({ expression, stack })=>{
|
|
stack = stack.split('\n') // Remove the "Error: " prefix from the first line of the stack trace as
|
|
// well as the first 4 lines of the stack trace which is the distance
|
|
// from the user code and the `new Error().stack` call.
|
|
.slice(4).filter((line)=>{
|
|
// Exclude Next.js internals from the stack trace.
|
|
if (line.includes('node_modules/next/')) {
|
|
return false;
|
|
}
|
|
// Exclude anonymous functions from the stack trace.
|
|
if (line.includes(' (<anonymous>)')) {
|
|
return false;
|
|
}
|
|
// Exclude Node.js internals from the stack trace.
|
|
if (line.includes(' (node:')) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}).join('\n');
|
|
return `Dynamic API Usage Debug - ${expression}:\n${stack}`;
|
|
});
|
|
}
|
|
function assertPostpone() {
|
|
if (!hasPostpone) {
|
|
throw Object.defineProperty(new Error(`Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`), "__NEXT_ERROR_CODE", {
|
|
value: "E224",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
}
|
|
function createRenderInBrowserAbortSignal() {
|
|
const controller = new AbortController();
|
|
controller.abort(Object.defineProperty(new _bailouttocsr.BailoutToCSRError('Render in Browser'), "__NEXT_ERROR_CODE", {
|
|
value: "E721",
|
|
enumerable: false,
|
|
configurable: true
|
|
}));
|
|
return controller.signal;
|
|
}
|
|
function createHangingInputAbortSignal(workUnitStore) {
|
|
switch(workUnitStore.type){
|
|
case 'prerender':
|
|
case 'prerender-runtime':
|
|
const controller = new AbortController();
|
|
if (workUnitStore.cacheSignal) {
|
|
// If we have a cacheSignal it means we're in a prospective render. If
|
|
// the input we're waiting on is coming from another cache, we do want
|
|
// to wait for it so that we can resolve this cache entry too.
|
|
workUnitStore.cacheSignal.inputReady().then(()=>{
|
|
controller.abort();
|
|
});
|
|
} else {
|
|
// Otherwise we're in the final render and we should already have all
|
|
// our caches filled.
|
|
// If the prerender uses stages, we have wait until the runtime stage,
|
|
// at which point all runtime inputs will be resolved.
|
|
// (otherwise, a runtime prerender might consider `cookies()` hanging
|
|
// even though they'd resolve in the next task.)
|
|
//
|
|
// We might still be waiting on some microtasks so we
|
|
// wait one tick before giving up. When we give up, we still want to
|
|
// render the content of this cache as deeply as we can so that we can
|
|
// suspend as deeply as possible in the tree or not at all if we don't
|
|
// end up waiting for the input.
|
|
const runtimeStagePromise = (0, _workunitasyncstorageexternal.getRuntimeStagePromise)(workUnitStore);
|
|
if (runtimeStagePromise) {
|
|
runtimeStagePromise.then(()=>(0, _scheduler.scheduleOnNextTick)(()=>controller.abort()));
|
|
} else {
|
|
(0, _scheduler.scheduleOnNextTick)(()=>controller.abort());
|
|
}
|
|
}
|
|
return controller.signal;
|
|
case 'prerender-client':
|
|
case 'prerender-ppr':
|
|
case 'prerender-legacy':
|
|
case 'request':
|
|
case 'cache':
|
|
case 'private-cache':
|
|
case 'unstable-cache':
|
|
return undefined;
|
|
default:
|
|
workUnitStore;
|
|
}
|
|
}
|
|
function annotateDynamicAccess(expression, prerenderStore) {
|
|
const dynamicTracking = prerenderStore.dynamicTracking;
|
|
if (dynamicTracking) {
|
|
dynamicTracking.dynamicAccesses.push({
|
|
stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,
|
|
expression
|
|
});
|
|
}
|
|
}
|
|
function useDynamicRouteParams(expression) {
|
|
const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
|
|
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
|
|
if (workStore && workUnitStore) {
|
|
switch(workUnitStore.type){
|
|
case 'prerender-client':
|
|
case 'prerender':
|
|
{
|
|
const fallbackParams = workUnitStore.fallbackRouteParams;
|
|
if (fallbackParams && fallbackParams.size > 0) {
|
|
// We are in a prerender with cacheComponents semantics. We are going to
|
|
// hang here and never resolve. This will cause the currently
|
|
// rendering component to effectively be a dynamic hole.
|
|
_react.default.use((0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, expression));
|
|
}
|
|
break;
|
|
}
|
|
case 'prerender-ppr':
|
|
{
|
|
const fallbackParams = workUnitStore.fallbackRouteParams;
|
|
if (fallbackParams && fallbackParams.size > 0) {
|
|
return postponeWithTracking(workStore.route, expression, workUnitStore.dynamicTracking);
|
|
}
|
|
break;
|
|
}
|
|
case 'prerender-runtime':
|
|
throw Object.defineProperty(new _invarianterror.InvariantError(`\`${expression}\` was called during a runtime prerender. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), "__NEXT_ERROR_CODE", {
|
|
value: "E771",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
case 'cache':
|
|
case 'private-cache':
|
|
throw Object.defineProperty(new _invarianterror.InvariantError(`\`${expression}\` was called inside a cache scope. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), "__NEXT_ERROR_CODE", {
|
|
value: "E745",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
case 'prerender-legacy':
|
|
case 'request':
|
|
case 'unstable-cache':
|
|
break;
|
|
default:
|
|
workUnitStore;
|
|
}
|
|
}
|
|
}
|
|
function useDynamicSearchParams(expression) {
|
|
const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
|
|
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
|
|
if (!workStore) {
|
|
// We assume pages router context and just return
|
|
return;
|
|
}
|
|
if (!workUnitStore) {
|
|
(0, _workunitasyncstorageexternal.throwForMissingRequestStore)(expression);
|
|
}
|
|
switch(workUnitStore.type){
|
|
case 'prerender-client':
|
|
{
|
|
_react.default.use((0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, expression));
|
|
break;
|
|
}
|
|
case 'prerender-legacy':
|
|
case 'prerender-ppr':
|
|
{
|
|
if (workStore.forceStatic) {
|
|
return;
|
|
}
|
|
throw Object.defineProperty(new _bailouttocsr.BailoutToCSRError(expression), "__NEXT_ERROR_CODE", {
|
|
value: "E394",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
case 'prerender':
|
|
case 'prerender-runtime':
|
|
throw Object.defineProperty(new _invarianterror.InvariantError(`\`${expression}\` was called from a Server Component. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), "__NEXT_ERROR_CODE", {
|
|
value: "E795",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
case 'cache':
|
|
case 'unstable-cache':
|
|
case 'private-cache':
|
|
throw Object.defineProperty(new _invarianterror.InvariantError(`\`${expression}\` was called inside a cache scope. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), "__NEXT_ERROR_CODE", {
|
|
value: "E745",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
case 'request':
|
|
return;
|
|
default:
|
|
workUnitStore;
|
|
}
|
|
}
|
|
const hasSuspenseRegex = /\n\s+at Suspense \(<anonymous>\)/;
|
|
// Common implicit body tags that React will treat as body when placed directly in html
|
|
const bodyAndImplicitTags = 'body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6';
|
|
// Detects when RootLayoutBoundary (our framework marker component) appears
|
|
// after Suspense in the component stack, indicating the root layout is wrapped
|
|
// within a Suspense boundary. Ensures no body/html/implicit-body components are in between.
|
|
//
|
|
// Example matches:
|
|
// at Suspense (<anonymous>)
|
|
// at __next_root_layout_boundary__ (<anonymous>)
|
|
//
|
|
// Or with other components in between (but not body/html/implicit-body):
|
|
// at Suspense (<anonymous>)
|
|
// at SomeComponent (<anonymous>)
|
|
// at __next_root_layout_boundary__ (<anonymous>)
|
|
const hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex = new RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:${bodyAndImplicitTags}) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${_boundaryconstants.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`);
|
|
const hasMetadataRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.METADATA_BOUNDARY_NAME}[\\n\\s]`);
|
|
const hasViewportRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`);
|
|
const hasOutletRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.OUTLET_BOUNDARY_NAME}[\\n\\s]`);
|
|
function trackAllowedDynamicAccess(workStore, componentStack, dynamicValidation, clientDynamic) {
|
|
if (hasOutletRegex.test(componentStack)) {
|
|
// We don't need to track that this is dynamic. It is only so when something else is also dynamic.
|
|
return;
|
|
} else if (hasMetadataRegex.test(componentStack)) {
|
|
dynamicValidation.hasDynamicMetadata = true;
|
|
return;
|
|
} else if (hasViewportRegex.test(componentStack)) {
|
|
dynamicValidation.hasDynamicViewport = true;
|
|
return;
|
|
} else if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) {
|
|
// For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule.
|
|
// But if you have Suspense above body, the prelude is empty but we allow that because having Suspense
|
|
// is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering.
|
|
dynamicValidation.hasAllowedDynamic = true;
|
|
dynamicValidation.hasSuspenseAboveBody = true;
|
|
return;
|
|
} else if (hasSuspenseRegex.test(componentStack)) {
|
|
// this error had a Suspense boundary above it so we don't need to report it as a source
|
|
// of disallowed
|
|
dynamicValidation.hasAllowedDynamic = true;
|
|
return;
|
|
} else if (clientDynamic.syncDynamicErrorWithStack) {
|
|
// This task was the task that called the sync error.
|
|
dynamicValidation.dynamicErrors.push(clientDynamic.syncDynamicErrorWithStack);
|
|
return;
|
|
} else {
|
|
const message = `Route "${workStore.route}": Uncached data was accessed outside of ` + '<Suspense>. This delays the entire page from rendering, resulting in a ' + 'slow user experience. Learn more: ' + 'https://nextjs.org/docs/messages/blocking-route';
|
|
const error = createErrorWithComponentOrOwnerStack(message, componentStack);
|
|
dynamicValidation.dynamicErrors.push(error);
|
|
return;
|
|
}
|
|
}
|
|
/**
|
|
* In dev mode, we prefer using the owner stack, otherwise the provided
|
|
* component stack is used.
|
|
*/ function createErrorWithComponentOrOwnerStack(message, componentStack) {
|
|
const ownerStack = ("TURBOPACK compile-time value", "development") !== 'production' && _react.default.captureOwnerStack ? _react.default.captureOwnerStack() : null;
|
|
const error = Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
|
|
value: "E394",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
error.stack = error.name + ': ' + message + (ownerStack ?? componentStack);
|
|
return error;
|
|
}
|
|
var PreludeState = /*#__PURE__*/ function(PreludeState) {
|
|
PreludeState[PreludeState["Full"] = 0] = "Full";
|
|
PreludeState[PreludeState["Empty"] = 1] = "Empty";
|
|
PreludeState[PreludeState["Errored"] = 2] = "Errored";
|
|
return PreludeState;
|
|
}({});
|
|
function logDisallowedDynamicError(workStore, error) {
|
|
console.error(error);
|
|
if (!workStore.dev) {
|
|
if (workStore.hasReadableErrorStacks) {
|
|
console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \`next dev\`, then open "${workStore.route}" in your browser to investigate the error.`);
|
|
} else {
|
|
console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
|
|
- Start the app in development mode by running \`next dev\`, then open "${workStore.route}" in your browser to investigate the error.
|
|
- Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`);
|
|
}
|
|
}
|
|
}
|
|
function throwIfDisallowedDynamic(workStore, prelude, dynamicValidation, serverDynamic) {
|
|
if (serverDynamic.syncDynamicErrorWithStack) {
|
|
logDisallowedDynamicError(workStore, serverDynamic.syncDynamicErrorWithStack);
|
|
throw new _staticgenerationbailout.StaticGenBailoutError();
|
|
}
|
|
if (prelude !== 0) {
|
|
if (dynamicValidation.hasSuspenseAboveBody) {
|
|
// This route has opted into allowing fully dynamic rendering
|
|
// by including a Suspense boundary above the body. In this case
|
|
// a lack of a shell is not considered disallowed so we simply return
|
|
return;
|
|
}
|
|
// We didn't have any sync bailouts but there may be user code which
|
|
// blocked the root. We would have captured these during the prerender
|
|
// and can log them here and then terminate the build/validating render
|
|
const dynamicErrors = dynamicValidation.dynamicErrors;
|
|
if (dynamicErrors.length > 0) {
|
|
for(let i = 0; i < dynamicErrors.length; i++){
|
|
logDisallowedDynamicError(workStore, dynamicErrors[i]);
|
|
}
|
|
throw new _staticgenerationbailout.StaticGenBailoutError();
|
|
}
|
|
// If we got this far then the only other thing that could be blocking
|
|
// the root is dynamic Viewport. If this is dynamic then
|
|
// you need to opt into that by adding a Suspense boundary above the body
|
|
// to indicate your are ok with fully dynamic rendering.
|
|
if (dynamicValidation.hasDynamicViewport) {
|
|
console.error(`Route "${workStore.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`);
|
|
throw new _staticgenerationbailout.StaticGenBailoutError();
|
|
}
|
|
if (prelude === 1) {
|
|
// If we ever get this far then we messed up the tracking of invalid dynamic.
|
|
// We still adhere to the constraint that you must produce a shell but invite the
|
|
// user to report this as a bug in Next.js.
|
|
console.error(`Route "${workStore.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`);
|
|
throw new _staticgenerationbailout.StaticGenBailoutError();
|
|
}
|
|
} else {
|
|
if (dynamicValidation.hasAllowedDynamic === false && dynamicValidation.hasDynamicMetadata) {
|
|
console.error(`Route "${workStore.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`);
|
|
throw new _staticgenerationbailout.StaticGenBailoutError();
|
|
}
|
|
}
|
|
}
|
|
function delayUntilRuntimeStage(prerenderStore, result) {
|
|
if (prerenderStore.runtimeStagePromise) {
|
|
return prerenderStore.runtimeStagePromise.then(()=>result);
|
|
}
|
|
return result;
|
|
} //# sourceMappingURL=dynamic-rendering.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/unstable-rethrow.server.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "unstable_rethrow", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return unstable_rethrow;
|
|
}
|
|
});
|
|
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-ssr] (ecmascript)");
|
|
const _ispostpone = __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/lib/router-utils/is-postpone.js [app-ssr] (ecmascript)");
|
|
const _bailouttocsr = __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/lazy-dynamic/bailout-to-csr.js [app-ssr] (ecmascript)");
|
|
const _isnextroutererror = __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/is-next-router-error.js [app-ssr] (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-ssr] (ecmascript)");
|
|
const _hooksservercontext = __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/hooks-server-context.js [app-ssr] (ecmascript)");
|
|
function unstable_rethrow(error) {
|
|
if ((0, _isnextroutererror.isNextRouterError)(error) || (0, _bailouttocsr.isBailoutToCSRError)(error) || (0, _hooksservercontext.isDynamicServerError)(error) || (0, _dynamicrendering.isDynamicPostpone)(error) || (0, _ispostpone.isPostpone)(error) || (0, _dynamicrenderingutils.isHangingPromiseRejectionError)(error) || (0, _dynamicrendering.isPrerenderInterruptedError)(error)) {
|
|
throw error;
|
|
}
|
|
if (error instanceof Error && 'cause' in error) {
|
|
unstable_rethrow(error.cause);
|
|
}
|
|
}
|
|
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=unstable-rethrow.server.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/unstable-rethrow.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
/**
|
|
* This function should be used to rethrow internal Next.js errors so that they can be handled by the framework.
|
|
* When wrapping an API that uses errors to interrupt control flow, you should use this function before you do any error handling.
|
|
* This function will rethrow the error if it is a Next.js error so it can be handled, otherwise it will do nothing.
|
|
*
|
|
* Read more: [Next.js Docs: `unstable_rethrow`](https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow)
|
|
*/ Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "unstable_rethrow", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return unstable_rethrow;
|
|
}
|
|
});
|
|
const unstable_rethrow = ("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/components/unstable-rethrow.server.js [app-ssr] (ecmascript)").unstable_rethrow : "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=unstable-rethrow.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/navigation.react-server.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
ReadonlyURLSearchParams: null,
|
|
RedirectType: null,
|
|
forbidden: null,
|
|
notFound: null,
|
|
permanentRedirect: null,
|
|
redirect: null,
|
|
unauthorized: null,
|
|
unstable_isUnrecognizedActionError: null,
|
|
unstable_rethrow: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
ReadonlyURLSearchParams: function() {
|
|
return _readonlyurlsearchparams.ReadonlyURLSearchParams;
|
|
},
|
|
RedirectType: function() {
|
|
return _redirecterror.RedirectType;
|
|
},
|
|
forbidden: function() {
|
|
return _forbidden.forbidden;
|
|
},
|
|
notFound: function() {
|
|
return _notfound.notFound;
|
|
},
|
|
permanentRedirect: function() {
|
|
return _redirect.permanentRedirect;
|
|
},
|
|
redirect: function() {
|
|
return _redirect.redirect;
|
|
},
|
|
unauthorized: function() {
|
|
return _unauthorized.unauthorized;
|
|
},
|
|
unstable_isUnrecognizedActionError: function() {
|
|
return unstable_isUnrecognizedActionError;
|
|
},
|
|
unstable_rethrow: function() {
|
|
return _unstablerethrow.unstable_rethrow;
|
|
}
|
|
});
|
|
const _readonlyurlsearchparams = __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/readonly-url-search-params.js [app-ssr] (ecmascript)");
|
|
const _redirect = __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.js [app-ssr] (ecmascript)");
|
|
const _redirecterror = __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-error.js [app-ssr] (ecmascript)");
|
|
const _notfound = __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/not-found.js [app-ssr] (ecmascript)");
|
|
const _forbidden = __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/forbidden.js [app-ssr] (ecmascript)");
|
|
const _unauthorized = __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/unauthorized.js [app-ssr] (ecmascript)");
|
|
const _unstablerethrow = __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/unstable-rethrow.js [app-ssr] (ecmascript)");
|
|
function unstable_isUnrecognizedActionError() {
|
|
throw Object.defineProperty(new Error('`unstable_isUnrecognizedActionError` can only be used on the client.'), "__NEXT_ERROR_CODE", {
|
|
value: "E776",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
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=navigation.react-server.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/navigation.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
ReadonlyURLSearchParams: null,
|
|
RedirectType: null,
|
|
ServerInsertedHTMLContext: null,
|
|
forbidden: null,
|
|
notFound: null,
|
|
permanentRedirect: null,
|
|
redirect: null,
|
|
unauthorized: null,
|
|
unstable_isUnrecognizedActionError: null,
|
|
unstable_rethrow: null,
|
|
useParams: null,
|
|
usePathname: null,
|
|
useRouter: null,
|
|
useSearchParams: null,
|
|
useSelectedLayoutSegment: null,
|
|
useSelectedLayoutSegments: null,
|
|
useServerInsertedHTML: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
ReadonlyURLSearchParams: function() {
|
|
return _navigationreactserver.ReadonlyURLSearchParams;
|
|
},
|
|
RedirectType: function() {
|
|
return _navigationreactserver.RedirectType;
|
|
},
|
|
ServerInsertedHTMLContext: function() {
|
|
return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;
|
|
},
|
|
forbidden: function() {
|
|
return _navigationreactserver.forbidden;
|
|
},
|
|
notFound: function() {
|
|
return _navigationreactserver.notFound;
|
|
},
|
|
permanentRedirect: function() {
|
|
return _navigationreactserver.permanentRedirect;
|
|
},
|
|
redirect: function() {
|
|
return _navigationreactserver.redirect;
|
|
},
|
|
unauthorized: function() {
|
|
return _navigationreactserver.unauthorized;
|
|
},
|
|
unstable_isUnrecognizedActionError: function() {
|
|
return _unrecognizedactionerror.unstable_isUnrecognizedActionError;
|
|
},
|
|
unstable_rethrow: function() {
|
|
return _navigationreactserver.unstable_rethrow;
|
|
},
|
|
useParams: function() {
|
|
return useParams;
|
|
},
|
|
usePathname: function() {
|
|
return usePathname;
|
|
},
|
|
useRouter: function() {
|
|
return useRouter;
|
|
},
|
|
useSearchParams: function() {
|
|
return useSearchParams;
|
|
},
|
|
useSelectedLayoutSegment: function() {
|
|
return useSelectedLayoutSegment;
|
|
},
|
|
useSelectedLayoutSegments: function() {
|
|
return useSelectedLayoutSegments;
|
|
},
|
|
useServerInsertedHTML: function() {
|
|
return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;
|
|
}
|
|
});
|
|
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-ssr] (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/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (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/server/route-modules/app-page/vendored/contexts/app-router-context.js [app-ssr] (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/server/route-modules/app-page/vendored/contexts/hooks-client-context.js [app-ssr] (ecmascript)");
|
|
const _segment = __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/segment.js [app-ssr] (ecmascript)");
|
|
const _readonlyurlsearchparams = __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/readonly-url-search-params.js [app-ssr] (ecmascript)");
|
|
const _serverinsertedhtmlsharedruntime = __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/route-modules/app-page/vendored/contexts/server-inserted-html.js [app-ssr] (ecmascript)");
|
|
const _unrecognizedactionerror = __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/unrecognized-action-error.js [app-ssr] (ecmascript)");
|
|
const _navigationreactserver = __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.react-server.js [app-ssr] (ecmascript)");
|
|
const useDynamicRouteParams = ("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/server/app-render/dynamic-rendering.js [app-ssr] (ecmascript)").useDynamicRouteParams : "TURBOPACK unreachable";
|
|
const useDynamicSearchParams = ("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/server/app-render/dynamic-rendering.js [app-ssr] (ecmascript)").useDynamicSearchParams : "TURBOPACK unreachable";
|
|
function useSearchParams() {
|
|
useDynamicSearchParams?.('useSearchParams()');
|
|
const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);
|
|
// In the case where this is `null`, the compat types added in
|
|
// `next-env.d.ts` will add a new overload that changes the return type to
|
|
// include `null`.
|
|
const readonlySearchParams = (0, _react.useMemo)(()=>{
|
|
if (!searchParams) {
|
|
// When the router is not ready in pages, we won't have the search params
|
|
// available.
|
|
return null;
|
|
}
|
|
return new _readonlyurlsearchparams.ReadonlyURLSearchParams(searchParams);
|
|
}, [
|
|
searchParams
|
|
]);
|
|
// Instrument with Suspense DevTools (dev-only)
|
|
if (("TURBOPACK compile-time value", "development") !== 'production' && 'use' in _react.default) {
|
|
const navigationPromises = (0, _react.use)(_hooksclientcontextsharedruntime.NavigationPromisesContext);
|
|
if (navigationPromises) {
|
|
return (0, _react.use)(navigationPromises.searchParams);
|
|
}
|
|
}
|
|
return readonlySearchParams;
|
|
}
|
|
function usePathname() {
|
|
useDynamicRouteParams?.('usePathname()');
|
|
// In the case where this is `null`, the compat types added in `next-env.d.ts`
|
|
// will add a new overload that changes the return type to include `null`.
|
|
const pathname = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);
|
|
// Instrument with Suspense DevTools (dev-only)
|
|
if (("TURBOPACK compile-time value", "development") !== 'production' && 'use' in _react.default) {
|
|
const navigationPromises = (0, _react.use)(_hooksclientcontextsharedruntime.NavigationPromisesContext);
|
|
if (navigationPromises) {
|
|
return (0, _react.use)(navigationPromises.pathname);
|
|
}
|
|
}
|
|
return pathname;
|
|
}
|
|
function useRouter() {
|
|
const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);
|
|
if (router === null) {
|
|
throw Object.defineProperty(new Error('invariant expected app router to be mounted'), "__NEXT_ERROR_CODE", {
|
|
value: "E238",
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
}
|
|
return router;
|
|
}
|
|
function useParams() {
|
|
useDynamicRouteParams?.('useParams()');
|
|
const params = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);
|
|
// Instrument with Suspense DevTools (dev-only)
|
|
if (("TURBOPACK compile-time value", "development") !== 'production' && 'use' in _react.default) {
|
|
const navigationPromises = (0, _react.use)(_hooksclientcontextsharedruntime.NavigationPromisesContext);
|
|
if (navigationPromises) {
|
|
return (0, _react.use)(navigationPromises.params);
|
|
}
|
|
}
|
|
return params;
|
|
}
|
|
function useSelectedLayoutSegments(parallelRouteKey = 'children') {
|
|
useDynamicRouteParams?.('useSelectedLayoutSegments()');
|
|
const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);
|
|
// @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts
|
|
if (!context) return null;
|
|
// Instrument with Suspense DevTools (dev-only)
|
|
if (("TURBOPACK compile-time value", "development") !== 'production' && 'use' in _react.default) {
|
|
const navigationPromises = (0, _react.use)(_hooksclientcontextsharedruntime.NavigationPromisesContext);
|
|
if (navigationPromises) {
|
|
const promise = navigationPromises.selectedLayoutSegmentsPromises?.get(parallelRouteKey);
|
|
if (promise) {
|
|
// We should always have a promise here, but if we don't, it's not worth erroring over.
|
|
// We just won't be able to instrument it, but can still provide the value.
|
|
return (0, _react.use)(promise);
|
|
}
|
|
}
|
|
}
|
|
return (0, _segment.getSelectedLayoutSegmentPath)(context.parentTree, parallelRouteKey);
|
|
}
|
|
function useSelectedLayoutSegment(parallelRouteKey = 'children') {
|
|
useDynamicRouteParams?.('useSelectedLayoutSegment()');
|
|
const navigationPromises = (0, _react.useContext)(_hooksclientcontextsharedruntime.NavigationPromisesContext);
|
|
const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);
|
|
// Instrument with Suspense DevTools (dev-only)
|
|
if (("TURBOPACK compile-time value", "development") !== 'production' && navigationPromises && 'use' in _react.default) {
|
|
const promise = navigationPromises.selectedLayoutSegmentPromises?.get(parallelRouteKey);
|
|
if (promise) {
|
|
// We should always have a promise here, but if we don't, it's not worth erroring over.
|
|
// We just won't be able to instrument it, but can still provide the value.
|
|
return (0, _react.use)(promise);
|
|
}
|
|
}
|
|
return (0, _segment.computeSelectedLayoutSegment)(selectedLayoutSegments, parallelRouteKey);
|
|
}
|
|
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=navigation.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/navigation.js [app-ssr] (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-ssr] (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-ssr] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"Analytics",
|
|
()=>Analytics2
|
|
]);
|
|
// 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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (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$ssr$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-ssr] (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 ("TURBOPACK compile-time value", "undefined") !== "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() ? "TURBOPACK unreachable" : 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;
|
|
//TURBOPACK unreachable
|
|
;
|
|
const src = undefined;
|
|
const script = undefined;
|
|
}
|
|
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 process === "undefined" || typeof process.env === "undefined") {
|
|
return void 0;
|
|
}
|
|
return process.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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
|
var _a;
|
|
if (props.beforeSend) {
|
|
(_a = window.va) == null ? void 0 : _a.call(window, "beforeSend", props.beforeSend);
|
|
}
|
|
}, [
|
|
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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
|
inject({
|
|
framework: props.framework || "react",
|
|
basePath: props.basePath ?? getBasePath(),
|
|
...props.route !== void 0 && {
|
|
disableAutoTrack: true
|
|
},
|
|
...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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
|
if (props.route && props.path) {
|
|
pageview({
|
|
route: props.route,
|
|
path: props.path
|
|
});
|
|
}
|
|
}, [
|
|
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$ssr$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$ssr$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$ssr$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 process === "undefined" || typeof process.env === "undefined") {
|
|
return void 0;
|
|
}
|
|
return process.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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
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/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['react-ssr'].ReactJsxDevRuntime; //# sourceMappingURL=react-jsx-dev-runtime.js.map
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _interopRequireDefault(e) {
|
|
return e && e.__esModule ? e : {
|
|
"default": e
|
|
};
|
|
}
|
|
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _typeof(o) {
|
|
"@babel/helpers - typeof";
|
|
return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
return typeof o;
|
|
} : function(o) {
|
|
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
|
|
}
|
|
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/OverloadYield.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _OverloadYield(e, d) {
|
|
this.v = e, this.k = d;
|
|
}
|
|
module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _regeneratorDefine(e, r, n, t) {
|
|
var i = Object.defineProperty;
|
|
try {
|
|
i({}, "", {});
|
|
} catch (e) {
|
|
i = 0;
|
|
}
|
|
module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
|
|
function o(r, n) {
|
|
_regeneratorDefine(e, r, function(e) {
|
|
return this._invoke(r, n, e);
|
|
});
|
|
}
|
|
r ? i ? i(e, r, {
|
|
value: n,
|
|
enumerable: !t,
|
|
configurable: !t,
|
|
writable: !t
|
|
}) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
|
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
|
|
}
|
|
module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regenerator.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var regeneratorDefine = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-ssr] (ecmascript)");
|
|
function _regenerator() {
|
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag";
|
|
function i(r, n, o, i) {
|
|
var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype);
|
|
return regeneratorDefine(u, "_invoke", function(r, n, o) {
|
|
var i, c, u, f = 0, p = o || [], y = !1, G = {
|
|
p: 0,
|
|
n: 0,
|
|
v: e,
|
|
a: d,
|
|
f: d.bind(e, 4),
|
|
d: function d(t, r) {
|
|
return i = t, c = 0, u = e, G.n = r, a;
|
|
}
|
|
};
|
|
function d(r, n) {
|
|
for(c = r, u = n, t = 0; !y && f && !o && t < p.length; t++){
|
|
var o, i = p[t], d = G.p, l = i[2];
|
|
r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
|
|
}
|
|
if (o || r > 1) return a;
|
|
throw y = !0, n;
|
|
}
|
|
return function(o, p, l) {
|
|
if (f > 1) throw TypeError("Generator is already running");
|
|
for(y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;){
|
|
i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
|
|
try {
|
|
if (f = 2, i) {
|
|
if (c || (o = "next"), t = i[o]) {
|
|
if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
|
|
if (!t.done) return t;
|
|
u = t.value, c < 2 && (c = 0);
|
|
} else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
|
|
i = e;
|
|
} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
|
|
} catch (t) {
|
|
i = e, c = 1, u = t;
|
|
} finally{
|
|
f = 1;
|
|
}
|
|
}
|
|
return {
|
|
value: t,
|
|
done: y
|
|
};
|
|
};
|
|
}(r, o, i), !0), u;
|
|
}
|
|
var a = {};
|
|
function Generator() {}
|
|
function GeneratorFunction() {}
|
|
function GeneratorFunctionPrototype() {}
|
|
t = Object.getPrototypeOf;
|
|
var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function() {
|
|
return this;
|
|
}), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
|
|
function f(e) {
|
|
return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
|
|
}
|
|
return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), regeneratorDefine(u), regeneratorDefine(u, o, "Generator"), regeneratorDefine(u, n, function() {
|
|
return this;
|
|
}), regeneratorDefine(u, "toString", function() {
|
|
return "[object Generator]";
|
|
}), (module.exports = _regenerator = function _regenerator() {
|
|
return {
|
|
w: i,
|
|
m: f
|
|
};
|
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports)();
|
|
}
|
|
module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var OverloadYield = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/OverloadYield.js [app-ssr] (ecmascript)");
|
|
var regeneratorDefine = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-ssr] (ecmascript)");
|
|
function AsyncIterator(t, e) {
|
|
function n(r, o, i, f) {
|
|
try {
|
|
var c = t[r](o), u = c.value;
|
|
return u instanceof OverloadYield ? e.resolve(u.v).then(function(t) {
|
|
n("next", t, i, f);
|
|
}, function(t) {
|
|
n("throw", t, i, f);
|
|
}) : e.resolve(u).then(function(t) {
|
|
c.value = t, i(c);
|
|
}, function(t) {
|
|
return n("throw", t, i, f);
|
|
});
|
|
} catch (t) {
|
|
f(t);
|
|
}
|
|
}
|
|
var r;
|
|
this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function() {
|
|
return this;
|
|
})), regeneratorDefine(this, "_invoke", function(t, o, i) {
|
|
function f() {
|
|
return new e(function(e, r) {
|
|
n(t, i, e, r);
|
|
});
|
|
}
|
|
return r = r ? r.then(f, f) : f();
|
|
}, !0);
|
|
}
|
|
module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var regenerator = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regenerator.js [app-ssr] (ecmascript)");
|
|
var regeneratorAsyncIterator = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-ssr] (ecmascript)");
|
|
function _regeneratorAsyncGen(r, e, t, o, n) {
|
|
return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);
|
|
}
|
|
module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsync.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var regeneratorAsyncGen = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-ssr] (ecmascript)");
|
|
function _regeneratorAsync(n, e, r, t, o) {
|
|
var a = regeneratorAsyncGen(n, e, r, t, o);
|
|
return a.next().then(function(n) {
|
|
return n.done ? n.value : a.next();
|
|
});
|
|
}
|
|
module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorKeys.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _regeneratorKeys(e) {
|
|
var n = Object(e), r = [];
|
|
for(var t in n)r.unshift(t);
|
|
return function e() {
|
|
for(; r.length;)if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;
|
|
return e.done = !0, e;
|
|
};
|
|
}
|
|
module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorValues.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)")["default"];
|
|
function _regeneratorValues(e) {
|
|
if (null != e) {
|
|
var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0;
|
|
if (t) return t.call(e);
|
|
if ("function" == typeof e.next) return e;
|
|
if (!isNaN(e.length)) return {
|
|
next: function next() {
|
|
return e && r >= e.length && (e = void 0), {
|
|
value: e && e[r++],
|
|
done: !e
|
|
};
|
|
}
|
|
};
|
|
}
|
|
throw new TypeError(_typeof(e) + " is not iterable");
|
|
}
|
|
module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorRuntime.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var OverloadYield = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/OverloadYield.js [app-ssr] (ecmascript)");
|
|
var regenerator = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regenerator.js [app-ssr] (ecmascript)");
|
|
var regeneratorAsync = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsync.js [app-ssr] (ecmascript)");
|
|
var regeneratorAsyncGen = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-ssr] (ecmascript)");
|
|
var regeneratorAsyncIterator = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-ssr] (ecmascript)");
|
|
var regeneratorKeys = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorKeys.js [app-ssr] (ecmascript)");
|
|
var regeneratorValues = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorValues.js [app-ssr] (ecmascript)");
|
|
function _regeneratorRuntime() {
|
|
"use strict";
|
|
var r = regenerator(), e = r.m(_regeneratorRuntime), t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;
|
|
function n(r) {
|
|
var e = "function" == typeof r && r.constructor;
|
|
return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name));
|
|
}
|
|
var o = {
|
|
"throw": 1,
|
|
"return": 2,
|
|
"break": 3,
|
|
"continue": 3
|
|
};
|
|
function a(r) {
|
|
var e, t;
|
|
return function(n) {
|
|
e || (e = {
|
|
stop: function stop() {
|
|
return t(n.a, 2);
|
|
},
|
|
"catch": function _catch() {
|
|
return n.v;
|
|
},
|
|
abrupt: function abrupt(r, e) {
|
|
return t(n.a, o[r], e);
|
|
},
|
|
delegateYield: function delegateYield(r, o, a) {
|
|
return e.resultName = o, t(n.d, regeneratorValues(r), a);
|
|
},
|
|
finish: function finish(r) {
|
|
return t(n.f, r);
|
|
}
|
|
}, t = function t(r, _t, o) {
|
|
n.p = e.prev, n.n = e.next;
|
|
try {
|
|
return r(_t, o);
|
|
} finally{
|
|
e.next = n.n;
|
|
}
|
|
}), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;
|
|
try {
|
|
return r.call(this, e);
|
|
} finally{
|
|
n.p = e.prev, n.n = e.next;
|
|
}
|
|
};
|
|
}
|
|
return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
|
|
return {
|
|
wrap: function wrap(e, t, n, o) {
|
|
return r.w(a(e), t, n, o && o.reverse());
|
|
},
|
|
isGeneratorFunction: n,
|
|
mark: r.m,
|
|
awrap: function awrap(r, e) {
|
|
return new OverloadYield(r, e);
|
|
},
|
|
AsyncIterator: regeneratorAsyncIterator,
|
|
async: function async(r, e, t, o, u) {
|
|
return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);
|
|
},
|
|
keys: regeneratorKeys,
|
|
values: regeneratorValues
|
|
};
|
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports)();
|
|
}
|
|
module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
// TODO(Babel 8): Remove this file.
|
|
var runtime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorRuntime.js [app-ssr] (ecmascript)")();
|
|
module.exports = runtime;
|
|
// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
|
|
try {
|
|
regeneratorRuntime = runtime;
|
|
} catch (accidentalStrictMode) {
|
|
if (typeof globalThis === "object") {
|
|
globalThis.regeneratorRuntime = runtime;
|
|
} else {
|
|
Function("r", "regeneratorRuntime = r")(runtime);
|
|
}
|
|
}
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPrimitive.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)")["default"];
|
|
function toPrimitive(t, r) {
|
|
if ("object" != _typeof(t) || !t) return t;
|
|
var e = t[Symbol.toPrimitive];
|
|
if (void 0 !== e) {
|
|
var i = e.call(t, r || "default");
|
|
if ("object" != _typeof(i)) return i;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return ("string" === r ? String : Number)(t);
|
|
}
|
|
module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)")["default"];
|
|
var toPrimitive = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPrimitive.js [app-ssr] (ecmascript)");
|
|
function toPropertyKey(t) {
|
|
var i = toPrimitive(t, "string");
|
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
}
|
|
module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var toPropertyKey = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-ssr] (ecmascript)");
|
|
function _defineProperty(e, r, t) {
|
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
value: t,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[r] = t, e;
|
|
}
|
|
module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
try {
|
|
var i = n[a](c), u = i.value;
|
|
} catch (n) {
|
|
return void e(n);
|
|
}
|
|
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
}
|
|
function _asyncToGenerator(n) {
|
|
return function() {
|
|
var t = this, e = arguments;
|
|
return new Promise(function(r, o) {
|
|
var a = n.apply(t, e);
|
|
function _next(n) {
|
|
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
}
|
|
function _throw(n) {
|
|
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
}
|
|
_next(void 0);
|
|
});
|
|
};
|
|
}
|
|
module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/arrayWithHoles.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _arrayWithHoles(r) {
|
|
if (Array.isArray(r)) return r;
|
|
}
|
|
module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _iterableToArrayLimit(r, l) {
|
|
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
if (null != t) {
|
|
var e, n, i, u, a = [], f = !0, o = !1;
|
|
try {
|
|
if (i = (t = t.call(r)).next, 0 === l) {
|
|
if (Object(t) !== t) return;
|
|
f = !1;
|
|
} else for(; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
} catch (r) {
|
|
o = !0, n = r;
|
|
} finally{
|
|
try {
|
|
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
} finally{
|
|
if (o) throw n;
|
|
}
|
|
}
|
|
return a;
|
|
}
|
|
}
|
|
module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/arrayLikeToArray.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _arrayLikeToArray(r, a) {
|
|
(null == a || a > r.length) && (a = r.length);
|
|
for(var e = 0, n = Array(a); e < a; e++)n[e] = r[e];
|
|
return n;
|
|
}
|
|
module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var arrayLikeToArray = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/arrayLikeToArray.js [app-ssr] (ecmascript)");
|
|
function _unsupportedIterableToArray(r, a) {
|
|
if (r) {
|
|
if ("string" == typeof r) return arrayLikeToArray(r, a);
|
|
var t = ({}).toString.call(r).slice(8, -1);
|
|
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;
|
|
}
|
|
}
|
|
module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/nonIterableRest.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _nonIterableRest() {
|
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/slicedToArray.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var arrayWithHoles = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/arrayWithHoles.js [app-ssr] (ecmascript)");
|
|
var iterableToArrayLimit = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js [app-ssr] (ecmascript)");
|
|
var unsupportedIterableToArray = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js [app-ssr] (ecmascript)");
|
|
var nonIterableRest = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/nonIterableRest.js [app-ssr] (ecmascript)");
|
|
function _slicedToArray(r, e) {
|
|
return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();
|
|
}
|
|
module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/classCallCheck.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _classCallCheck(a, n) {
|
|
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
}
|
|
module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/createClass.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var toPropertyKey = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-ssr] (ecmascript)");
|
|
function _defineProperties(e, r) {
|
|
for(var t = 0; t < r.length; t++){
|
|
var o = r[t];
|
|
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
|
|
}
|
|
}
|
|
function _createClass(e, r, t) {
|
|
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
|
|
writable: !1
|
|
}), e;
|
|
}
|
|
module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/assertThisInitialized.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _assertThisInitialized(e) {
|
|
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
return e;
|
|
}
|
|
module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)")["default"];
|
|
var assertThisInitialized = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/assertThisInitialized.js [app-ssr] (ecmascript)");
|
|
function _possibleConstructorReturn(t, e) {
|
|
if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;
|
|
if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
|
|
return assertThisInitialized(t);
|
|
}
|
|
module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _getPrototypeOf(t) {
|
|
return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
|
|
return t.__proto__ || Object.getPrototypeOf(t);
|
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _getPrototypeOf(t);
|
|
}
|
|
module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _setPrototypeOf(t, e) {
|
|
return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
|
|
return t.__proto__ = e, t;
|
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _setPrototypeOf(t, e);
|
|
}
|
|
module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/inherits.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var setPrototypeOf = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-ssr] (ecmascript)");
|
|
function _inherits(t, e) {
|
|
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
|
|
t.prototype = Object.create(e && e.prototype, {
|
|
constructor: {
|
|
value: t,
|
|
writable: !0,
|
|
configurable: !0
|
|
}
|
|
}), Object.defineProperty(t, "prototype", {
|
|
writable: !1
|
|
}), e && setPrototypeOf(t, e);
|
|
}
|
|
module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/isNativeFunction.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _isNativeFunction(t) {
|
|
try {
|
|
return -1 !== Function.toString.call(t).indexOf("[native code]");
|
|
} catch (n) {
|
|
return "function" == typeof t;
|
|
}
|
|
}
|
|
module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
function _isNativeReflectConstruct() {
|
|
try {
|
|
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
} catch (t) {}
|
|
return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {
|
|
return !!t;
|
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports)();
|
|
}
|
|
module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/construct.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var isNativeReflectConstruct = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js [app-ssr] (ecmascript)");
|
|
var setPrototypeOf = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-ssr] (ecmascript)");
|
|
function _construct(t, e, r) {
|
|
if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
|
|
var o = [
|
|
null
|
|
];
|
|
o.push.apply(o, e);
|
|
var p = new (t.bind.apply(t, o))();
|
|
return r && setPrototypeOf(p, r.prototype), p;
|
|
}
|
|
module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/wrapNativeSuper.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var getPrototypeOf = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-ssr] (ecmascript)");
|
|
var setPrototypeOf = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-ssr] (ecmascript)");
|
|
var isNativeFunction = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/isNativeFunction.js [app-ssr] (ecmascript)");
|
|
var construct = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/construct.js [app-ssr] (ecmascript)");
|
|
function _wrapNativeSuper(t) {
|
|
var r = "function" == typeof Map ? new Map() : void 0;
|
|
return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) {
|
|
if (null === t || !isNativeFunction(t)) return t;
|
|
if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
|
|
if (void 0 !== r) {
|
|
if (r.has(t)) return r.get(t);
|
|
r.set(t, Wrapper);
|
|
}
|
|
function Wrapper() {
|
|
return construct(t, arguments, getPrototypeOf(this).constructor);
|
|
}
|
|
return Wrapper.prototype = Object.create(t.prototype, {
|
|
constructor: {
|
|
value: Wrapper,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
configurable: !0
|
|
}
|
|
}), setPrototypeOf(Wrapper, t);
|
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _wrapNativeSuper(t);
|
|
}
|
|
module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/core/errors.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
var _interopRequireDefault = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)");
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.UnsupportedStrategy = exports.UnknownError = exports.OAuthCallbackError = exports.MissingSecret = exports.MissingAuthorize = exports.MissingAdapterMethods = exports.MissingAdapter = exports.MissingAPIRoute = exports.InvalidCallbackUrl = exports.AccountNotLinkedError = void 0;
|
|
exports.adapterErrorHandler = adapterErrorHandler;
|
|
exports.capitalize = capitalize;
|
|
exports.eventsErrorHandler = eventsErrorHandler;
|
|
exports.upperSnake = upperSnake;
|
|
var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)"));
|
|
var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)"));
|
|
var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)"));
|
|
var _classCallCheck2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/classCallCheck.js [app-ssr] (ecmascript)"));
|
|
var _createClass2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/createClass.js [app-ssr] (ecmascript)"));
|
|
var _possibleConstructorReturn2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js [app-ssr] (ecmascript)"));
|
|
var _getPrototypeOf2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-ssr] (ecmascript)"));
|
|
var _inherits2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/inherits.js [app-ssr] (ecmascript)"));
|
|
var _wrapNativeSuper2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/wrapNativeSuper.js [app-ssr] (ecmascript)"));
|
|
function _callSuper(t, o, e) {
|
|
return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e));
|
|
}
|
|
function _isNativeReflectConstruct() {
|
|
try {
|
|
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
} catch (t) {}
|
|
return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
|
|
return !!t;
|
|
})();
|
|
}
|
|
var UnknownError = exports.UnknownError = function(_Error) {
|
|
function UnknownError(error) {
|
|
var _message;
|
|
var _this;
|
|
(0, _classCallCheck2.default)(this, UnknownError);
|
|
_this = _callSuper(this, UnknownError, [
|
|
(_message = error === null || error === void 0 ? void 0 : error.message) !== null && _message !== void 0 ? _message : error
|
|
]);
|
|
_this.name = "UnknownError";
|
|
_this.code = error.code;
|
|
if (error instanceof Error) {
|
|
_this.stack = error.stack;
|
|
}
|
|
return _this;
|
|
}
|
|
(0, _inherits2.default)(UnknownError, _Error);
|
|
return (0, _createClass2.default)(UnknownError, [
|
|
{
|
|
key: "toJSON",
|
|
value: function toJSON() {
|
|
return {
|
|
name: this.name,
|
|
message: this.message,
|
|
stack: this.stack
|
|
};
|
|
}
|
|
}
|
|
]);
|
|
}((0, _wrapNativeSuper2.default)(Error));
|
|
var OAuthCallbackError = exports.OAuthCallbackError = function(_UnknownError) {
|
|
function OAuthCallbackError() {
|
|
var _this2;
|
|
(0, _classCallCheck2.default)(this, OAuthCallbackError);
|
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
args[_key] = arguments[_key];
|
|
}
|
|
_this2 = _callSuper(this, OAuthCallbackError, [].concat(args));
|
|
(0, _defineProperty2.default)(_this2, "name", "OAuthCallbackError");
|
|
return _this2;
|
|
}
|
|
(0, _inherits2.default)(OAuthCallbackError, _UnknownError);
|
|
return (0, _createClass2.default)(OAuthCallbackError);
|
|
}(UnknownError);
|
|
var AccountNotLinkedError = exports.AccountNotLinkedError = function(_UnknownError2) {
|
|
function AccountNotLinkedError() {
|
|
var _this3;
|
|
(0, _classCallCheck2.default)(this, AccountNotLinkedError);
|
|
for(var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++){
|
|
args[_key2] = arguments[_key2];
|
|
}
|
|
_this3 = _callSuper(this, AccountNotLinkedError, [].concat(args));
|
|
(0, _defineProperty2.default)(_this3, "name", "AccountNotLinkedError");
|
|
return _this3;
|
|
}
|
|
(0, _inherits2.default)(AccountNotLinkedError, _UnknownError2);
|
|
return (0, _createClass2.default)(AccountNotLinkedError);
|
|
}(UnknownError);
|
|
var MissingAPIRoute = exports.MissingAPIRoute = function(_UnknownError3) {
|
|
function MissingAPIRoute() {
|
|
var _this4;
|
|
(0, _classCallCheck2.default)(this, MissingAPIRoute);
|
|
for(var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++){
|
|
args[_key3] = arguments[_key3];
|
|
}
|
|
_this4 = _callSuper(this, MissingAPIRoute, [].concat(args));
|
|
(0, _defineProperty2.default)(_this4, "name", "MissingAPIRouteError");
|
|
(0, _defineProperty2.default)(_this4, "code", "MISSING_NEXTAUTH_API_ROUTE_ERROR");
|
|
return _this4;
|
|
}
|
|
(0, _inherits2.default)(MissingAPIRoute, _UnknownError3);
|
|
return (0, _createClass2.default)(MissingAPIRoute);
|
|
}(UnknownError);
|
|
var MissingSecret = exports.MissingSecret = function(_UnknownError4) {
|
|
function MissingSecret() {
|
|
var _this5;
|
|
(0, _classCallCheck2.default)(this, MissingSecret);
|
|
for(var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++){
|
|
args[_key4] = arguments[_key4];
|
|
}
|
|
_this5 = _callSuper(this, MissingSecret, [].concat(args));
|
|
(0, _defineProperty2.default)(_this5, "name", "MissingSecretError");
|
|
(0, _defineProperty2.default)(_this5, "code", "NO_SECRET");
|
|
return _this5;
|
|
}
|
|
(0, _inherits2.default)(MissingSecret, _UnknownError4);
|
|
return (0, _createClass2.default)(MissingSecret);
|
|
}(UnknownError);
|
|
var MissingAuthorize = exports.MissingAuthorize = function(_UnknownError5) {
|
|
function MissingAuthorize() {
|
|
var _this6;
|
|
(0, _classCallCheck2.default)(this, MissingAuthorize);
|
|
for(var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++){
|
|
args[_key5] = arguments[_key5];
|
|
}
|
|
_this6 = _callSuper(this, MissingAuthorize, [].concat(args));
|
|
(0, _defineProperty2.default)(_this6, "name", "MissingAuthorizeError");
|
|
(0, _defineProperty2.default)(_this6, "code", "CALLBACK_CREDENTIALS_HANDLER_ERROR");
|
|
return _this6;
|
|
}
|
|
(0, _inherits2.default)(MissingAuthorize, _UnknownError5);
|
|
return (0, _createClass2.default)(MissingAuthorize);
|
|
}(UnknownError);
|
|
var MissingAdapter = exports.MissingAdapter = function(_UnknownError6) {
|
|
function MissingAdapter() {
|
|
var _this7;
|
|
(0, _classCallCheck2.default)(this, MissingAdapter);
|
|
for(var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++){
|
|
args[_key6] = arguments[_key6];
|
|
}
|
|
_this7 = _callSuper(this, MissingAdapter, [].concat(args));
|
|
(0, _defineProperty2.default)(_this7, "name", "MissingAdapterError");
|
|
(0, _defineProperty2.default)(_this7, "code", "EMAIL_REQUIRES_ADAPTER_ERROR");
|
|
return _this7;
|
|
}
|
|
(0, _inherits2.default)(MissingAdapter, _UnknownError6);
|
|
return (0, _createClass2.default)(MissingAdapter);
|
|
}(UnknownError);
|
|
var MissingAdapterMethods = exports.MissingAdapterMethods = function(_UnknownError7) {
|
|
function MissingAdapterMethods() {
|
|
var _this8;
|
|
(0, _classCallCheck2.default)(this, MissingAdapterMethods);
|
|
for(var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++){
|
|
args[_key7] = arguments[_key7];
|
|
}
|
|
_this8 = _callSuper(this, MissingAdapterMethods, [].concat(args));
|
|
(0, _defineProperty2.default)(_this8, "name", "MissingAdapterMethodsError");
|
|
(0, _defineProperty2.default)(_this8, "code", "MISSING_ADAPTER_METHODS_ERROR");
|
|
return _this8;
|
|
}
|
|
(0, _inherits2.default)(MissingAdapterMethods, _UnknownError7);
|
|
return (0, _createClass2.default)(MissingAdapterMethods);
|
|
}(UnknownError);
|
|
var UnsupportedStrategy = exports.UnsupportedStrategy = function(_UnknownError8) {
|
|
function UnsupportedStrategy() {
|
|
var _this9;
|
|
(0, _classCallCheck2.default)(this, UnsupportedStrategy);
|
|
for(var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++){
|
|
args[_key8] = arguments[_key8];
|
|
}
|
|
_this9 = _callSuper(this, UnsupportedStrategy, [].concat(args));
|
|
(0, _defineProperty2.default)(_this9, "name", "UnsupportedStrategyError");
|
|
(0, _defineProperty2.default)(_this9, "code", "CALLBACK_CREDENTIALS_JWT_ERROR");
|
|
return _this9;
|
|
}
|
|
(0, _inherits2.default)(UnsupportedStrategy, _UnknownError8);
|
|
return (0, _createClass2.default)(UnsupportedStrategy);
|
|
}(UnknownError);
|
|
var InvalidCallbackUrl = exports.InvalidCallbackUrl = function(_UnknownError9) {
|
|
function InvalidCallbackUrl() {
|
|
var _this10;
|
|
(0, _classCallCheck2.default)(this, InvalidCallbackUrl);
|
|
for(var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++){
|
|
args[_key9] = arguments[_key9];
|
|
}
|
|
_this10 = _callSuper(this, InvalidCallbackUrl, [].concat(args));
|
|
(0, _defineProperty2.default)(_this10, "name", "InvalidCallbackUrl");
|
|
(0, _defineProperty2.default)(_this10, "code", "INVALID_CALLBACK_URL_ERROR");
|
|
return _this10;
|
|
}
|
|
(0, _inherits2.default)(InvalidCallbackUrl, _UnknownError9);
|
|
return (0, _createClass2.default)(InvalidCallbackUrl);
|
|
}(UnknownError);
|
|
function upperSnake(s) {
|
|
return s.replace(/([A-Z])/g, "_$1").toUpperCase();
|
|
}
|
|
function capitalize(s) {
|
|
return "".concat(s[0].toUpperCase()).concat(s.slice(1));
|
|
}
|
|
function eventsErrorHandler(methods, logger) {
|
|
return Object.keys(methods).reduce(function(acc, name) {
|
|
acc[name] = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
var method, _args = arguments;
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while(1)switch(_context.prev = _context.next){
|
|
case 0:
|
|
_context.prev = 0;
|
|
method = methods[name];
|
|
_context.next = 4;
|
|
return method.apply(void 0, _args);
|
|
case 4:
|
|
return _context.abrupt("return", _context.sent);
|
|
case 7:
|
|
_context.prev = 7;
|
|
_context.t0 = _context["catch"](0);
|
|
logger.error("".concat(upperSnake(name), "_EVENT_ERROR"), _context.t0);
|
|
case 10:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, null, [
|
|
[
|
|
0,
|
|
7
|
|
]
|
|
]);
|
|
}));
|
|
return acc;
|
|
}, {});
|
|
}
|
|
function adapterErrorHandler(adapter, logger) {
|
|
if (!adapter) return;
|
|
return Object.keys(adapter).reduce(function(acc, name) {
|
|
acc[name] = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
var _len10, args, _key10, method, e, _args2 = arguments;
|
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
while(1)switch(_context2.prev = _context2.next){
|
|
case 0:
|
|
_context2.prev = 0;
|
|
for(_len10 = _args2.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++){
|
|
args[_key10] = _args2[_key10];
|
|
}
|
|
logger.debug("adapter_".concat(name), {
|
|
args: args
|
|
});
|
|
method = adapter[name];
|
|
_context2.next = 6;
|
|
return method.apply(void 0, args);
|
|
case 6:
|
|
return _context2.abrupt("return", _context2.sent);
|
|
case 9:
|
|
_context2.prev = 9;
|
|
_context2.t0 = _context2["catch"](0);
|
|
logger.error("adapter_error_".concat(name), _context2.t0);
|
|
e = new UnknownError(_context2.t0);
|
|
e.name = "".concat(capitalize(name), "Error");
|
|
throw e;
|
|
case 15:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee2, null, [
|
|
[
|
|
0,
|
|
9
|
|
]
|
|
]);
|
|
}));
|
|
return acc;
|
|
}, {});
|
|
}
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/utils/logger.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
var _interopRequireDefault = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)");
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = void 0;
|
|
exports.proxyLogger = proxyLogger;
|
|
exports.setLogger = setLogger;
|
|
var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)"));
|
|
var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)"));
|
|
var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)"));
|
|
var _errors = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/core/errors.js [app-ssr] (ecmascript)");
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
|
})), t.push.apply(t, o);
|
|
}
|
|
return t;
|
|
}
|
|
function _objectSpread(e) {
|
|
for(var r = 1; r < arguments.length; r++){
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function formatError(o) {
|
|
if (o instanceof Error && !(o instanceof _errors.UnknownError)) {
|
|
return {
|
|
message: o.message,
|
|
stack: o.stack,
|
|
name: o.name
|
|
};
|
|
}
|
|
if (hasErrorProperty(o)) {
|
|
var _o$message;
|
|
o.error = formatError(o.error);
|
|
o.message = (_o$message = o.message) !== null && _o$message !== void 0 ? _o$message : o.error.message;
|
|
}
|
|
return o;
|
|
}
|
|
function hasErrorProperty(x) {
|
|
return !!(x !== null && x !== void 0 && x.error);
|
|
}
|
|
var _logger = {
|
|
error: function error(code, metadata) {
|
|
metadata = formatError(metadata);
|
|
console.error("[next-auth][error][".concat(code, "]"), "\nhttps://next-auth.js.org/errors#".concat(code.toLowerCase()), metadata.message, metadata);
|
|
},
|
|
warn: function warn(code) {
|
|
console.warn("[next-auth][warn][".concat(code, "]"), "\nhttps://next-auth.js.org/warnings#".concat(code.toLowerCase()));
|
|
},
|
|
debug: function debug(code, metadata) {
|
|
console.log("[next-auth][debug][".concat(code, "]"), metadata);
|
|
}
|
|
};
|
|
function setLogger() {
|
|
var newLogger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var debug = arguments.length > 1 ? arguments[1] : undefined;
|
|
if (!debug) _logger.debug = function() {};
|
|
if (newLogger.error) _logger.error = newLogger.error;
|
|
if (newLogger.warn) _logger.warn = newLogger.warn;
|
|
if (newLogger.debug) _logger.debug = newLogger.debug;
|
|
}
|
|
var _default = exports.default = _logger;
|
|
function proxyLogger() {
|
|
var logger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _logger;
|
|
var basePath = arguments.length > 1 ? arguments[1] : undefined;
|
|
try {
|
|
if ("TURBOPACK compile-time truthy", 1) {
|
|
return logger;
|
|
}
|
|
//TURBOPACK unreachable
|
|
;
|
|
var clientLogger;
|
|
var _loop;
|
|
var level;
|
|
} catch (_unused) {
|
|
return _logger;
|
|
}
|
|
}
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/utils/parse-url.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = parseUrl;
|
|
function parseUrl(url) {
|
|
var _url2;
|
|
const defaultUrl = new URL("http://localhost:3000/api/auth");
|
|
if (url && !url.startsWith("http")) {
|
|
url = `https://${url}`;
|
|
}
|
|
const _url = new URL((_url2 = url) !== null && _url2 !== void 0 ? _url2 : defaultUrl);
|
|
const path = (_url.pathname === "/" ? defaultUrl.pathname : _url.pathname).replace(/\/$/, "");
|
|
const base = `${_url.origin}${path}`;
|
|
return {
|
|
origin: _url.origin,
|
|
host: _url.host,
|
|
path,
|
|
base,
|
|
toString: ()=>base
|
|
};
|
|
}
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/client/_utils.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
var _interopRequireDefault = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)");
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.BroadcastChannel = BroadcastChannel;
|
|
exports.apiBaseUrl = apiBaseUrl;
|
|
exports.fetchData = fetchData;
|
|
exports.now = now;
|
|
var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)"));
|
|
var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)"));
|
|
var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)"));
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
|
})), t.push.apply(t, o);
|
|
}
|
|
return t;
|
|
}
|
|
function _objectSpread(e) {
|
|
for(var r = 1; r < arguments.length; r++){
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function fetchData(_x, _x2, _x3) {
|
|
return _fetchData.apply(this, arguments);
|
|
}
|
|
function _fetchData() {
|
|
_fetchData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(path, __NEXTAUTH, logger) {
|
|
var _ref, ctx, _ref$req, req, url, _req$headers, options, res, data, _args = arguments;
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while(1)switch(_context.prev = _context.next){
|
|
case 0:
|
|
_ref = _args.length > 3 && _args[3] !== undefined ? _args[3] : {}, ctx = _ref.ctx, _ref$req = _ref.req, req = _ref$req === void 0 ? ctx === null || ctx === void 0 ? void 0 : ctx.req : _ref$req;
|
|
url = "".concat(apiBaseUrl(__NEXTAUTH), "/").concat(path);
|
|
_context.prev = 2;
|
|
options = {
|
|
headers: _objectSpread({
|
|
"Content-Type": "application/json"
|
|
}, req !== null && req !== void 0 && (_req$headers = req.headers) !== null && _req$headers !== void 0 && _req$headers.cookie ? {
|
|
cookie: req.headers.cookie
|
|
} : {})
|
|
};
|
|
if (req !== null && req !== void 0 && req.body) {
|
|
options.body = JSON.stringify(req.body);
|
|
options.method = "POST";
|
|
}
|
|
_context.next = 7;
|
|
return fetch(url, options);
|
|
case 7:
|
|
res = _context.sent;
|
|
_context.next = 10;
|
|
return res.json();
|
|
case 10:
|
|
data = _context.sent;
|
|
if (res.ok) {
|
|
_context.next = 13;
|
|
break;
|
|
}
|
|
throw data;
|
|
case 13:
|
|
return _context.abrupt("return", Object.keys(data).length > 0 ? data : null);
|
|
case 16:
|
|
_context.prev = 16;
|
|
_context.t0 = _context["catch"](2);
|
|
logger.error("CLIENT_FETCH_ERROR", {
|
|
error: _context.t0,
|
|
url: url
|
|
});
|
|
return _context.abrupt("return", null);
|
|
case 20:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, null, [
|
|
[
|
|
2,
|
|
16
|
|
]
|
|
]);
|
|
}));
|
|
return _fetchData.apply(this, arguments);
|
|
}
|
|
function apiBaseUrl(__NEXTAUTH) {
|
|
if ("TURBOPACK compile-time truthy", 1) {
|
|
return "".concat(__NEXTAUTH.baseUrlServer).concat(__NEXTAUTH.basePathServer);
|
|
}
|
|
//TURBOPACK unreachable
|
|
;
|
|
}
|
|
function now() {
|
|
return Math.floor(Date.now() / 1000);
|
|
}
|
|
function BroadcastChannel() {
|
|
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "nextauth.message";
|
|
return {
|
|
receive: function receive(onReceive) {
|
|
var handler = function handler(event) {
|
|
var _event$newValue;
|
|
if (event.key !== name) return;
|
|
var message = JSON.parse((_event$newValue = event.newValue) !== null && _event$newValue !== void 0 ? _event$newValue : "{}");
|
|
if ((message === null || message === void 0 ? void 0 : message.event) !== "session" || !(message !== null && message !== void 0 && message.data)) return;
|
|
onReceive(message);
|
|
};
|
|
window.addEventListener("storage", handler);
|
|
return function() {
|
|
return window.removeEventListener("storage", handler);
|
|
};
|
|
},
|
|
post: function post(message) {
|
|
if ("TURBOPACK compile-time truthy", 1) return;
|
|
//TURBOPACK unreachable
|
|
;
|
|
}
|
|
};
|
|
}
|
|
}),
|
|
"[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/route-modules/app-page/vendored/ssr/react-jsx-runtime.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
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/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['react-ssr'].ReactJsxRuntime; //# sourceMappingURL=react-jsx-runtime.js.map
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/react/types.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
}),
|
|
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/react/index.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
"use strict";
|
|
|
|
var _interopRequireDefault = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)");
|
|
var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)");
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
var _exportNames = {
|
|
SessionContext: true,
|
|
useSession: true,
|
|
getSession: true,
|
|
getCsrfToken: true,
|
|
getProviders: true,
|
|
signIn: true,
|
|
signOut: true,
|
|
SessionProvider: true
|
|
};
|
|
exports.SessionContext = void 0;
|
|
exports.SessionProvider = SessionProvider;
|
|
exports.getCsrfToken = getCsrfToken;
|
|
exports.getProviders = getProviders;
|
|
exports.getSession = getSession;
|
|
exports.signIn = signIn;
|
|
exports.signOut = signOut;
|
|
exports.useSession = useSession;
|
|
var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)"));
|
|
var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)"));
|
|
var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)"));
|
|
var _slicedToArray2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/slicedToArray.js [app-ssr] (ecmascript)"));
|
|
var React = _interopRequireWildcard(__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/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)"));
|
|
var _logger2 = _interopRequireWildcard(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/utils/logger.js [app-ssr] (ecmascript)"));
|
|
var _parseUrl = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/utils/parse-url.js [app-ssr] (ecmascript)"));
|
|
var _utils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/client/_utils.js [app-ssr] (ecmascript)");
|
|
var _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/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js [app-ssr] (ecmascript)");
|
|
var _types = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/react/types.js [app-ssr] (ecmascript)");
|
|
Object.keys(_types).forEach(function(key) {
|
|
if (key === "default" || key === "__esModule") return;
|
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
if (key in exports && exports[key] === _types[key]) return;
|
|
Object.defineProperty(exports, key, {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _types[key];
|
|
}
|
|
});
|
|
});
|
|
var _process$env$NEXTAUTH, _ref, _process$env$NEXTAUTH2, _process$env$NEXTAUTH3, _React$createContext;
|
|
function _getRequireWildcardCache(e) {
|
|
if ("function" != typeof WeakMap) return null;
|
|
var r = new WeakMap(), t = new WeakMap();
|
|
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
return e ? t : r;
|
|
})(e);
|
|
}
|
|
function _interopRequireWildcard(e, r) {
|
|
if (!r && e && e.__esModule) return e;
|
|
if (null === e || "object" != _typeof(e) && "function" != typeof e) return {
|
|
default: e
|
|
};
|
|
var t = _getRequireWildcardCache(r);
|
|
if (t && t.has(e)) return t.get(e);
|
|
var n = {
|
|
__proto__: null
|
|
}, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
for(var u in e)if ("default" !== u && ({}).hasOwnProperty.call(e, u)) {
|
|
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
}
|
|
return n.default = e, t && t.set(e, n), n;
|
|
}
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
|
})), t.push.apply(t, o);
|
|
}
|
|
return t;
|
|
}
|
|
function _objectSpread(e) {
|
|
for(var r = 1; r < arguments.length; r++){
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
var __NEXTAUTH = {
|
|
baseUrl: (0, _parseUrl.default)((_process$env$NEXTAUTH = process.env.NEXTAUTH_URL) !== null && _process$env$NEXTAUTH !== void 0 ? _process$env$NEXTAUTH : process.env.VERCEL_URL).origin,
|
|
basePath: (0, _parseUrl.default)(process.env.NEXTAUTH_URL).path,
|
|
baseUrlServer: (0, _parseUrl.default)((_ref = (_process$env$NEXTAUTH2 = process.env.NEXTAUTH_URL_INTERNAL) !== null && _process$env$NEXTAUTH2 !== void 0 ? _process$env$NEXTAUTH2 : process.env.NEXTAUTH_URL) !== null && _ref !== void 0 ? _ref : process.env.VERCEL_URL).origin,
|
|
basePathServer: (0, _parseUrl.default)((_process$env$NEXTAUTH3 = process.env.NEXTAUTH_URL_INTERNAL) !== null && _process$env$NEXTAUTH3 !== void 0 ? _process$env$NEXTAUTH3 : process.env.NEXTAUTH_URL).path,
|
|
_lastSync: 0,
|
|
_session: undefined,
|
|
_getSession: function _getSession() {}
|
|
};
|
|
var broadcast = (0, _utils.BroadcastChannel)();
|
|
var logger = (0, _logger2.proxyLogger)(_logger2.default, __NEXTAUTH.basePath);
|
|
function useOnline() {
|
|
var _React$useState = React.useState(typeof navigator !== "undefined" ? navigator.onLine : false), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), isOnline = _React$useState2[0], setIsOnline = _React$useState2[1];
|
|
var setOnline = function setOnline() {
|
|
return setIsOnline(true);
|
|
};
|
|
var setOffline = function setOffline() {
|
|
return setIsOnline(false);
|
|
};
|
|
React.useEffect(function() {
|
|
window.addEventListener("online", setOnline);
|
|
window.addEventListener("offline", setOffline);
|
|
return function() {
|
|
window.removeEventListener("online", setOnline);
|
|
window.removeEventListener("offline", setOffline);
|
|
};
|
|
}, []);
|
|
return isOnline;
|
|
}
|
|
var SessionContext = exports.SessionContext = (_React$createContext = React.createContext) === null || _React$createContext === void 0 ? void 0 : _React$createContext.call(React, undefined);
|
|
function useSession(options) {
|
|
if (!SessionContext) {
|
|
throw new Error("React Context is unavailable in Server Components");
|
|
}
|
|
var value = React.useContext(SessionContext);
|
|
if (!value && ("TURBOPACK compile-time value", "development") !== "production") {
|
|
throw new Error("[next-auth]: `useSession` must be wrapped in a <SessionProvider />");
|
|
}
|
|
var _ref2 = options !== null && options !== void 0 ? options : {}, required = _ref2.required, onUnauthenticated = _ref2.onUnauthenticated;
|
|
var requiredAndNotLoading = required && value.status === "unauthenticated";
|
|
React.useEffect(function() {
|
|
if (requiredAndNotLoading) {
|
|
var url = "/api/auth/signin?".concat(new URLSearchParams({
|
|
error: "SessionRequired",
|
|
callbackUrl: window.location.href
|
|
}));
|
|
if (onUnauthenticated) onUnauthenticated();
|
|
else window.location.href = url;
|
|
}
|
|
}, [
|
|
requiredAndNotLoading,
|
|
onUnauthenticated
|
|
]);
|
|
if (requiredAndNotLoading) {
|
|
return {
|
|
data: value.data,
|
|
update: value.update,
|
|
status: "loading"
|
|
};
|
|
}
|
|
return value;
|
|
}
|
|
function getSession(_x) {
|
|
return _getSession2.apply(this, arguments);
|
|
}
|
|
function _getSession2() {
|
|
_getSession2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(params) {
|
|
var _params$broadcast;
|
|
var session;
|
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
while(1)switch(_context3.prev = _context3.next){
|
|
case 0:
|
|
_context3.next = 2;
|
|
return (0, _utils.fetchData)("session", __NEXTAUTH, logger, params);
|
|
case 2:
|
|
session = _context3.sent;
|
|
if ((_params$broadcast = params === null || params === void 0 ? void 0 : params.broadcast) !== null && _params$broadcast !== void 0 ? _params$broadcast : true) {
|
|
broadcast.post({
|
|
event: "session",
|
|
data: {
|
|
trigger: "getSession"
|
|
}
|
|
});
|
|
}
|
|
return _context3.abrupt("return", session);
|
|
case 5:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _callee3);
|
|
}));
|
|
return _getSession2.apply(this, arguments);
|
|
}
|
|
function getCsrfToken(_x2) {
|
|
return _getCsrfToken.apply(this, arguments);
|
|
}
|
|
function _getCsrfToken() {
|
|
_getCsrfToken = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(params) {
|
|
var response;
|
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
while(1)switch(_context4.prev = _context4.next){
|
|
case 0:
|
|
_context4.next = 2;
|
|
return (0, _utils.fetchData)("csrf", __NEXTAUTH, logger, params);
|
|
case 2:
|
|
response = _context4.sent;
|
|
return _context4.abrupt("return", response === null || response === void 0 ? void 0 : response.csrfToken);
|
|
case 4:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, _callee4);
|
|
}));
|
|
return _getCsrfToken.apply(this, arguments);
|
|
}
|
|
function getProviders() {
|
|
return _getProviders.apply(this, arguments);
|
|
}
|
|
function _getProviders() {
|
|
_getProviders = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5() {
|
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
while(1)switch(_context5.prev = _context5.next){
|
|
case 0:
|
|
_context5.next = 2;
|
|
return (0, _utils.fetchData)("providers", __NEXTAUTH, logger);
|
|
case 2:
|
|
return _context5.abrupt("return", _context5.sent);
|
|
case 3:
|
|
case "end":
|
|
return _context5.stop();
|
|
}
|
|
}, _callee5);
|
|
}));
|
|
return _getProviders.apply(this, arguments);
|
|
}
|
|
function signIn(_x3, _x4, _x5) {
|
|
return _signIn.apply(this, arguments);
|
|
}
|
|
function _signIn() {
|
|
_signIn = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(provider, options, authorizationParams) {
|
|
var _ref5, _ref5$callbackUrl, callbackUrl, _ref5$redirect, redirect, baseUrl, providers, isCredentials, isEmail, isSupportingReturn, signInUrl, _signInUrl, res, data, _data$url, url, error;
|
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
while(1)switch(_context6.prev = _context6.next){
|
|
case 0:
|
|
_ref5 = options !== null && options !== void 0 ? options : {}, _ref5$callbackUrl = _ref5.callbackUrl, callbackUrl = _ref5$callbackUrl === void 0 ? window.location.href : _ref5$callbackUrl, _ref5$redirect = _ref5.redirect, redirect = _ref5$redirect === void 0 ? true : _ref5$redirect;
|
|
baseUrl = (0, _utils.apiBaseUrl)(__NEXTAUTH);
|
|
_context6.next = 4;
|
|
return getProviders();
|
|
case 4:
|
|
providers = _context6.sent;
|
|
if (providers) {
|
|
_context6.next = 8;
|
|
break;
|
|
}
|
|
window.location.href = "".concat(baseUrl, "/error");
|
|
return _context6.abrupt("return");
|
|
case 8:
|
|
if (!(!provider || !(provider in providers))) {
|
|
_context6.next = 11;
|
|
break;
|
|
}
|
|
window.location.href = "".concat(baseUrl, "/signin?").concat(new URLSearchParams({
|
|
callbackUrl: callbackUrl
|
|
}));
|
|
return _context6.abrupt("return");
|
|
case 11:
|
|
isCredentials = providers[provider].type === "credentials";
|
|
isEmail = providers[provider].type === "email";
|
|
isSupportingReturn = isCredentials || isEmail;
|
|
signInUrl = "".concat(baseUrl, "/").concat(isCredentials ? "callback" : "signin", "/").concat(provider);
|
|
_signInUrl = "".concat(signInUrl).concat(authorizationParams ? "?".concat(new URLSearchParams(authorizationParams)) : "");
|
|
_context6.t0 = fetch;
|
|
_context6.t1 = _signInUrl;
|
|
_context6.t2 = {
|
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
};
|
|
_context6.t3 = URLSearchParams;
|
|
_context6.t4 = _objectSpread;
|
|
_context6.t5 = _objectSpread({}, options);
|
|
_context6.t6 = {};
|
|
_context6.next = 25;
|
|
return getCsrfToken();
|
|
case 25:
|
|
_context6.t7 = _context6.sent;
|
|
_context6.t8 = callbackUrl;
|
|
_context6.t9 = {
|
|
csrfToken: _context6.t7,
|
|
callbackUrl: _context6.t8,
|
|
json: true
|
|
};
|
|
_context6.t10 = (0, _context6.t4)(_context6.t5, _context6.t6, _context6.t9);
|
|
_context6.t11 = new _context6.t3(_context6.t10);
|
|
_context6.t12 = {
|
|
method: "post",
|
|
headers: _context6.t2,
|
|
body: _context6.t11
|
|
};
|
|
_context6.next = 33;
|
|
return (0, _context6.t0)(_context6.t1, _context6.t12);
|
|
case 33:
|
|
res = _context6.sent;
|
|
_context6.next = 36;
|
|
return res.json();
|
|
case 36:
|
|
data = _context6.sent;
|
|
if (!(redirect || !isSupportingReturn)) {
|
|
_context6.next = 42;
|
|
break;
|
|
}
|
|
url = (_data$url = data.url) !== null && _data$url !== void 0 ? _data$url : callbackUrl;
|
|
window.location.href = url;
|
|
if (url.includes("#")) window.location.reload();
|
|
return _context6.abrupt("return");
|
|
case 42:
|
|
error = new URL(data.url).searchParams.get("error");
|
|
if (!res.ok) {
|
|
_context6.next = 46;
|
|
break;
|
|
}
|
|
_context6.next = 46;
|
|
return __NEXTAUTH._getSession({
|
|
event: "storage"
|
|
});
|
|
case 46:
|
|
return _context6.abrupt("return", {
|
|
error: error,
|
|
status: res.status,
|
|
ok: res.ok,
|
|
url: error ? null : data.url
|
|
});
|
|
case 47:
|
|
case "end":
|
|
return _context6.stop();
|
|
}
|
|
}, _callee6);
|
|
}));
|
|
return _signIn.apply(this, arguments);
|
|
}
|
|
function signOut(_x6) {
|
|
return _signOut.apply(this, arguments);
|
|
}
|
|
function _signOut() {
|
|
_signOut = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(options) {
|
|
var _options$redirect;
|
|
var _ref6, _ref6$callbackUrl, callbackUrl, baseUrl, fetchOptions, res, data, _data$url2, url;
|
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
while(1)switch(_context7.prev = _context7.next){
|
|
case 0:
|
|
_ref6 = options !== null && options !== void 0 ? options : {}, _ref6$callbackUrl = _ref6.callbackUrl, callbackUrl = _ref6$callbackUrl === void 0 ? window.location.href : _ref6$callbackUrl;
|
|
baseUrl = (0, _utils.apiBaseUrl)(__NEXTAUTH);
|
|
_context7.t0 = {
|
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
};
|
|
_context7.t1 = URLSearchParams;
|
|
_context7.next = 6;
|
|
return getCsrfToken();
|
|
case 6:
|
|
_context7.t2 = _context7.sent;
|
|
_context7.t3 = callbackUrl;
|
|
_context7.t4 = {
|
|
csrfToken: _context7.t2,
|
|
callbackUrl: _context7.t3,
|
|
json: true
|
|
};
|
|
_context7.t5 = new _context7.t1(_context7.t4);
|
|
fetchOptions = {
|
|
method: "post",
|
|
headers: _context7.t0,
|
|
body: _context7.t5
|
|
};
|
|
_context7.next = 13;
|
|
return fetch("".concat(baseUrl, "/signout"), fetchOptions);
|
|
case 13:
|
|
res = _context7.sent;
|
|
_context7.next = 16;
|
|
return res.json();
|
|
case 16:
|
|
data = _context7.sent;
|
|
broadcast.post({
|
|
event: "session",
|
|
data: {
|
|
trigger: "signout"
|
|
}
|
|
});
|
|
if (!((_options$redirect = options === null || options === void 0 ? void 0 : options.redirect) !== null && _options$redirect !== void 0 ? _options$redirect : true)) {
|
|
_context7.next = 23;
|
|
break;
|
|
}
|
|
url = (_data$url2 = data.url) !== null && _data$url2 !== void 0 ? _data$url2 : callbackUrl;
|
|
window.location.href = url;
|
|
if (url.includes("#")) window.location.reload();
|
|
return _context7.abrupt("return");
|
|
case 23:
|
|
_context7.next = 25;
|
|
return __NEXTAUTH._getSession({
|
|
event: "storage"
|
|
});
|
|
case 25:
|
|
return _context7.abrupt("return", data);
|
|
case 26:
|
|
case "end":
|
|
return _context7.stop();
|
|
}
|
|
}, _callee7);
|
|
}));
|
|
return _signOut.apply(this, arguments);
|
|
}
|
|
function SessionProvider(props) {
|
|
if (!SessionContext) {
|
|
throw new Error("React Context is unavailable in Server Components");
|
|
}
|
|
var children = props.children, basePath = props.basePath, refetchInterval = props.refetchInterval, refetchWhenOffline = props.refetchWhenOffline;
|
|
if (basePath) __NEXTAUTH.basePath = basePath;
|
|
var hasInitialSession = props.session !== undefined;
|
|
__NEXTAUTH._lastSync = hasInitialSession ? (0, _utils.now)() : 0;
|
|
var _React$useState3 = React.useState(function() {
|
|
if (hasInitialSession) __NEXTAUTH._session = props.session;
|
|
return props.session;
|
|
}), _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2), session = _React$useState4[0], setSession = _React$useState4[1];
|
|
var _React$useState5 = React.useState(!hasInitialSession), _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2), loading = _React$useState6[0], setLoading = _React$useState6[1];
|
|
React.useEffect(function() {
|
|
__NEXTAUTH._getSession = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
var _ref4, event, storageEvent, _args = arguments;
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while(1)switch(_context.prev = _context.next){
|
|
case 0:
|
|
_ref4 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, event = _ref4.event;
|
|
_context.prev = 1;
|
|
storageEvent = event === "storage";
|
|
if (!(storageEvent || __NEXTAUTH._session === undefined)) {
|
|
_context.next = 10;
|
|
break;
|
|
}
|
|
__NEXTAUTH._lastSync = (0, _utils.now)();
|
|
_context.next = 7;
|
|
return getSession({
|
|
broadcast: !storageEvent
|
|
});
|
|
case 7:
|
|
__NEXTAUTH._session = _context.sent;
|
|
setSession(__NEXTAUTH._session);
|
|
return _context.abrupt("return");
|
|
case 10:
|
|
if (!(!event || __NEXTAUTH._session === null || (0, _utils.now)() < __NEXTAUTH._lastSync)) {
|
|
_context.next = 12;
|
|
break;
|
|
}
|
|
return _context.abrupt("return");
|
|
case 12:
|
|
__NEXTAUTH._lastSync = (0, _utils.now)();
|
|
_context.next = 15;
|
|
return getSession();
|
|
case 15:
|
|
__NEXTAUTH._session = _context.sent;
|
|
setSession(__NEXTAUTH._session);
|
|
_context.next = 22;
|
|
break;
|
|
case 19:
|
|
_context.prev = 19;
|
|
_context.t0 = _context["catch"](1);
|
|
logger.error("CLIENT_SESSION_ERROR", _context.t0);
|
|
case 22:
|
|
_context.prev = 22;
|
|
setLoading(false);
|
|
return _context.finish(22);
|
|
case 25:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, null, [
|
|
[
|
|
1,
|
|
19,
|
|
22,
|
|
25
|
|
]
|
|
]);
|
|
}));
|
|
__NEXTAUTH._getSession();
|
|
return function() {
|
|
__NEXTAUTH._lastSync = 0;
|
|
__NEXTAUTH._session = undefined;
|
|
__NEXTAUTH._getSession = function() {};
|
|
};
|
|
}, []);
|
|
React.useEffect(function() {
|
|
var unsubscribe = broadcast.receive(function() {
|
|
return __NEXTAUTH._getSession({
|
|
event: "storage"
|
|
});
|
|
});
|
|
return function() {
|
|
return unsubscribe();
|
|
};
|
|
}, []);
|
|
React.useEffect(function() {
|
|
var _props$refetchOnWindo = props.refetchOnWindowFocus, refetchOnWindowFocus = _props$refetchOnWindo === void 0 ? true : _props$refetchOnWindo;
|
|
var visibilityHandler = function visibilityHandler() {
|
|
if (refetchOnWindowFocus && document.visibilityState === "visible") __NEXTAUTH._getSession({
|
|
event: "visibilitychange"
|
|
});
|
|
};
|
|
document.addEventListener("visibilitychange", visibilityHandler, false);
|
|
return function() {
|
|
return document.removeEventListener("visibilitychange", visibilityHandler, false);
|
|
};
|
|
}, [
|
|
props.refetchOnWindowFocus
|
|
]);
|
|
var isOnline = useOnline();
|
|
var shouldRefetch = refetchWhenOffline !== false || isOnline;
|
|
React.useEffect(function() {
|
|
if (refetchInterval && shouldRefetch) {
|
|
var refetchIntervalTimer = setInterval(function() {
|
|
if (__NEXTAUTH._session) {
|
|
__NEXTAUTH._getSession({
|
|
event: "poll"
|
|
});
|
|
}
|
|
}, refetchInterval * 1000);
|
|
return function() {
|
|
return clearInterval(refetchIntervalTimer);
|
|
};
|
|
}
|
|
}, [
|
|
refetchInterval,
|
|
shouldRefetch
|
|
]);
|
|
var value = React.useMemo(function() {
|
|
return {
|
|
data: session,
|
|
status: loading ? "loading" : session ? "authenticated" : "unauthenticated",
|
|
update: function update(data) {
|
|
return (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
var newSession;
|
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
while(1)switch(_context2.prev = _context2.next){
|
|
case 0:
|
|
if (!(loading || !session)) {
|
|
_context2.next = 2;
|
|
break;
|
|
}
|
|
return _context2.abrupt("return");
|
|
case 2:
|
|
setLoading(true);
|
|
_context2.t0 = _utils.fetchData;
|
|
_context2.t1 = __NEXTAUTH;
|
|
_context2.t2 = logger;
|
|
_context2.next = 8;
|
|
return getCsrfToken();
|
|
case 8:
|
|
_context2.t3 = _context2.sent;
|
|
_context2.t4 = data;
|
|
_context2.t5 = {
|
|
csrfToken: _context2.t3,
|
|
data: _context2.t4
|
|
};
|
|
_context2.t6 = {
|
|
body: _context2.t5
|
|
};
|
|
_context2.t7 = {
|
|
req: _context2.t6
|
|
};
|
|
_context2.next = 15;
|
|
return (0, _context2.t0)("session", _context2.t1, _context2.t2, _context2.t7);
|
|
case 15:
|
|
newSession = _context2.sent;
|
|
setLoading(false);
|
|
if (newSession) {
|
|
setSession(newSession);
|
|
broadcast.post({
|
|
event: "session",
|
|
data: {
|
|
trigger: "getSession"
|
|
}
|
|
});
|
|
}
|
|
return _context2.abrupt("return", newSession);
|
|
case 19:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee2);
|
|
}))();
|
|
}
|
|
};
|
|
}, [
|
|
session,
|
|
loading
|
|
]);
|
|
return (0, _jsxRuntime.jsx)(SessionContext.Provider, {
|
|
value: value,
|
|
children: children
|
|
});
|
|
}
|
|
}),
|
|
"[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-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (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$ssr$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-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$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/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js [app-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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-ssr] (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-ssr] (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$ssr$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-ssr] (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$ssr$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-ssr] (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-ssr] (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-ssr] (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-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (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$ssr$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-ssr] (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$ssr$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-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$ssr$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$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (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$ssr$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-ssr] (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$ssr$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-ssr] (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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$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$ssr$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$ssr$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$ssr$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-ssr] (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$ssr$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-ssr] (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$ssr$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-ssr] (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$ssr$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$ssr$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-ssr] (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-ssr] (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$ssr$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-ssr] (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$ssr$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-ssr] (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$ssr$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$ssr$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-ssr] (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-ssr] (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$ssr$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-ssr] (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$ssr$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-ssr] (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$ssr$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$ssr$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-ssr] (ecmascript)");
|
|
}),
|
|
];
|
|
|
|
//# sourceMappingURL=a0629__pnpm_1f8b3bcd._.js.map
|