16248 lines
1.0 MiB
Plaintext
16248 lines
1.0 MiB
Plaintext
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/router/utils/querystring.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
"use strict";
|
||
|
||
Object.defineProperty(exports, "__esModule", {
|
||
value: true
|
||
});
|
||
0 && (module.exports = {
|
||
assign: null,
|
||
searchParamsToUrlQuery: null,
|
||
urlQueryToSearchParams: null
|
||
});
|
||
function _export(target, all) {
|
||
for(var name in all)Object.defineProperty(target, name, {
|
||
enumerable: true,
|
||
get: all[name]
|
||
});
|
||
}
|
||
_export(exports, {
|
||
assign: function() {
|
||
return assign;
|
||
},
|
||
searchParamsToUrlQuery: function() {
|
||
return searchParamsToUrlQuery;
|
||
},
|
||
urlQueryToSearchParams: function() {
|
||
return urlQueryToSearchParams;
|
||
}
|
||
});
|
||
function searchParamsToUrlQuery(searchParams) {
|
||
const query = {};
|
||
for (const [key, value] of searchParams.entries()){
|
||
const existing = query[key];
|
||
if (typeof existing === 'undefined') {
|
||
query[key] = value;
|
||
} else if (Array.isArray(existing)) {
|
||
existing.push(value);
|
||
} else {
|
||
query[key] = [
|
||
existing,
|
||
value
|
||
];
|
||
}
|
||
}
|
||
return query;
|
||
}
|
||
function stringifyUrlQueryParam(param) {
|
||
if (typeof param === 'string') {
|
||
return param;
|
||
}
|
||
if (typeof param === 'number' && !isNaN(param) || typeof param === 'boolean') {
|
||
return String(param);
|
||
} else {
|
||
return '';
|
||
}
|
||
}
|
||
function urlQueryToSearchParams(query) {
|
||
const searchParams = new URLSearchParams();
|
||
for (const [key, value] of Object.entries(query)){
|
||
if (Array.isArray(value)) {
|
||
for (const item of value){
|
||
searchParams.append(key, stringifyUrlQueryParam(item));
|
||
}
|
||
} else {
|
||
searchParams.set(key, stringifyUrlQueryParam(value));
|
||
}
|
||
}
|
||
return searchParams;
|
||
}
|
||
function assign(target, ...searchParamsList) {
|
||
for (const searchParams of searchParamsList){
|
||
for (const key of searchParams.keys()){
|
||
target.delete(key);
|
||
}
|
||
for (const [key, value] of searchParams.entries()){
|
||
target.append(key, value);
|
||
}
|
||
}
|
||
return target;
|
||
} //# sourceMappingURL=querystring.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/router/utils/format-url.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
"use strict";
|
||
|
||
// Format function modified from nodejs
|
||
// Copyright Joyent, Inc. and other Node contributors.
|
||
//
|
||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||
// copy of this software and associated documentation files (the
|
||
// "Software"), to deal in the Software without restriction, including
|
||
// without limitation the rights to use, copy, modify, merge, publish,
|
||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||
// persons to whom the Software is furnished to do so, subject to the
|
||
// following conditions:
|
||
//
|
||
// The above copyright notice and this permission notice shall be included
|
||
// in all copies or substantial portions of the Software.
|
||
//
|
||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
|
||
"use strict";
|
||
Object.defineProperty(exports, "__esModule", {
|
||
value: true
|
||
});
|
||
0 && (module.exports = {
|
||
formatUrl: null,
|
||
formatWithValidation: null,
|
||
urlObjectKeys: null
|
||
});
|
||
function _export(target, all) {
|
||
for(var name in all)Object.defineProperty(target, name, {
|
||
enumerable: true,
|
||
get: all[name]
|
||
});
|
||
}
|
||
_export(exports, {
|
||
formatUrl: function() {
|
||
return formatUrl;
|
||
},
|
||
formatWithValidation: function() {
|
||
return formatWithValidation;
|
||
},
|
||
urlObjectKeys: function() {
|
||
return urlObjectKeys;
|
||
}
|
||
});
|
||
const _interop_require_wildcard = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)");
|
||
const _querystring = /*#__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/shared/lib/router/utils/querystring.js [app-client] (ecmascript)"));
|
||
const slashedProtocols = /https?|ftp|gopher|file/;
|
||
function formatUrl(urlObj) {
|
||
let { auth, hostname } = urlObj;
|
||
let protocol = urlObj.protocol || '';
|
||
let pathname = urlObj.pathname || '';
|
||
let hash = urlObj.hash || '';
|
||
let query = urlObj.query || '';
|
||
let host = false;
|
||
auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : '';
|
||
if (urlObj.host) {
|
||
host = auth + urlObj.host;
|
||
} else if (hostname) {
|
||
host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname);
|
||
if (urlObj.port) {
|
||
host += ':' + urlObj.port;
|
||
}
|
||
}
|
||
if (query && typeof query === 'object') {
|
||
query = String(_querystring.urlQueryToSearchParams(query));
|
||
}
|
||
let search = urlObj.search || query && `?${query}` || '';
|
||
if (protocol && !protocol.endsWith(':')) protocol += ':';
|
||
if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {
|
||
host = '//' + (host || '');
|
||
if (pathname && pathname[0] !== '/') pathname = '/' + pathname;
|
||
} else if (!host) {
|
||
host = '';
|
||
}
|
||
if (hash && hash[0] !== '#') hash = '#' + hash;
|
||
if (search && search[0] !== '?') search = '?' + search;
|
||
pathname = pathname.replace(/[?#]/g, encodeURIComponent);
|
||
search = search.replace('#', '%23');
|
||
return `${protocol}${host}${pathname}${search}${hash}`;
|
||
}
|
||
const urlObjectKeys = [
|
||
'auth',
|
||
'hash',
|
||
'host',
|
||
'hostname',
|
||
'href',
|
||
'path',
|
||
'pathname',
|
||
'port',
|
||
'protocol',
|
||
'query',
|
||
'search',
|
||
'slashes'
|
||
];
|
||
function formatWithValidation(url) {
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
if (url !== null && typeof url === 'object') {
|
||
Object.keys(url).forEach((key)=>{
|
||
if (!urlObjectKeys.includes(key)) {
|
||
console.warn(`Unknown key passed via urlObject into url.format: ${key}`);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
return formatUrl(url);
|
||
} //# sourceMappingURL=format-url.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/use-merged-ref.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
"use strict";
|
||
|
||
Object.defineProperty(exports, "__esModule", {
|
||
value: true
|
||
});
|
||
Object.defineProperty(exports, "useMergedRef", {
|
||
enumerable: true,
|
||
get: function() {
|
||
return useMergedRef;
|
||
}
|
||
});
|
||
const _react = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
function useMergedRef(refA, refB) {
|
||
const cleanupA = (0, _react.useRef)(null);
|
||
const cleanupB = (0, _react.useRef)(null);
|
||
// NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
|
||
// (this happens often if the user doesn't pass a ref to Link/Form/Image)
|
||
// But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
|
||
// and the user might pass that ref into ref-merging library that doesn't support cleanup refs
|
||
// (because it hasn't been updated for React 19)
|
||
// which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
|
||
// So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
|
||
return (0, _react.useCallback)((current)=>{
|
||
if (current === null) {
|
||
const cleanupFnA = cleanupA.current;
|
||
if (cleanupFnA) {
|
||
cleanupA.current = null;
|
||
cleanupFnA();
|
||
}
|
||
const cleanupFnB = cleanupB.current;
|
||
if (cleanupFnB) {
|
||
cleanupB.current = null;
|
||
cleanupFnB();
|
||
}
|
||
} else {
|
||
if (refA) {
|
||
cleanupA.current = applyRef(refA, current);
|
||
}
|
||
if (refB) {
|
||
cleanupB.current = applyRef(refB, current);
|
||
}
|
||
}
|
||
}, [
|
||
refA,
|
||
refB
|
||
]);
|
||
}
|
||
function applyRef(refA, current) {
|
||
if (typeof refA === 'function') {
|
||
const cleanup = refA(current);
|
||
if (typeof cleanup === 'function') {
|
||
return cleanup;
|
||
} else {
|
||
return ()=>refA(null);
|
||
}
|
||
} else {
|
||
refA.current = current;
|
||
return ()=>{
|
||
refA.current = null;
|
||
};
|
||
}
|
||
}
|
||
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=use-merged-ref.js.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
"use strict";
|
||
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
|
||
"use strict";
|
||
Object.defineProperty(exports, "__esModule", {
|
||
value: true
|
||
});
|
||
0 && (module.exports = {
|
||
DecodeError: null,
|
||
MiddlewareNotFoundError: null,
|
||
MissingStaticPage: null,
|
||
NormalizeError: null,
|
||
PageNotFoundError: null,
|
||
SP: null,
|
||
ST: null,
|
||
WEB_VITALS: null,
|
||
execOnce: null,
|
||
getDisplayName: null,
|
||
getLocationOrigin: null,
|
||
getURL: null,
|
||
isAbsoluteUrl: null,
|
||
isResSent: null,
|
||
loadGetInitialProps: null,
|
||
normalizeRepeatedSlashes: null,
|
||
stringifyError: null
|
||
});
|
||
function _export(target, all) {
|
||
for(var name in all)Object.defineProperty(target, name, {
|
||
enumerable: true,
|
||
get: all[name]
|
||
});
|
||
}
|
||
_export(exports, {
|
||
DecodeError: function() {
|
||
return DecodeError;
|
||
},
|
||
MiddlewareNotFoundError: function() {
|
||
return MiddlewareNotFoundError;
|
||
},
|
||
MissingStaticPage: function() {
|
||
return MissingStaticPage;
|
||
},
|
||
NormalizeError: function() {
|
||
return NormalizeError;
|
||
},
|
||
PageNotFoundError: function() {
|
||
return PageNotFoundError;
|
||
},
|
||
SP: function() {
|
||
return SP;
|
||
},
|
||
ST: function() {
|
||
return ST;
|
||
},
|
||
WEB_VITALS: function() {
|
||
return WEB_VITALS;
|
||
},
|
||
execOnce: function() {
|
||
return execOnce;
|
||
},
|
||
getDisplayName: function() {
|
||
return getDisplayName;
|
||
},
|
||
getLocationOrigin: function() {
|
||
return getLocationOrigin;
|
||
},
|
||
getURL: function() {
|
||
return getURL;
|
||
},
|
||
isAbsoluteUrl: function() {
|
||
return isAbsoluteUrl;
|
||
},
|
||
isResSent: function() {
|
||
return isResSent;
|
||
},
|
||
loadGetInitialProps: function() {
|
||
return loadGetInitialProps;
|
||
},
|
||
normalizeRepeatedSlashes: function() {
|
||
return normalizeRepeatedSlashes;
|
||
},
|
||
stringifyError: function() {
|
||
return stringifyError;
|
||
}
|
||
});
|
||
const WEB_VITALS = [
|
||
'CLS',
|
||
'FCP',
|
||
'FID',
|
||
'INP',
|
||
'LCP',
|
||
'TTFB'
|
||
];
|
||
function execOnce(fn) {
|
||
let used = false;
|
||
let result;
|
||
return (...args)=>{
|
||
if (!used) {
|
||
used = true;
|
||
result = fn(...args);
|
||
}
|
||
return result;
|
||
};
|
||
}
|
||
// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1
|
||
// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3
|
||
const ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/;
|
||
const isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);
|
||
function getLocationOrigin() {
|
||
const { protocol, hostname, port } = window.location;
|
||
return `${protocol}//${hostname}${port ? ':' + port : ''}`;
|
||
}
|
||
function getURL() {
|
||
const { href } = window.location;
|
||
const origin = getLocationOrigin();
|
||
return href.substring(origin.length);
|
||
}
|
||
function getDisplayName(Component) {
|
||
return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';
|
||
}
|
||
function isResSent(res) {
|
||
return res.finished || res.headersSent;
|
||
}
|
||
function normalizeRepeatedSlashes(url) {
|
||
const urlParts = url.split('?');
|
||
const urlNoQuery = urlParts[0];
|
||
return urlNoQuery // first we replace any non-encoded backslashes with forward
|
||
// then normalize repeated forward slashes
|
||
.replace(/\\/g, '/').replace(/\/\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '');
|
||
}
|
||
async function loadGetInitialProps(App, ctx) {
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
if (App.prototype?.getInitialProps) {
|
||
const message = `"${getDisplayName(App)}.getInitialProps()" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`;
|
||
throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
|
||
value: "E394",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
}
|
||
// when called from _app `ctx` is nested in `ctx`
|
||
const res = ctx.res || ctx.ctx && ctx.ctx.res;
|
||
if (!App.getInitialProps) {
|
||
if (ctx.ctx && ctx.Component) {
|
||
// @ts-ignore pageProps default
|
||
return {
|
||
pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)
|
||
};
|
||
}
|
||
return {};
|
||
}
|
||
const props = await App.getInitialProps(ctx);
|
||
if (res && isResSent(res)) {
|
||
return props;
|
||
}
|
||
if (!props) {
|
||
const message = `"${getDisplayName(App)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`;
|
||
throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
|
||
value: "E394",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
if (Object.keys(props).length === 0 && !ctx.ctx) {
|
||
console.warn(`${getDisplayName(App)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`);
|
||
}
|
||
}
|
||
return props;
|
||
}
|
||
const SP = typeof performance !== 'undefined';
|
||
const ST = SP && [
|
||
'mark',
|
||
'measure',
|
||
'getEntriesByName'
|
||
].every((method)=>typeof performance[method] === 'function');
|
||
class DecodeError extends Error {
|
||
}
|
||
class NormalizeError extends Error {
|
||
}
|
||
class PageNotFoundError extends Error {
|
||
constructor(page){
|
||
super();
|
||
this.code = 'ENOENT';
|
||
this.name = 'PageNotFoundError';
|
||
this.message = `Cannot find module for page: ${page}`;
|
||
}
|
||
}
|
||
class MissingStaticPage extends Error {
|
||
constructor(page, message){
|
||
super();
|
||
this.message = `Failed to load static file for page: ${page} ${message}`;
|
||
}
|
||
}
|
||
class MiddlewareNotFoundError extends Error {
|
||
constructor(){
|
||
super();
|
||
this.code = 'ENOENT';
|
||
this.message = `Cannot find the middleware module`;
|
||
}
|
||
}
|
||
function stringifyError(error) {
|
||
return JSON.stringify({
|
||
message: error.message,
|
||
stack: error.stack
|
||
});
|
||
} //# sourceMappingURL=utils.js.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/router/utils/is-local-url.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
"use strict";
|
||
|
||
Object.defineProperty(exports, "__esModule", {
|
||
value: true
|
||
});
|
||
Object.defineProperty(exports, "isLocalURL", {
|
||
enumerable: true,
|
||
get: function() {
|
||
return isLocalURL;
|
||
}
|
||
});
|
||
const _utils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils.js [app-client] (ecmascript)");
|
||
const _hasbasepath = __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/has-base-path.js [app-client] (ecmascript)");
|
||
function isLocalURL(url) {
|
||
// prevent a hydration mismatch on href for url with anchor refs
|
||
if (!(0, _utils.isAbsoluteUrl)(url)) return true;
|
||
try {
|
||
// absolute urls can be local if they are on the same origin
|
||
const locationOrigin = (0, _utils.getLocationOrigin)();
|
||
const resolved = new URL(url, locationOrigin);
|
||
return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);
|
||
} catch (_) {
|
||
return false;
|
||
}
|
||
} //# sourceMappingURL=is-local-url.js.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/error-once.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
"use strict";
|
||
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
|
||
"use strict";
|
||
Object.defineProperty(exports, "__esModule", {
|
||
value: true
|
||
});
|
||
Object.defineProperty(exports, "errorOnce", {
|
||
enumerable: true,
|
||
get: function() {
|
||
return errorOnce;
|
||
}
|
||
});
|
||
let errorOnce = (_)=>{};
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
const errors = new Set();
|
||
errorOnce = (msg)=>{
|
||
if (!errors.has(msg)) {
|
||
console.error(msg);
|
||
}
|
||
errors.add(msg);
|
||
};
|
||
} //# sourceMappingURL=error-once.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/app-dir/link.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
"use strict";
|
||
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
|
||
'use client';
|
||
"use strict";
|
||
Object.defineProperty(exports, "__esModule", {
|
||
value: true
|
||
});
|
||
0 && (module.exports = {
|
||
default: null,
|
||
useLinkStatus: null
|
||
});
|
||
function _export(target, all) {
|
||
for(var name in all)Object.defineProperty(target, name, {
|
||
enumerable: true,
|
||
get: all[name]
|
||
});
|
||
}
|
||
_export(exports, {
|
||
/**
|
||
* A React component that extends the HTML `<a>` element to provide
|
||
* [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)
|
||
* and client-side navigation. This is the primary way to navigate between routes in Next.js.
|
||
*
|
||
* @remarks
|
||
* - Prefetching is only enabled in production.
|
||
*
|
||
* @see https://nextjs.org/docs/app/api-reference/components/link
|
||
*/ default: function() {
|
||
return LinkComponent;
|
||
},
|
||
useLinkStatus: function() {
|
||
return useLinkStatus;
|
||
}
|
||
});
|
||
const _interop_require_wildcard = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)");
|
||
const _jsxruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"));
|
||
const _formaturl = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/router/utils/format-url.js [app-client] (ecmascript)");
|
||
const _approutercontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
|
||
const _usemergedref = __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/use-merged-ref.js [app-client] (ecmascript)");
|
||
const _utils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils.js [app-client] (ecmascript)");
|
||
const _addbasepath = __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/add-base-path.js [app-client] (ecmascript)");
|
||
const _warnonce = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/warn-once.js [app-client] (ecmascript)");
|
||
const _links = __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/links.js [app-client] (ecmascript)");
|
||
const _islocalurl = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/router/utils/is-local-url.js [app-client] (ecmascript)");
|
||
const _types = __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/segment-cache/types.js [app-client] (ecmascript)");
|
||
const _erroronce = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/error-once.js [app-client] (ecmascript)");
|
||
function isModifiedEvent(event) {
|
||
const eventTarget = event.currentTarget;
|
||
const target = eventTarget.getAttribute('target');
|
||
return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download
|
||
event.nativeEvent && event.nativeEvent.which === 2;
|
||
}
|
||
function linkClicked(e, href, as, linkInstanceRef, replace, scroll, onNavigate) {
|
||
if (typeof window !== 'undefined') {
|
||
const { nodeName } = e.currentTarget;
|
||
// anchors inside an svg have a lowercase nodeName
|
||
const isAnchorNodeName = nodeName.toUpperCase() === 'A';
|
||
if (isAnchorNodeName && isModifiedEvent(e) || e.currentTarget.hasAttribute('download')) {
|
||
// ignore click for browser’s default behavior
|
||
return;
|
||
}
|
||
if (!(0, _islocalurl.isLocalURL)(href)) {
|
||
if (replace) {
|
||
// browser default behavior does not replace the history state
|
||
// so we need to do it manually
|
||
e.preventDefault();
|
||
location.replace(href);
|
||
}
|
||
// ignore click for browser’s default behavior
|
||
return;
|
||
}
|
||
e.preventDefault();
|
||
if (onNavigate) {
|
||
let isDefaultPrevented = false;
|
||
onNavigate({
|
||
preventDefault: ()=>{
|
||
isDefaultPrevented = true;
|
||
}
|
||
});
|
||
if (isDefaultPrevented) {
|
||
return;
|
||
}
|
||
}
|
||
const { dispatchNavigateAction } = __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/app-router-instance.js [app-client] (ecmascript)");
|
||
_react.default.startTransition(()=>{
|
||
dispatchNavigateAction(as || href, replace ? 'replace' : 'push', scroll ?? true, linkInstanceRef.current);
|
||
});
|
||
}
|
||
}
|
||
function formatStringOrUrl(urlObjOrString) {
|
||
if (typeof urlObjOrString === 'string') {
|
||
return urlObjOrString;
|
||
}
|
||
return (0, _formaturl.formatUrl)(urlObjOrString);
|
||
}
|
||
function LinkComponent(props) {
|
||
const [linkStatus, setOptimisticLinkStatus] = (0, _react.useOptimistic)(_links.IDLE_LINK_STATUS);
|
||
let children;
|
||
const linkInstanceRef = (0, _react.useRef)(null);
|
||
const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, onNavigate, ref: forwardedRef, unstable_dynamicOnHover, ...restProps } = props;
|
||
children = childrenProp;
|
||
if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) {
|
||
children = /*#__PURE__*/ (0, _jsxruntime.jsx)("a", {
|
||
children: children
|
||
});
|
||
}
|
||
const router = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);
|
||
const prefetchEnabled = prefetchProp !== false;
|
||
const fetchStrategy = prefetchProp !== false ? getFetchStrategyFromPrefetchProp(prefetchProp) : _types.FetchStrategy.PPR;
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
function createPropError(args) {
|
||
return Object.defineProperty(new Error(`Failed prop type: The prop \`${args.key}\` expects a ${args.expected} in \`<Link>\`, but got \`${args.actual}\` instead.` + (typeof window !== 'undefined' ? "\nOpen your browser's console to view the Component stack trace." : '')), "__NEXT_ERROR_CODE", {
|
||
value: "E319",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
// TypeScript trick for type-guarding:
|
||
const requiredPropsGuard = {
|
||
href: true
|
||
};
|
||
const requiredProps = Object.keys(requiredPropsGuard);
|
||
requiredProps.forEach((key)=>{
|
||
if (key === 'href') {
|
||
if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {
|
||
throw createPropError({
|
||
key,
|
||
expected: '`string` or `object`',
|
||
actual: props[key] === null ? 'null' : typeof props[key]
|
||
});
|
||
}
|
||
} else {
|
||
// TypeScript trick for type-guarding:
|
||
const _ = key;
|
||
}
|
||
});
|
||
// TypeScript trick for type-guarding:
|
||
const optionalPropsGuard = {
|
||
as: true,
|
||
replace: true,
|
||
scroll: true,
|
||
shallow: true,
|
||
passHref: true,
|
||
prefetch: true,
|
||
unstable_dynamicOnHover: true,
|
||
onClick: true,
|
||
onMouseEnter: true,
|
||
onTouchStart: true,
|
||
legacyBehavior: true,
|
||
onNavigate: true
|
||
};
|
||
const optionalProps = Object.keys(optionalPropsGuard);
|
||
optionalProps.forEach((key)=>{
|
||
const valType = typeof props[key];
|
||
if (key === 'as') {
|
||
if (props[key] && valType !== 'string' && valType !== 'object') {
|
||
throw createPropError({
|
||
key,
|
||
expected: '`string` or `object`',
|
||
actual: valType
|
||
});
|
||
}
|
||
} else if (key === 'onClick' || key === 'onMouseEnter' || key === 'onTouchStart' || key === 'onNavigate') {
|
||
if (props[key] && valType !== 'function') {
|
||
throw createPropError({
|
||
key,
|
||
expected: '`function`',
|
||
actual: valType
|
||
});
|
||
}
|
||
} else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'legacyBehavior' || key === 'unstable_dynamicOnHover') {
|
||
if (props[key] != null && valType !== 'boolean') {
|
||
throw createPropError({
|
||
key,
|
||
expected: '`boolean`',
|
||
actual: valType
|
||
});
|
||
}
|
||
} else if (key === 'prefetch') {
|
||
if (props[key] != null && valType !== 'boolean' && props[key] !== 'auto') {
|
||
throw createPropError({
|
||
key,
|
||
expected: '`boolean | "auto"`',
|
||
actual: valType
|
||
});
|
||
}
|
||
} else {
|
||
// TypeScript trick for type-guarding:
|
||
const _ = key;
|
||
}
|
||
});
|
||
}
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
if (props.locale) {
|
||
(0, _warnonce.warnOnce)('The `locale` prop is not supported in `next/link` while using the `app` router. Read more about app router internalization: https://nextjs.org/docs/app/building-your-application/routing/internationalization');
|
||
}
|
||
if (!asProp) {
|
||
let href;
|
||
if (typeof hrefProp === 'string') {
|
||
href = hrefProp;
|
||
} else if (typeof hrefProp === 'object' && typeof hrefProp.pathname === 'string') {
|
||
href = hrefProp.pathname;
|
||
}
|
||
if (href) {
|
||
const hasDynamicSegment = href.split('/').some((segment)=>segment.startsWith('[') && segment.endsWith(']'));
|
||
if (hasDynamicSegment) {
|
||
throw Object.defineProperty(new Error(`Dynamic href \`${href}\` found in <Link> while using the \`/app\` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href`), "__NEXT_ERROR_CODE", {
|
||
value: "E267",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
const { href, as } = _react.default.useMemo({
|
||
"LinkComponent.useMemo": ()=>{
|
||
const resolvedHref = formatStringOrUrl(hrefProp);
|
||
return {
|
||
href: resolvedHref,
|
||
as: asProp ? formatStringOrUrl(asProp) : resolvedHref
|
||
};
|
||
}
|
||
}["LinkComponent.useMemo"], [
|
||
hrefProp,
|
||
asProp
|
||
]);
|
||
// This will return the first child, if multiple are provided it will throw an error
|
||
let child;
|
||
if (legacyBehavior) {
|
||
if (children?.$$typeof === Symbol.for('react.lazy')) {
|
||
throw Object.defineProperty(new Error(`\`<Link legacyBehavior>\` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's \`<a>\` tag.`), "__NEXT_ERROR_CODE", {
|
||
value: "E863",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
if (onClick) {
|
||
console.warn(`"onClick" was passed to <Link> with \`href\` of \`${hrefProp}\` but "legacyBehavior" was set. The legacy behavior requires onClick be set on the child of next/link`);
|
||
}
|
||
if (onMouseEnterProp) {
|
||
console.warn(`"onMouseEnter" was passed to <Link> with \`href\` of \`${hrefProp}\` but "legacyBehavior" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`);
|
||
}
|
||
try {
|
||
child = _react.default.Children.only(children);
|
||
} catch (err) {
|
||
if (!children) {
|
||
throw Object.defineProperty(new Error(`No children were passed to <Link> with \`href\` of \`${hrefProp}\` but one child is required https://nextjs.org/docs/messages/link-no-children`), "__NEXT_ERROR_CODE", {
|
||
value: "E320",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
throw Object.defineProperty(new Error(`Multiple children were passed to <Link> with \`href\` of \`${hrefProp}\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` + (typeof window !== 'undefined' ? " \nOpen your browser's console to view the Component stack trace." : '')), "__NEXT_ERROR_CODE", {
|
||
value: "E266",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
} else //TURBOPACK unreachable
|
||
;
|
||
} else {
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
if (children?.type === 'a') {
|
||
throw Object.defineProperty(new Error('Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor'), "__NEXT_ERROR_CODE", {
|
||
value: "E209",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
}
|
||
}
|
||
const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef;
|
||
// Use a callback ref to attach an IntersectionObserver to the anchor tag on
|
||
// mount. In the future we will also use this to keep track of all the
|
||
// currently mounted <Link> instances, e.g. so we can re-prefetch them after
|
||
// a revalidation or refresh.
|
||
const observeLinkVisibilityOnMount = _react.default.useCallback({
|
||
"LinkComponent.useCallback[observeLinkVisibilityOnMount]": (element)=>{
|
||
if (router !== null) {
|
||
linkInstanceRef.current = (0, _links.mountLinkInstance)(element, href, router, fetchStrategy, prefetchEnabled, setOptimisticLinkStatus);
|
||
}
|
||
return ({
|
||
"LinkComponent.useCallback[observeLinkVisibilityOnMount]": ()=>{
|
||
if (linkInstanceRef.current) {
|
||
(0, _links.unmountLinkForCurrentNavigation)(linkInstanceRef.current);
|
||
linkInstanceRef.current = null;
|
||
}
|
||
(0, _links.unmountPrefetchableInstance)(element);
|
||
}
|
||
})["LinkComponent.useCallback[observeLinkVisibilityOnMount]"];
|
||
}
|
||
}["LinkComponent.useCallback[observeLinkVisibilityOnMount]"], [
|
||
prefetchEnabled,
|
||
href,
|
||
router,
|
||
fetchStrategy,
|
||
setOptimisticLinkStatus
|
||
]);
|
||
const mergedRef = (0, _usemergedref.useMergedRef)(observeLinkVisibilityOnMount, childRef);
|
||
const childProps = {
|
||
ref: mergedRef,
|
||
onClick (e) {
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
if (!e) {
|
||
throw Object.defineProperty(new Error(`Component rendered inside next/link has to pass click event to "onClick" prop.`), "__NEXT_ERROR_CODE", {
|
||
value: "E312",
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
}
|
||
}
|
||
if (!legacyBehavior && typeof onClick === 'function') {
|
||
onClick(e);
|
||
}
|
||
if (legacyBehavior && child.props && typeof child.props.onClick === 'function') {
|
||
child.props.onClick(e);
|
||
}
|
||
if (!router) {
|
||
return;
|
||
}
|
||
if (e.defaultPrevented) {
|
||
return;
|
||
}
|
||
linkClicked(e, href, as, linkInstanceRef, replace, scroll, onNavigate);
|
||
},
|
||
onMouseEnter (e) {
|
||
if (!legacyBehavior && typeof onMouseEnterProp === 'function') {
|
||
onMouseEnterProp(e);
|
||
}
|
||
if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') {
|
||
child.props.onMouseEnter(e);
|
||
}
|
||
if (!router) {
|
||
return;
|
||
}
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
return;
|
||
}
|
||
//TURBOPACK unreachable
|
||
;
|
||
const upgradeToDynamicPrefetch = undefined;
|
||
},
|
||
onTouchStart: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : function onTouchStart(e) {
|
||
if (!legacyBehavior && typeof onTouchStartProp === 'function') {
|
||
onTouchStartProp(e);
|
||
}
|
||
if (legacyBehavior && child.props && typeof child.props.onTouchStart === 'function') {
|
||
child.props.onTouchStart(e);
|
||
}
|
||
if (!router) {
|
||
return;
|
||
}
|
||
if (!prefetchEnabled) {
|
||
return;
|
||
}
|
||
const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true;
|
||
(0, _links.onNavigationIntent)(e.currentTarget, upgradeToDynamicPrefetch);
|
||
}
|
||
};
|
||
// If the url is absolute, we can bypass the logic to prepend the basePath.
|
||
if ((0, _utils.isAbsoluteUrl)(as)) {
|
||
childProps.href = as;
|
||
} else if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) {
|
||
childProps.href = (0, _addbasepath.addBasePath)(as);
|
||
}
|
||
let link;
|
||
if (legacyBehavior) {
|
||
if ("TURBOPACK compile-time truthy", 1) {
|
||
(0, _erroronce.errorOnce)('`legacyBehavior` is deprecated and will be removed in a future ' + 'release. A codemod is available to upgrade your components:\n\n' + 'npx @next/codemod@latest new-link .\n\n' + 'Learn more: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#remove-a-tags-from-link-components');
|
||
}
|
||
link = /*#__PURE__*/ _react.default.cloneElement(child, childProps);
|
||
} else {
|
||
link = /*#__PURE__*/ (0, _jsxruntime.jsx)("a", {
|
||
...restProps,
|
||
...childProps,
|
||
children: children
|
||
});
|
||
}
|
||
return /*#__PURE__*/ (0, _jsxruntime.jsx)(LinkStatusContext.Provider, {
|
||
value: linkStatus,
|
||
children: link
|
||
});
|
||
}
|
||
const LinkStatusContext = /*#__PURE__*/ (0, _react.createContext)(_links.IDLE_LINK_STATUS);
|
||
const useLinkStatus = ()=>{
|
||
return (0, _react.useContext)(LinkStatusContext);
|
||
};
|
||
function getFetchStrategyFromPrefetchProp(prefetchProp) {
|
||
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
|
||
;
|
||
else {
|
||
return prefetchProp === null || prefetchProp === 'auto' ? _types.FetchStrategy.PPR : // (although invalid values should've been filtered out by prop validation in dev)
|
||
_types.FetchStrategy.Full;
|
||
}
|
||
}
|
||
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=link.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/book-open.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>BookOpen
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const BookOpen = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("BookOpen", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 7v14",
|
||
key: "1akyts"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",
|
||
key: "ruj8y"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=book-open.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/book-open.js [app-client] (ecmascript) <export default as BookOpen>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"BookOpen",
|
||
()=>__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$book$2d$open$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$book$2d$open$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/book-open.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/search.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>Search
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const Search = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Search", [
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "11",
|
||
cy: "11",
|
||
r: "8",
|
||
key: "4ej97u"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "m21 21-4.3-4.3",
|
||
key: "1qie3q"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=search.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/search.js [app-client] (ecmascript) <export default as Search>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Search",
|
||
()=>__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$search$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$search$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/search.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/settings.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>Settings
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const Settings = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Settings", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",
|
||
key: "1qme2f"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "12",
|
||
r: "3",
|
||
key: "1v7zrd"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=settings.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/settings.js [app-client] (ecmascript) <export default as Settings>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Settings",
|
||
()=>__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$settings$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$settings$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/settings.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/log-out.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>LogOut
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const LogOut = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("LogOut", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",
|
||
key: "1uf3rs"
|
||
}
|
||
],
|
||
[
|
||
"polyline",
|
||
{
|
||
points: "16 17 21 12 16 7",
|
||
key: "1gabdz"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "21",
|
||
x2: "9",
|
||
y1: "12",
|
||
y2: "12",
|
||
key: "1uyos4"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=log-out.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/log-out.js [app-client] (ecmascript) <export default as LogOut>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"LogOut",
|
||
()=>__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$log$2d$out$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$log$2d$out$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/log-out.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>ChevronDown
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const ChevronDown = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("ChevronDown", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m6 9 6 6 6-6",
|
||
key: "qrunsl"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=chevron-down.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/chevron-down.js [app-client] (ecmascript) <export default as ChevronDown>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ChevronDown",
|
||
()=>__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$chevron$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevron$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/plus.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>Plus
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const Plus = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Plus", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M5 12h14",
|
||
key: "1ays0h"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 5v14",
|
||
key: "s699le"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=plus.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/plus.js [app-client] (ecmascript) <export default as Plus>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Plus",
|
||
()=>__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$plus$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$plus$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/plus.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/trash-2.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>Trash2
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const Trash2 = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Trash2", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M3 6h18",
|
||
key: "d0wm0j"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",
|
||
key: "4alrt4"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",
|
||
key: "v07s0e"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "10",
|
||
x2: "10",
|
||
y1: "11",
|
||
y2: "17",
|
||
key: "1uufr5"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "14",
|
||
x2: "14",
|
||
y1: "11",
|
||
y2: "17",
|
||
key: "xtxkd"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=trash-2.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/trash-2.js [app-client] (ecmascript) <export default as Trash2>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Trash2",
|
||
()=>__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$trash$2d$2$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$trash$2d$2$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/trash-2.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/calculator.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>Calculator
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const Calculator = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Calculator", [
|
||
[
|
||
"rect",
|
||
{
|
||
width: "16",
|
||
height: "20",
|
||
x: "4",
|
||
y: "2",
|
||
rx: "2",
|
||
key: "1nb95v"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "8",
|
||
x2: "16",
|
||
y1: "6",
|
||
y2: "6",
|
||
key: "x4nwl0"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "16",
|
||
x2: "16",
|
||
y1: "14",
|
||
y2: "18",
|
||
key: "wjye3r"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M16 10h.01",
|
||
key: "1m94wz"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 10h.01",
|
||
key: "1nrarc"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M8 10h.01",
|
||
key: "19clt8"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 14h.01",
|
||
key: "1etili"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M8 14h.01",
|
||
key: "6423bh"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 18h.01",
|
||
key: "mhygvu"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M8 18h.01",
|
||
key: "lrp35t"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=calculator.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/calculator.js [app-client] (ecmascript) <export default as Calculator>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Calculator",
|
||
()=>__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$calculator$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$calculator$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/calculator.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle-help.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>CircleHelp
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const CircleHelp = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("CircleHelp", [
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "12",
|
||
r: "10",
|
||
key: "1mglay"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",
|
||
key: "1u773s"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 17h.01",
|
||
key: "p32p05"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=circle-help.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/circle-help.js [app-client] (ecmascript) <export default as HelpCircle>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"HelpCircle",
|
||
()=>__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$circle$2d$help$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$help$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle-help.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-avatar@1.1.2_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@_3ee3dafa662d71951c1a3d5b289c96d1/node_modules/@radix-ui/react-avatar/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Avatar",
|
||
()=>Avatar,
|
||
"AvatarFallback",
|
||
()=>AvatarFallback,
|
||
"AvatarImage",
|
||
()=>AvatarImage,
|
||
"Fallback",
|
||
()=>Fallback,
|
||
"Image",
|
||
()=>Image,
|
||
"Root",
|
||
()=>Root,
|
||
"createAvatarScope",
|
||
()=>createAvatarScope
|
||
]);
|
||
// packages/react/avatar/src/Avatar.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var AVATAR_NAME = "Avatar";
|
||
var [createAvatarContext, createAvatarScope] = (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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(AVATAR_NAME);
|
||
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
||
var Avatar = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeAvatar, ...avatarProps } = props;
|
||
const [imageLoadingStatus, setImageLoadingStatus] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]("idle");
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(AvatarProvider, {
|
||
scope: __scopeAvatar,
|
||
imageLoadingStatus,
|
||
onImageLoadingStatusChange: setImageLoadingStatus,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
...avatarProps,
|
||
ref: forwardedRef
|
||
})
|
||
});
|
||
});
|
||
Avatar.displayName = AVATAR_NAME;
|
||
var IMAGE_NAME = "AvatarImage";
|
||
var AvatarImage = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeAvatar, src, onLoadingStatusChange = ()=>{}, ...imageProps } = props;
|
||
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
||
const imageLoadingStatus = useImageLoadingStatus(src, imageProps.referrerPolicy);
|
||
const handleLoadingStatusChange = (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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])({
|
||
"AvatarImage.useCallbackRef[handleLoadingStatusChange]": (status)=>{
|
||
onLoadingStatusChange(status);
|
||
context.onImageLoadingStatusChange(status);
|
||
}
|
||
}["AvatarImage.useCallbackRef[handleLoadingStatusChange]"]);
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"AvatarImage.useLayoutEffect": ()=>{
|
||
if (imageLoadingStatus !== "idle") {
|
||
handleLoadingStatusChange(imageLoadingStatus);
|
||
}
|
||
}
|
||
}["AvatarImage.useLayoutEffect"], [
|
||
imageLoadingStatus,
|
||
handleLoadingStatusChange
|
||
]);
|
||
return imageLoadingStatus === "loaded" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].img, {
|
||
...imageProps,
|
||
ref: forwardedRef,
|
||
src
|
||
}) : null;
|
||
});
|
||
AvatarImage.displayName = IMAGE_NAME;
|
||
var FALLBACK_NAME = "AvatarFallback";
|
||
var AvatarFallback = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeAvatar, delayMs, ...fallbackProps } = props;
|
||
const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
||
const [canRender, setCanRender] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](delayMs === void 0);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"AvatarFallback.useEffect": ()=>{
|
||
if (delayMs !== void 0) {
|
||
const timerId = window.setTimeout({
|
||
"AvatarFallback.useEffect.timerId": ()=>setCanRender(true)
|
||
}["AvatarFallback.useEffect.timerId"], delayMs);
|
||
return ({
|
||
"AvatarFallback.useEffect": ()=>window.clearTimeout(timerId)
|
||
})["AvatarFallback.useEffect"];
|
||
}
|
||
}
|
||
}["AvatarFallback.useEffect"], [
|
||
delayMs
|
||
]);
|
||
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
...fallbackProps,
|
||
ref: forwardedRef
|
||
}) : null;
|
||
});
|
||
AvatarFallback.displayName = FALLBACK_NAME;
|
||
function useImageLoadingStatus(src, referrerPolicy) {
|
||
const [loadingStatus, setLoadingStatus] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]("idle");
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"useImageLoadingStatus.useLayoutEffect": ()=>{
|
||
if (!src) {
|
||
setLoadingStatus("error");
|
||
return;
|
||
}
|
||
let isMounted = true;
|
||
const image = new window.Image();
|
||
const updateStatus = {
|
||
"useImageLoadingStatus.useLayoutEffect.updateStatus": (status)=>({
|
||
"useImageLoadingStatus.useLayoutEffect.updateStatus": ()=>{
|
||
if (!isMounted) return;
|
||
setLoadingStatus(status);
|
||
}
|
||
})["useImageLoadingStatus.useLayoutEffect.updateStatus"]
|
||
}["useImageLoadingStatus.useLayoutEffect.updateStatus"];
|
||
setLoadingStatus("loading");
|
||
image.onload = updateStatus("loaded");
|
||
image.onerror = updateStatus("error");
|
||
image.src = src;
|
||
if (referrerPolicy) {
|
||
image.referrerPolicy = referrerPolicy;
|
||
}
|
||
return ({
|
||
"useImageLoadingStatus.useLayoutEffect": ()=>{
|
||
isMounted = false;
|
||
}
|
||
})["useImageLoadingStatus.useLayoutEffect"];
|
||
}
|
||
}["useImageLoadingStatus.useLayoutEffect"], [
|
||
src,
|
||
referrerPolicy
|
||
]);
|
||
return loadingStatus;
|
||
}
|
||
var Root = Avatar;
|
||
var Image = AvatarImage;
|
||
var Fallback = AvatarFallback;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-collection@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+re_1ad17166111274b6b451c5ad4817bfc8/node_modules/@radix-ui/react-collection/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"createCollection",
|
||
()=>createCollection
|
||
]);
|
||
// packages/react/collection/src/Collection.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$slot$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$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-slot@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
function createCollection(name) {
|
||
const PROVIDER_NAME = name + "CollectionProvider";
|
||
const [createCollectionContext, createCollectionScope] = (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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(PROVIDER_NAME);
|
||
const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, {
|
||
collectionRef: {
|
||
current: null
|
||
},
|
||
itemMap: /* @__PURE__ */ new Map()
|
||
});
|
||
const CollectionProvider = (props)=>{
|
||
const { scope, children } = props;
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].useRef(null);
|
||
const itemMap = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].useRef(/* @__PURE__ */ new Map()).current;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(CollectionProviderImpl, {
|
||
scope,
|
||
itemMap,
|
||
collectionRef: ref,
|
||
children
|
||
});
|
||
};
|
||
CollectionProvider.displayName = PROVIDER_NAME;
|
||
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
||
const CollectionSlot = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].forwardRef((props, forwardedRef)=>{
|
||
const { scope, children } = props;
|
||
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, context.collectionRef);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$slot$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$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Slot"], {
|
||
ref: composedRefs,
|
||
children
|
||
});
|
||
});
|
||
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
||
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
||
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
||
const CollectionItemSlot = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].forwardRef((props, forwardedRef)=>{
|
||
const { scope, children, ...itemData } = props;
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].useRef(null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].useEffect({
|
||
"createCollection.CollectionItemSlot.useEffect": ()=>{
|
||
context.itemMap.set(ref, {
|
||
ref,
|
||
...itemData
|
||
});
|
||
return ({
|
||
"createCollection.CollectionItemSlot.useEffect": ()=>void context.itemMap.delete(ref)
|
||
})["createCollection.CollectionItemSlot.useEffect"];
|
||
}
|
||
}["createCollection.CollectionItemSlot.useEffect"]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$slot$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$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Slot"], {
|
||
...{
|
||
[ITEM_DATA_ATTR]: ""
|
||
},
|
||
ref: composedRefs,
|
||
children
|
||
});
|
||
});
|
||
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
||
function useCollection(scope) {
|
||
const context = useCollectionContext(name + "CollectionConsumer", scope);
|
||
const getItems = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].useCallback({
|
||
"createCollection.useCollection.useCallback[getItems]": ()=>{
|
||
const collectionNode = context.collectionRef.current;
|
||
if (!collectionNode) return [];
|
||
const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
|
||
const items = Array.from(context.itemMap.values());
|
||
const orderedItems = items.sort({
|
||
"createCollection.useCollection.useCallback[getItems].orderedItems": (a, b)=>orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)
|
||
}["createCollection.useCollection.useCallback[getItems].orderedItems"]);
|
||
return orderedItems;
|
||
}
|
||
}["createCollection.useCollection.useCallback[getItems]"], [
|
||
context.collectionRef,
|
||
context.itemMap
|
||
]);
|
||
return getItems;
|
||
}
|
||
return [
|
||
{
|
||
Provider: CollectionProvider,
|
||
Slot: CollectionSlot,
|
||
ItemSlot: CollectionItemSlot
|
||
},
|
||
useCollection,
|
||
createCollectionScope
|
||
];
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-direction@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
// packages/react/direction/src/Direction.tsx
|
||
__turbopack_context__.s([
|
||
"DirectionProvider",
|
||
()=>DirectionProvider,
|
||
"Provider",
|
||
()=>Provider,
|
||
"useDirection",
|
||
()=>useDirection
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
var DirectionContext = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"](void 0);
|
||
var DirectionProvider = (props)=>{
|
||
const { dir, children } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(DirectionContext.Provider, {
|
||
value: dir,
|
||
children
|
||
});
|
||
};
|
||
function useDirection(localDir) {
|
||
const globalDir = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"](DirectionContext);
|
||
return localDir || globalDir || "ltr";
|
||
}
|
||
var Provider = DirectionProvider;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* Custom positioning reference element.
|
||
* @see https://floating-ui.com/docs/virtual-elements
|
||
*/ __turbopack_context__.s([
|
||
"alignments",
|
||
()=>alignments,
|
||
"clamp",
|
||
()=>clamp,
|
||
"createCoords",
|
||
()=>createCoords,
|
||
"evaluate",
|
||
()=>evaluate,
|
||
"expandPaddingObject",
|
||
()=>expandPaddingObject,
|
||
"floor",
|
||
()=>floor,
|
||
"getAlignment",
|
||
()=>getAlignment,
|
||
"getAlignmentAxis",
|
||
()=>getAlignmentAxis,
|
||
"getAlignmentSides",
|
||
()=>getAlignmentSides,
|
||
"getAxisLength",
|
||
()=>getAxisLength,
|
||
"getExpandedPlacements",
|
||
()=>getExpandedPlacements,
|
||
"getOppositeAlignmentPlacement",
|
||
()=>getOppositeAlignmentPlacement,
|
||
"getOppositeAxis",
|
||
()=>getOppositeAxis,
|
||
"getOppositeAxisPlacements",
|
||
()=>getOppositeAxisPlacements,
|
||
"getOppositePlacement",
|
||
()=>getOppositePlacement,
|
||
"getPaddingObject",
|
||
()=>getPaddingObject,
|
||
"getSide",
|
||
()=>getSide,
|
||
"getSideAxis",
|
||
()=>getSideAxis,
|
||
"max",
|
||
()=>max,
|
||
"min",
|
||
()=>min,
|
||
"placements",
|
||
()=>placements,
|
||
"rectToClientRect",
|
||
()=>rectToClientRect,
|
||
"round",
|
||
()=>round,
|
||
"sides",
|
||
()=>sides
|
||
]);
|
||
const sides = [
|
||
'top',
|
||
'right',
|
||
'bottom',
|
||
'left'
|
||
];
|
||
const alignments = [
|
||
'start',
|
||
'end'
|
||
];
|
||
const placements = /*#__PURE__*/ sides.reduce((acc, side)=>acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
|
||
const min = Math.min;
|
||
const max = Math.max;
|
||
const round = Math.round;
|
||
const floor = Math.floor;
|
||
const createCoords = (v)=>({
|
||
x: v,
|
||
y: v
|
||
});
|
||
const oppositeSideMap = {
|
||
left: 'right',
|
||
right: 'left',
|
||
bottom: 'top',
|
||
top: 'bottom'
|
||
};
|
||
const oppositeAlignmentMap = {
|
||
start: 'end',
|
||
end: 'start'
|
||
};
|
||
function clamp(start, value, end) {
|
||
return max(start, min(value, end));
|
||
}
|
||
function evaluate(value, param) {
|
||
return typeof value === 'function' ? value(param) : value;
|
||
}
|
||
function getSide(placement) {
|
||
return placement.split('-')[0];
|
||
}
|
||
function getAlignment(placement) {
|
||
return placement.split('-')[1];
|
||
}
|
||
function getOppositeAxis(axis) {
|
||
return axis === 'x' ? 'y' : 'x';
|
||
}
|
||
function getAxisLength(axis) {
|
||
return axis === 'y' ? 'height' : 'width';
|
||
}
|
||
const yAxisSides = /*#__PURE__*/ new Set([
|
||
'top',
|
||
'bottom'
|
||
]);
|
||
function getSideAxis(placement) {
|
||
return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
|
||
}
|
||
function getAlignmentAxis(placement) {
|
||
return getOppositeAxis(getSideAxis(placement));
|
||
}
|
||
function getAlignmentSides(placement, rects, rtl) {
|
||
if (rtl === void 0) {
|
||
rtl = false;
|
||
}
|
||
const alignment = getAlignment(placement);
|
||
const alignmentAxis = getAlignmentAxis(placement);
|
||
const length = getAxisLength(alignmentAxis);
|
||
let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';
|
||
if (rects.reference[length] > rects.floating[length]) {
|
||
mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
|
||
}
|
||
return [
|
||
mainAlignmentSide,
|
||
getOppositePlacement(mainAlignmentSide)
|
||
];
|
||
}
|
||
function getExpandedPlacements(placement) {
|
||
const oppositePlacement = getOppositePlacement(placement);
|
||
return [
|
||
getOppositeAlignmentPlacement(placement),
|
||
oppositePlacement,
|
||
getOppositeAlignmentPlacement(oppositePlacement)
|
||
];
|
||
}
|
||
function getOppositeAlignmentPlacement(placement) {
|
||
return placement.replace(/start|end/g, (alignment)=>oppositeAlignmentMap[alignment]);
|
||
}
|
||
const lrPlacement = [
|
||
'left',
|
||
'right'
|
||
];
|
||
const rlPlacement = [
|
||
'right',
|
||
'left'
|
||
];
|
||
const tbPlacement = [
|
||
'top',
|
||
'bottom'
|
||
];
|
||
const btPlacement = [
|
||
'bottom',
|
||
'top'
|
||
];
|
||
function getSideList(side, isStart, rtl) {
|
||
switch(side){
|
||
case 'top':
|
||
case 'bottom':
|
||
if (rtl) return isStart ? rlPlacement : lrPlacement;
|
||
return isStart ? lrPlacement : rlPlacement;
|
||
case 'left':
|
||
case 'right':
|
||
return isStart ? tbPlacement : btPlacement;
|
||
default:
|
||
return [];
|
||
}
|
||
}
|
||
function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
||
const alignment = getAlignment(placement);
|
||
let list = getSideList(getSide(placement), direction === 'start', rtl);
|
||
if (alignment) {
|
||
list = list.map((side)=>side + "-" + alignment);
|
||
if (flipAlignment) {
|
||
list = list.concat(list.map(getOppositeAlignmentPlacement));
|
||
}
|
||
}
|
||
return list;
|
||
}
|
||
function getOppositePlacement(placement) {
|
||
return placement.replace(/left|right|bottom|top/g, (side)=>oppositeSideMap[side]);
|
||
}
|
||
function expandPaddingObject(padding) {
|
||
return {
|
||
top: 0,
|
||
right: 0,
|
||
bottom: 0,
|
||
left: 0,
|
||
...padding
|
||
};
|
||
}
|
||
function getPaddingObject(padding) {
|
||
return typeof padding !== 'number' ? expandPaddingObject(padding) : {
|
||
top: padding,
|
||
right: padding,
|
||
bottom: padding,
|
||
left: padding
|
||
};
|
||
}
|
||
function rectToClientRect(rect) {
|
||
const { x, y, width, height } = rect;
|
||
return {
|
||
width,
|
||
height,
|
||
top: y,
|
||
left: x,
|
||
right: x + width,
|
||
bottom: y + height,
|
||
x,
|
||
y
|
||
};
|
||
}
|
||
;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.mjs [app-client] (ecmascript) <locals>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"arrow",
|
||
()=>arrow,
|
||
"autoPlacement",
|
||
()=>autoPlacement,
|
||
"computePosition",
|
||
()=>computePosition,
|
||
"detectOverflow",
|
||
()=>detectOverflow,
|
||
"flip",
|
||
()=>flip,
|
||
"hide",
|
||
()=>hide,
|
||
"inline",
|
||
()=>inline,
|
||
"limitShift",
|
||
()=>limitShift,
|
||
"offset",
|
||
()=>offset,
|
||
"shift",
|
||
()=>shift,
|
||
"size",
|
||
()=>size
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
function computeCoordsFromPlacement(_ref, placement, rtl) {
|
||
let { reference, floating } = _ref;
|
||
const sideAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(placement);
|
||
const alignmentAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignmentAxis"])(placement);
|
||
const alignLength = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAxisLength"])(alignmentAxis);
|
||
const side = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement);
|
||
const isVertical = sideAxis === 'y';
|
||
const commonX = reference.x + reference.width / 2 - floating.width / 2;
|
||
const commonY = reference.y + reference.height / 2 - floating.height / 2;
|
||
const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
|
||
let coords;
|
||
switch(side){
|
||
case 'top':
|
||
coords = {
|
||
x: commonX,
|
||
y: reference.y - floating.height
|
||
};
|
||
break;
|
||
case 'bottom':
|
||
coords = {
|
||
x: commonX,
|
||
y: reference.y + reference.height
|
||
};
|
||
break;
|
||
case 'right':
|
||
coords = {
|
||
x: reference.x + reference.width,
|
||
y: commonY
|
||
};
|
||
break;
|
||
case 'left':
|
||
coords = {
|
||
x: reference.x - floating.width,
|
||
y: commonY
|
||
};
|
||
break;
|
||
default:
|
||
coords = {
|
||
x: reference.x,
|
||
y: reference.y
|
||
};
|
||
}
|
||
switch((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(placement)){
|
||
case 'start':
|
||
coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
|
||
break;
|
||
case 'end':
|
||
coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
|
||
break;
|
||
}
|
||
return coords;
|
||
}
|
||
/**
|
||
* Computes the `x` and `y` coordinates that will place the floating element
|
||
* next to a given reference element.
|
||
*
|
||
* This export does not have any `platform` interface logic. You will need to
|
||
* write one for the platform you are using Floating UI with.
|
||
*/ const computePosition = async (reference, floating, config)=>{
|
||
const { placement = 'bottom', strategy = 'absolute', middleware = [], platform } = config;
|
||
const validMiddleware = middleware.filter(Boolean);
|
||
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
|
||
let rects = await platform.getElementRects({
|
||
reference,
|
||
floating,
|
||
strategy
|
||
});
|
||
let { x, y } = computeCoordsFromPlacement(rects, placement, rtl);
|
||
let statefulPlacement = placement;
|
||
let middlewareData = {};
|
||
let resetCount = 0;
|
||
for(let i = 0; i < validMiddleware.length; i++){
|
||
const { name, fn } = validMiddleware[i];
|
||
const { x: nextX, y: nextY, data, reset } = await fn({
|
||
x,
|
||
y,
|
||
initialPlacement: placement,
|
||
placement: statefulPlacement,
|
||
strategy,
|
||
middlewareData,
|
||
rects,
|
||
platform,
|
||
elements: {
|
||
reference,
|
||
floating
|
||
}
|
||
});
|
||
x = nextX != null ? nextX : x;
|
||
y = nextY != null ? nextY : y;
|
||
middlewareData = {
|
||
...middlewareData,
|
||
[name]: {
|
||
...middlewareData[name],
|
||
...data
|
||
}
|
||
};
|
||
if (reset && resetCount <= 50) {
|
||
resetCount++;
|
||
if (typeof reset === 'object') {
|
||
if (reset.placement) {
|
||
statefulPlacement = reset.placement;
|
||
}
|
||
if (reset.rects) {
|
||
rects = reset.rects === true ? await platform.getElementRects({
|
||
reference,
|
||
floating,
|
||
strategy
|
||
}) : reset.rects;
|
||
}
|
||
({ x, y } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
|
||
}
|
||
i = -1;
|
||
}
|
||
}
|
||
return {
|
||
x,
|
||
y,
|
||
placement: statefulPlacement,
|
||
strategy,
|
||
middlewareData
|
||
};
|
||
};
|
||
/**
|
||
* Resolves with an object of overflow side offsets that determine how much the
|
||
* element is overflowing a given clipping boundary on each side.
|
||
* - positive = overflowing the boundary by that number of pixels
|
||
* - negative = how many pixels left before it will overflow
|
||
* - 0 = lies flush with the boundary
|
||
* @see https://floating-ui.com/docs/detectOverflow
|
||
*/ async function detectOverflow(state, options) {
|
||
var _await$platform$isEle;
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
const { x, y, platform, rects, elements, strategy } = state;
|
||
const { boundary = 'clippingAncestors', rootBoundary = 'viewport', elementContext = 'floating', altBoundary = false, padding = 0 } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
const paddingObject = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getPaddingObject"])(padding);
|
||
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
||
const element = elements[altBoundary ? altContext : elementContext];
|
||
const clippingClientRect = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["rectToClientRect"])(await platform.getClippingRect({
|
||
element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating)),
|
||
boundary,
|
||
rootBoundary,
|
||
strategy
|
||
}));
|
||
const rect = elementContext === 'floating' ? {
|
||
x,
|
||
y,
|
||
width: rects.floating.width,
|
||
height: rects.floating.height
|
||
} : rects.reference;
|
||
const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
|
||
const offsetScale = await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)) ? await (platform.getScale == null ? void 0 : platform.getScale(offsetParent)) || {
|
||
x: 1,
|
||
y: 1
|
||
} : {
|
||
x: 1,
|
||
y: 1
|
||
};
|
||
const elementClientRect = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["rectToClientRect"])(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
|
||
elements,
|
||
rect,
|
||
offsetParent,
|
||
strategy
|
||
}) : rect);
|
||
return {
|
||
top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
|
||
bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
|
||
left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
|
||
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
||
};
|
||
}
|
||
/**
|
||
* Provides data to position an inner element of the floating element so that it
|
||
* appears centered to the reference element.
|
||
* @see https://floating-ui.com/docs/arrow
|
||
*/ const arrow = (options)=>({
|
||
name: 'arrow',
|
||
options,
|
||
async fn (state) {
|
||
const { x, y, placement, rects, platform, elements, middlewareData } = state;
|
||
// Since `element` is required, we don't Partial<> the type.
|
||
const { element, padding = 0 } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state) || {};
|
||
if (element == null) {
|
||
return {};
|
||
}
|
||
const paddingObject = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getPaddingObject"])(padding);
|
||
const coords = {
|
||
x,
|
||
y
|
||
};
|
||
const axis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignmentAxis"])(placement);
|
||
const length = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAxisLength"])(axis);
|
||
const arrowDimensions = await platform.getDimensions(element);
|
||
const isYAxis = axis === 'y';
|
||
const minProp = isYAxis ? 'top' : 'left';
|
||
const maxProp = isYAxis ? 'bottom' : 'right';
|
||
const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';
|
||
const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
|
||
const startDiff = coords[axis] - rects.reference[axis];
|
||
const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));
|
||
let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;
|
||
// DOM platform can return `window` as the `offsetParent`.
|
||
if (!clientSize || !await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent))) {
|
||
clientSize = elements.floating[clientProp] || rects.floating[length];
|
||
}
|
||
const centerToReference = endDiff / 2 - startDiff / 2;
|
||
// If the padding is large enough that it causes the arrow to no longer be
|
||
// centered, modify the padding so that it is centered.
|
||
const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
|
||
const minPadding = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(paddingObject[minProp], largestPossiblePadding);
|
||
const maxPadding = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(paddingObject[maxProp], largestPossiblePadding);
|
||
// Make sure the arrow doesn't overflow the floating element if the center
|
||
// point is outside the floating element's bounds.
|
||
const min$1 = minPadding;
|
||
const max = clientSize - arrowDimensions[length] - maxPadding;
|
||
const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
|
||
const offset = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(min$1, center, max);
|
||
// If the reference is small enough that the arrow's padding causes it to
|
||
// to point to nothing for an aligned placement, adjust the offset of the
|
||
// floating element itself. To ensure `shift()` continues to take action,
|
||
// a single reset is performed when this is true.
|
||
const shouldAddOffset = !middlewareData.arrow && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
|
||
const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
|
||
return {
|
||
[axis]: coords[axis] + alignmentOffset,
|
||
data: {
|
||
[axis]: offset,
|
||
centerOffset: center - offset - alignmentOffset,
|
||
...shouldAddOffset && {
|
||
alignmentOffset
|
||
}
|
||
},
|
||
reset: shouldAddOffset
|
||
};
|
||
}
|
||
});
|
||
function getPlacementList(alignment, autoAlignment, allowedPlacements) {
|
||
const allowedPlacementsSortedByAlignment = alignment ? [
|
||
...allowedPlacements.filter((placement)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(placement) === alignment),
|
||
...allowedPlacements.filter((placement)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(placement) !== alignment)
|
||
] : allowedPlacements.filter((placement)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement) === placement);
|
||
return allowedPlacementsSortedByAlignment.filter((placement)=>{
|
||
if (alignment) {
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(placement) === alignment || (autoAlignment ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getOppositeAlignmentPlacement"])(placement) !== placement : false);
|
||
}
|
||
return true;
|
||
});
|
||
}
|
||
/**
|
||
* Optimizes the visibility of the floating element by choosing the placement
|
||
* that has the most space available automatically, without needing to specify a
|
||
* preferred placement. Alternative to `flip`.
|
||
* @see https://floating-ui.com/docs/autoPlacement
|
||
*/ const autoPlacement = function(options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
return {
|
||
name: 'autoPlacement',
|
||
options,
|
||
async fn (state) {
|
||
var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;
|
||
const { rects, middlewareData, placement, platform, elements } = state;
|
||
const { crossAxis = false, alignment, allowedPlacements = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["placements"], autoAlignment = true, ...detectOverflowOptions } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
const placements$1 = alignment !== undefined || allowedPlacements === __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["placements"] ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
|
||
const overflow = await detectOverflow(state, detectOverflowOptions);
|
||
const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
|
||
const currentPlacement = placements$1[currentIndex];
|
||
if (currentPlacement == null) {
|
||
return {};
|
||
}
|
||
const alignmentSides = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignmentSides"])(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
|
||
// Make `computeCoords` start from the right place.
|
||
if (placement !== currentPlacement) {
|
||
return {
|
||
reset: {
|
||
placement: placements$1[0]
|
||
}
|
||
};
|
||
}
|
||
const currentOverflows = [
|
||
overflow[(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(currentPlacement)],
|
||
overflow[alignmentSides[0]],
|
||
overflow[alignmentSides[1]]
|
||
];
|
||
const allOverflows = [
|
||
...((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || [],
|
||
{
|
||
placement: currentPlacement,
|
||
overflows: currentOverflows
|
||
}
|
||
];
|
||
const nextPlacement = placements$1[currentIndex + 1];
|
||
// There are more placements to check.
|
||
if (nextPlacement) {
|
||
return {
|
||
data: {
|
||
index: currentIndex + 1,
|
||
overflows: allOverflows
|
||
},
|
||
reset: {
|
||
placement: nextPlacement
|
||
}
|
||
};
|
||
}
|
||
const placementsSortedByMostSpace = allOverflows.map((d)=>{
|
||
const alignment = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(d.placement);
|
||
return [
|
||
d.placement,
|
||
alignment && crossAxis ? // Check along the mainAxis and main crossAxis side.
|
||
d.overflows.slice(0, 2).reduce((acc, v)=>acc + v, 0) : // Check only the mainAxis.
|
||
d.overflows[0],
|
||
d.overflows
|
||
];
|
||
}).sort((a, b)=>a[1] - b[1]);
|
||
const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter((d)=>d[2].slice(0, // Aligned placements should not check their opposite crossAxis
|
||
// side.
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(d[0]) ? 2 : 3).every((v)=>v <= 0));
|
||
const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
|
||
if (resetPlacement !== placement) {
|
||
return {
|
||
data: {
|
||
index: currentIndex + 1,
|
||
overflows: allOverflows
|
||
},
|
||
reset: {
|
||
placement: resetPlacement
|
||
}
|
||
};
|
||
}
|
||
return {};
|
||
}
|
||
};
|
||
};
|
||
/**
|
||
* Optimizes the visibility of the floating element by flipping the `placement`
|
||
* in order to keep it in view when the preferred placement(s) will overflow the
|
||
* clipping boundary. Alternative to `autoPlacement`.
|
||
* @see https://floating-ui.com/docs/flip
|
||
*/ const flip = function(options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
return {
|
||
name: 'flip',
|
||
options,
|
||
async fn (state) {
|
||
var _middlewareData$arrow, _middlewareData$flip;
|
||
const { placement, middlewareData, rects, initialPlacement, platform, elements } = state;
|
||
const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, fallbackPlacements: specifiedFallbackPlacements, fallbackStrategy = 'bestFit', fallbackAxisSideDirection = 'none', flipAlignment = true, ...detectOverflowOptions } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
// If a reset by the arrow was caused due to an alignment offset being
|
||
// added, we should skip any logic now since `flip()` has already done its
|
||
// work.
|
||
// https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643
|
||
if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
|
||
return {};
|
||
}
|
||
const side = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement);
|
||
const initialSideAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(initialPlacement);
|
||
const isBasePlacement = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(initialPlacement) === initialPlacement;
|
||
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
|
||
const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getOppositePlacement"])(initialPlacement)
|
||
] : (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getExpandedPlacements"])(initialPlacement));
|
||
const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';
|
||
if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
|
||
fallbackPlacements.push(...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getOppositeAxisPlacements"])(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
|
||
}
|
||
const placements = [
|
||
initialPlacement,
|
||
...fallbackPlacements
|
||
];
|
||
const overflow = await detectOverflow(state, detectOverflowOptions);
|
||
const overflows = [];
|
||
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
|
||
if (checkMainAxis) {
|
||
overflows.push(overflow[side]);
|
||
}
|
||
if (checkCrossAxis) {
|
||
const sides = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignmentSides"])(placement, rects, rtl);
|
||
overflows.push(overflow[sides[0]], overflow[sides[1]]);
|
||
}
|
||
overflowsData = [
|
||
...overflowsData,
|
||
{
|
||
placement,
|
||
overflows
|
||
}
|
||
];
|
||
// One or more sides is overflowing.
|
||
if (!overflows.every((side)=>side <= 0)) {
|
||
var _middlewareData$flip2, _overflowsData$filter;
|
||
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
||
const nextPlacement = placements[nextIndex];
|
||
if (nextPlacement) {
|
||
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(nextPlacement) : false;
|
||
if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
|
||
// overflows the main axis.
|
||
overflowsData.every((d)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
|
||
// Try next placement and re-run the lifecycle.
|
||
return {
|
||
data: {
|
||
index: nextIndex,
|
||
overflows: overflowsData
|
||
},
|
||
reset: {
|
||
placement: nextPlacement
|
||
}
|
||
};
|
||
}
|
||
}
|
||
// First, find the candidates that fit on the mainAxis side of overflow,
|
||
// then find the placement that fits the best on the main crossAxis side.
|
||
let resetPlacement = (_overflowsData$filter = overflowsData.filter((d)=>d.overflows[0] <= 0).sort((a, b)=>a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
|
||
// Otherwise fallback.
|
||
if (!resetPlacement) {
|
||
switch(fallbackStrategy){
|
||
case 'bestFit':
|
||
{
|
||
var _overflowsData$filter2;
|
||
const placement = (_overflowsData$filter2 = overflowsData.filter((d)=>{
|
||
if (hasFallbackAxisSideDirection) {
|
||
const currentSideAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(d.placement);
|
||
return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
|
||
// reading directions favoring greater width.
|
||
currentSideAxis === 'y';
|
||
}
|
||
return true;
|
||
}).map((d)=>[
|
||
d.placement,
|
||
d.overflows.filter((overflow)=>overflow > 0).reduce((acc, overflow)=>acc + overflow, 0)
|
||
]).sort((a, b)=>a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
|
||
if (placement) {
|
||
resetPlacement = placement;
|
||
}
|
||
break;
|
||
}
|
||
case 'initialPlacement':
|
||
resetPlacement = initialPlacement;
|
||
break;
|
||
}
|
||
}
|
||
if (placement !== resetPlacement) {
|
||
return {
|
||
reset: {
|
||
placement: resetPlacement
|
||
}
|
||
};
|
||
}
|
||
}
|
||
return {};
|
||
}
|
||
};
|
||
};
|
||
function getSideOffsets(overflow, rect) {
|
||
return {
|
||
top: overflow.top - rect.height,
|
||
right: overflow.right - rect.width,
|
||
bottom: overflow.bottom - rect.height,
|
||
left: overflow.left - rect.width
|
||
};
|
||
}
|
||
function isAnySideFullyClipped(overflow) {
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["sides"].some((side)=>overflow[side] >= 0);
|
||
}
|
||
/**
|
||
* Provides data to hide the floating element in applicable situations, such as
|
||
* when it is not in the same clipping context as the reference element.
|
||
* @see https://floating-ui.com/docs/hide
|
||
*/ const hide = function(options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
return {
|
||
name: 'hide',
|
||
options,
|
||
async fn (state) {
|
||
const { rects } = state;
|
||
const { strategy = 'referenceHidden', ...detectOverflowOptions } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
switch(strategy){
|
||
case 'referenceHidden':
|
||
{
|
||
const overflow = await detectOverflow(state, {
|
||
...detectOverflowOptions,
|
||
elementContext: 'reference'
|
||
});
|
||
const offsets = getSideOffsets(overflow, rects.reference);
|
||
return {
|
||
data: {
|
||
referenceHiddenOffsets: offsets,
|
||
referenceHidden: isAnySideFullyClipped(offsets)
|
||
}
|
||
};
|
||
}
|
||
case 'escaped':
|
||
{
|
||
const overflow = await detectOverflow(state, {
|
||
...detectOverflowOptions,
|
||
altBoundary: true
|
||
});
|
||
const offsets = getSideOffsets(overflow, rects.floating);
|
||
return {
|
||
data: {
|
||
escapedOffsets: offsets,
|
||
escaped: isAnySideFullyClipped(offsets)
|
||
}
|
||
};
|
||
}
|
||
default:
|
||
{
|
||
return {};
|
||
}
|
||
}
|
||
}
|
||
};
|
||
};
|
||
function getBoundingRect(rects) {
|
||
const minX = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(...rects.map((rect)=>rect.left));
|
||
const minY = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(...rects.map((rect)=>rect.top));
|
||
const maxX = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(...rects.map((rect)=>rect.right));
|
||
const maxY = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(...rects.map((rect)=>rect.bottom));
|
||
return {
|
||
x: minX,
|
||
y: minY,
|
||
width: maxX - minX,
|
||
height: maxY - minY
|
||
};
|
||
}
|
||
function getRectsByLine(rects) {
|
||
const sortedRects = rects.slice().sort((a, b)=>a.y - b.y);
|
||
const groups = [];
|
||
let prevRect = null;
|
||
for(let i = 0; i < sortedRects.length; i++){
|
||
const rect = sortedRects[i];
|
||
if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {
|
||
groups.push([
|
||
rect
|
||
]);
|
||
} else {
|
||
groups[groups.length - 1].push(rect);
|
||
}
|
||
prevRect = rect;
|
||
}
|
||
return groups.map((rect)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["rectToClientRect"])(getBoundingRect(rect)));
|
||
}
|
||
/**
|
||
* Provides improved positioning for inline reference elements that can span
|
||
* over multiple lines, such as hyperlinks or range selections.
|
||
* @see https://floating-ui.com/docs/inline
|
||
*/ const inline = function(options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
return {
|
||
name: 'inline',
|
||
options,
|
||
async fn (state) {
|
||
const { placement, elements, rects, platform, strategy } = state;
|
||
// A MouseEvent's client{X,Y} coords can be up to 2 pixels off a
|
||
// ClientRect's bounds, despite the event listener being triggered. A
|
||
// padding of 2 seems to handle this issue.
|
||
const { padding = 2, x, y } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
const nativeClientRects = Array.from(await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference)) || []);
|
||
const clientRects = getRectsByLine(nativeClientRects);
|
||
const fallback = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["rectToClientRect"])(getBoundingRect(nativeClientRects));
|
||
const paddingObject = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getPaddingObject"])(padding);
|
||
function getBoundingClientRect() {
|
||
// There are two rects and they are disjoined.
|
||
if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {
|
||
// Find the first rect in which the point is fully inside.
|
||
return clientRects.find((rect)=>x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;
|
||
}
|
||
// There are 2 or more connected rects.
|
||
if (clientRects.length >= 2) {
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(placement) === 'y') {
|
||
const firstRect = clientRects[0];
|
||
const lastRect = clientRects[clientRects.length - 1];
|
||
const isTop = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement) === 'top';
|
||
const top = firstRect.top;
|
||
const bottom = lastRect.bottom;
|
||
const left = isTop ? firstRect.left : lastRect.left;
|
||
const right = isTop ? firstRect.right : lastRect.right;
|
||
const width = right - left;
|
||
const height = bottom - top;
|
||
return {
|
||
top,
|
||
bottom,
|
||
left,
|
||
right,
|
||
width,
|
||
height,
|
||
x: left,
|
||
y: top
|
||
};
|
||
}
|
||
const isLeftSide = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement) === 'left';
|
||
const maxRight = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(...clientRects.map((rect)=>rect.right));
|
||
const minLeft = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(...clientRects.map((rect)=>rect.left));
|
||
const measureRects = clientRects.filter((rect)=>isLeftSide ? rect.left === minLeft : rect.right === maxRight);
|
||
const top = measureRects[0].top;
|
||
const bottom = measureRects[measureRects.length - 1].bottom;
|
||
const left = minLeft;
|
||
const right = maxRight;
|
||
const width = right - left;
|
||
const height = bottom - top;
|
||
return {
|
||
top,
|
||
bottom,
|
||
left,
|
||
right,
|
||
width,
|
||
height,
|
||
x: left,
|
||
y: top
|
||
};
|
||
}
|
||
return fallback;
|
||
}
|
||
const resetRects = await platform.getElementRects({
|
||
reference: {
|
||
getBoundingClientRect
|
||
},
|
||
floating: elements.floating,
|
||
strategy
|
||
});
|
||
if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {
|
||
return {
|
||
reset: {
|
||
rects: resetRects
|
||
}
|
||
};
|
||
}
|
||
return {};
|
||
}
|
||
};
|
||
};
|
||
const originSides = /*#__PURE__*/ new Set([
|
||
'left',
|
||
'top'
|
||
]);
|
||
// For type backwards-compatibility, the `OffsetOptions` type was also
|
||
// Derivable.
|
||
async function convertValueToCoords(state, options) {
|
||
const { placement, platform, elements } = state;
|
||
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
|
||
const side = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement);
|
||
const alignment = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(placement);
|
||
const isVertical = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(placement) === 'y';
|
||
const mainAxisMulti = originSides.has(side) ? -1 : 1;
|
||
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
||
const rawValue = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
// eslint-disable-next-line prefer-const
|
||
let { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === 'number' ? {
|
||
mainAxis: rawValue,
|
||
crossAxis: 0,
|
||
alignmentAxis: null
|
||
} : {
|
||
mainAxis: rawValue.mainAxis || 0,
|
||
crossAxis: rawValue.crossAxis || 0,
|
||
alignmentAxis: rawValue.alignmentAxis
|
||
};
|
||
if (alignment && typeof alignmentAxis === 'number') {
|
||
crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;
|
||
}
|
||
return isVertical ? {
|
||
x: crossAxis * crossAxisMulti,
|
||
y: mainAxis * mainAxisMulti
|
||
} : {
|
||
x: mainAxis * mainAxisMulti,
|
||
y: crossAxis * crossAxisMulti
|
||
};
|
||
}
|
||
/**
|
||
* Modifies the placement by translating the floating element along the
|
||
* specified axes.
|
||
* A number (shorthand for `mainAxis` or distance), or an axes configuration
|
||
* object may be passed.
|
||
* @see https://floating-ui.com/docs/offset
|
||
*/ const offset = function(options) {
|
||
if (options === void 0) {
|
||
options = 0;
|
||
}
|
||
return {
|
||
name: 'offset',
|
||
options,
|
||
async fn (state) {
|
||
var _middlewareData$offse, _middlewareData$arrow;
|
||
const { x, y, placement, middlewareData } = state;
|
||
const diffCoords = await convertValueToCoords(state, options);
|
||
// If the placement is the same and the arrow caused an alignment offset
|
||
// then we don't need to change the positioning coordinates.
|
||
if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
|
||
return {};
|
||
}
|
||
return {
|
||
x: x + diffCoords.x,
|
||
y: y + diffCoords.y,
|
||
data: {
|
||
...diffCoords,
|
||
placement
|
||
}
|
||
};
|
||
}
|
||
};
|
||
};
|
||
/**
|
||
* Optimizes the visibility of the floating element by shifting it in order to
|
||
* keep it in view when it will overflow the clipping boundary.
|
||
* @see https://floating-ui.com/docs/shift
|
||
*/ const shift = function(options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
return {
|
||
name: 'shift',
|
||
options,
|
||
async fn (state) {
|
||
const { x, y, placement } = state;
|
||
const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = {
|
||
fn: (_ref)=>{
|
||
let { x, y } = _ref;
|
||
return {
|
||
x,
|
||
y
|
||
};
|
||
}
|
||
}, ...detectOverflowOptions } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
const coords = {
|
||
x,
|
||
y
|
||
};
|
||
const overflow = await detectOverflow(state, detectOverflowOptions);
|
||
const crossAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement));
|
||
const mainAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getOppositeAxis"])(crossAxis);
|
||
let mainAxisCoord = coords[mainAxis];
|
||
let crossAxisCoord = coords[crossAxis];
|
||
if (checkMainAxis) {
|
||
const minSide = mainAxis === 'y' ? 'top' : 'left';
|
||
const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
|
||
const min = mainAxisCoord + overflow[minSide];
|
||
const max = mainAxisCoord - overflow[maxSide];
|
||
mainAxisCoord = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(min, mainAxisCoord, max);
|
||
}
|
||
if (checkCrossAxis) {
|
||
const minSide = crossAxis === 'y' ? 'top' : 'left';
|
||
const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
|
||
const min = crossAxisCoord + overflow[minSide];
|
||
const max = crossAxisCoord - overflow[maxSide];
|
||
crossAxisCoord = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(min, crossAxisCoord, max);
|
||
}
|
||
const limitedCoords = limiter.fn({
|
||
...state,
|
||
[mainAxis]: mainAxisCoord,
|
||
[crossAxis]: crossAxisCoord
|
||
});
|
||
return {
|
||
...limitedCoords,
|
||
data: {
|
||
x: limitedCoords.x - x,
|
||
y: limitedCoords.y - y,
|
||
enabled: {
|
||
[mainAxis]: checkMainAxis,
|
||
[crossAxis]: checkCrossAxis
|
||
}
|
||
}
|
||
};
|
||
}
|
||
};
|
||
};
|
||
/**
|
||
* Built-in `limiter` that will stop `shift()` at a certain point.
|
||
*/ const limitShift = function(options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
return {
|
||
options,
|
||
fn (state) {
|
||
const { x, y, placement, rects, middlewareData } = state;
|
||
const { offset = 0, mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
const coords = {
|
||
x,
|
||
y
|
||
};
|
||
const crossAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(placement);
|
||
const mainAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getOppositeAxis"])(crossAxis);
|
||
let mainAxisCoord = coords[mainAxis];
|
||
let crossAxisCoord = coords[crossAxis];
|
||
const rawOffset = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(offset, state);
|
||
const computedOffset = typeof rawOffset === 'number' ? {
|
||
mainAxis: rawOffset,
|
||
crossAxis: 0
|
||
} : {
|
||
mainAxis: 0,
|
||
crossAxis: 0,
|
||
...rawOffset
|
||
};
|
||
if (checkMainAxis) {
|
||
const len = mainAxis === 'y' ? 'height' : 'width';
|
||
const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
|
||
const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
|
||
if (mainAxisCoord < limitMin) {
|
||
mainAxisCoord = limitMin;
|
||
} else if (mainAxisCoord > limitMax) {
|
||
mainAxisCoord = limitMax;
|
||
}
|
||
}
|
||
if (checkCrossAxis) {
|
||
var _middlewareData$offse, _middlewareData$offse2;
|
||
const len = mainAxis === 'y' ? 'width' : 'height';
|
||
const isOriginSide = originSides.has((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement));
|
||
const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
|
||
const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
|
||
if (crossAxisCoord < limitMin) {
|
||
crossAxisCoord = limitMin;
|
||
} else if (crossAxisCoord > limitMax) {
|
||
crossAxisCoord = limitMax;
|
||
}
|
||
}
|
||
return {
|
||
[mainAxis]: mainAxisCoord,
|
||
[crossAxis]: crossAxisCoord
|
||
};
|
||
}
|
||
};
|
||
};
|
||
/**
|
||
* Provides data that allows you to change the size of the floating element —
|
||
* for instance, prevent it from overflowing the clipping boundary or match the
|
||
* width of the reference element.
|
||
* @see https://floating-ui.com/docs/size
|
||
*/ const size = function(options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
return {
|
||
name: 'size',
|
||
options,
|
||
async fn (state) {
|
||
var _state$middlewareData, _state$middlewareData2;
|
||
const { placement, rects, platform, elements } = state;
|
||
const { apply = ()=>{}, ...detectOverflowOptions } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["evaluate"])(options, state);
|
||
const overflow = await detectOverflow(state, detectOverflowOptions);
|
||
const side = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSide"])(placement);
|
||
const alignment = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getAlignment"])(placement);
|
||
const isYAxis = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getSideAxis"])(placement) === 'y';
|
||
const { width, height } = rects.floating;
|
||
let heightSide;
|
||
let widthSide;
|
||
if (side === 'top' || side === 'bottom') {
|
||
heightSide = side;
|
||
widthSide = alignment === (await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)) ? 'start' : 'end') ? 'left' : 'right';
|
||
} else {
|
||
widthSide = side;
|
||
heightSide = alignment === 'end' ? 'top' : 'bottom';
|
||
}
|
||
const maximumClippingHeight = height - overflow.top - overflow.bottom;
|
||
const maximumClippingWidth = width - overflow.left - overflow.right;
|
||
const overflowAvailableHeight = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(height - overflow[heightSide], maximumClippingHeight);
|
||
const overflowAvailableWidth = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(width - overflow[widthSide], maximumClippingWidth);
|
||
const noShift = !state.middlewareData.shift;
|
||
let availableHeight = overflowAvailableHeight;
|
||
let availableWidth = overflowAvailableWidth;
|
||
if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
|
||
availableWidth = maximumClippingWidth;
|
||
}
|
||
if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
|
||
availableHeight = maximumClippingHeight;
|
||
}
|
||
if (noShift && !alignment) {
|
||
const xMin = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(overflow.left, 0);
|
||
const xMax = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(overflow.right, 0);
|
||
const yMin = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(overflow.top, 0);
|
||
const yMax = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(overflow.bottom, 0);
|
||
if (isYAxis) {
|
||
availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(overflow.left, overflow.right));
|
||
} else {
|
||
availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(overflow.top, overflow.bottom));
|
||
}
|
||
}
|
||
await apply({
|
||
...state,
|
||
availableWidth,
|
||
availableHeight
|
||
});
|
||
const nextDimensions = await platform.getDimensions(elements.floating);
|
||
if (width !== nextDimensions.width || height !== nextDimensions.height) {
|
||
return {
|
||
reset: {
|
||
rects: true
|
||
}
|
||
};
|
||
}
|
||
return {};
|
||
}
|
||
};
|
||
};
|
||
;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"getComputedStyle",
|
||
()=>getComputedStyle,
|
||
"getContainingBlock",
|
||
()=>getContainingBlock,
|
||
"getDocumentElement",
|
||
()=>getDocumentElement,
|
||
"getFrameElement",
|
||
()=>getFrameElement,
|
||
"getNearestOverflowAncestor",
|
||
()=>getNearestOverflowAncestor,
|
||
"getNodeName",
|
||
()=>getNodeName,
|
||
"getNodeScroll",
|
||
()=>getNodeScroll,
|
||
"getOverflowAncestors",
|
||
()=>getOverflowAncestors,
|
||
"getParentNode",
|
||
()=>getParentNode,
|
||
"getWindow",
|
||
()=>getWindow,
|
||
"isContainingBlock",
|
||
()=>isContainingBlock,
|
||
"isElement",
|
||
()=>isElement,
|
||
"isHTMLElement",
|
||
()=>isHTMLElement,
|
||
"isLastTraversableNode",
|
||
()=>isLastTraversableNode,
|
||
"isNode",
|
||
()=>isNode,
|
||
"isOverflowElement",
|
||
()=>isOverflowElement,
|
||
"isShadowRoot",
|
||
()=>isShadowRoot,
|
||
"isTableElement",
|
||
()=>isTableElement,
|
||
"isTopLayer",
|
||
()=>isTopLayer,
|
||
"isWebKit",
|
||
()=>isWebKit
|
||
]);
|
||
function hasWindow() {
|
||
return typeof window !== 'undefined';
|
||
}
|
||
function getNodeName(node) {
|
||
if (isNode(node)) {
|
||
return (node.nodeName || '').toLowerCase();
|
||
}
|
||
// Mocked nodes in testing environments may not be instances of Node. By
|
||
// returning `#document` an infinite loop won't occur.
|
||
// https://github.com/floating-ui/floating-ui/issues/2317
|
||
return '#document';
|
||
}
|
||
function getWindow(node) {
|
||
var _node$ownerDocument;
|
||
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
|
||
}
|
||
function getDocumentElement(node) {
|
||
var _ref;
|
||
return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
|
||
}
|
||
function isNode(value) {
|
||
if (!hasWindow()) {
|
||
return false;
|
||
}
|
||
return value instanceof Node || value instanceof getWindow(value).Node;
|
||
}
|
||
function isElement(value) {
|
||
if (!hasWindow()) {
|
||
return false;
|
||
}
|
||
return value instanceof Element || value instanceof getWindow(value).Element;
|
||
}
|
||
function isHTMLElement(value) {
|
||
if (!hasWindow()) {
|
||
return false;
|
||
}
|
||
return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
|
||
}
|
||
function isShadowRoot(value) {
|
||
if (!hasWindow() || typeof ShadowRoot === 'undefined') {
|
||
return false;
|
||
}
|
||
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
||
}
|
||
const invalidOverflowDisplayValues = /*#__PURE__*/ new Set([
|
||
'inline',
|
||
'contents'
|
||
]);
|
||
function isOverflowElement(element) {
|
||
const { overflow, overflowX, overflowY, display } = getComputedStyle(element);
|
||
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
|
||
}
|
||
const tableElements = /*#__PURE__*/ new Set([
|
||
'table',
|
||
'td',
|
||
'th'
|
||
]);
|
||
function isTableElement(element) {
|
||
return tableElements.has(getNodeName(element));
|
||
}
|
||
const topLayerSelectors = [
|
||
':popover-open',
|
||
':modal'
|
||
];
|
||
function isTopLayer(element) {
|
||
return topLayerSelectors.some((selector)=>{
|
||
try {
|
||
return element.matches(selector);
|
||
} catch (_e) {
|
||
return false;
|
||
}
|
||
});
|
||
}
|
||
const transformProperties = [
|
||
'transform',
|
||
'translate',
|
||
'scale',
|
||
'rotate',
|
||
'perspective'
|
||
];
|
||
const willChangeValues = [
|
||
'transform',
|
||
'translate',
|
||
'scale',
|
||
'rotate',
|
||
'perspective',
|
||
'filter'
|
||
];
|
||
const containValues = [
|
||
'paint',
|
||
'layout',
|
||
'strict',
|
||
'content'
|
||
];
|
||
function isContainingBlock(elementOrCss) {
|
||
const webkit = isWebKit();
|
||
const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
|
||
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
||
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
||
return transformProperties.some((value)=>css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some((value)=>(css.willChange || '').includes(value)) || containValues.some((value)=>(css.contain || '').includes(value));
|
||
}
|
||
function getContainingBlock(element) {
|
||
let currentNode = getParentNode(element);
|
||
while(isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)){
|
||
if (isContainingBlock(currentNode)) {
|
||
return currentNode;
|
||
} else if (isTopLayer(currentNode)) {
|
||
return null;
|
||
}
|
||
currentNode = getParentNode(currentNode);
|
||
}
|
||
return null;
|
||
}
|
||
function isWebKit() {
|
||
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
||
return CSS.supports('-webkit-backdrop-filter', 'none');
|
||
}
|
||
const lastTraversableNodeNames = /*#__PURE__*/ new Set([
|
||
'html',
|
||
'body',
|
||
'#document'
|
||
]);
|
||
function isLastTraversableNode(node) {
|
||
return lastTraversableNodeNames.has(getNodeName(node));
|
||
}
|
||
function getComputedStyle(element) {
|
||
return getWindow(element).getComputedStyle(element);
|
||
}
|
||
function getNodeScroll(element) {
|
||
if (isElement(element)) {
|
||
return {
|
||
scrollLeft: element.scrollLeft,
|
||
scrollTop: element.scrollTop
|
||
};
|
||
}
|
||
return {
|
||
scrollLeft: element.scrollX,
|
||
scrollTop: element.scrollY
|
||
};
|
||
}
|
||
function getParentNode(node) {
|
||
if (getNodeName(node) === 'html') {
|
||
return node;
|
||
}
|
||
const result = // Step into the shadow DOM of the parent of a slotted node.
|
||
node.assignedSlot || // DOM Element detected.
|
||
node.parentNode || // ShadowRoot detected.
|
||
isShadowRoot(node) && node.host || // Fallback.
|
||
getDocumentElement(node);
|
||
return isShadowRoot(result) ? result.host : result;
|
||
}
|
||
function getNearestOverflowAncestor(node) {
|
||
const parentNode = getParentNode(node);
|
||
if (isLastTraversableNode(parentNode)) {
|
||
return node.ownerDocument ? node.ownerDocument.body : node.body;
|
||
}
|
||
if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
|
||
return parentNode;
|
||
}
|
||
return getNearestOverflowAncestor(parentNode);
|
||
}
|
||
function getOverflowAncestors(node, list, traverseIframes) {
|
||
var _node$ownerDocument2;
|
||
if (list === void 0) {
|
||
list = [];
|
||
}
|
||
if (traverseIframes === void 0) {
|
||
traverseIframes = true;
|
||
}
|
||
const scrollableAncestor = getNearestOverflowAncestor(node);
|
||
const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
|
||
const win = getWindow(scrollableAncestor);
|
||
if (isBody) {
|
||
const frameElement = getFrameElement(win);
|
||
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
|
||
}
|
||
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
||
}
|
||
function getFrameElement(win) {
|
||
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
|
||
}
|
||
;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs [app-client] (ecmascript) <locals>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"arrow",
|
||
()=>arrow,
|
||
"autoPlacement",
|
||
()=>autoPlacement,
|
||
"autoUpdate",
|
||
()=>autoUpdate,
|
||
"computePosition",
|
||
()=>computePosition,
|
||
"detectOverflow",
|
||
()=>detectOverflow,
|
||
"flip",
|
||
()=>flip,
|
||
"hide",
|
||
()=>hide,
|
||
"inline",
|
||
()=>inline,
|
||
"limitShift",
|
||
()=>limitShift,
|
||
"offset",
|
||
()=>offset,
|
||
"platform",
|
||
()=>platform,
|
||
"shift",
|
||
()=>shift,
|
||
"size",
|
||
()=>size
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.mjs [app-client] (ecmascript) <locals>");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
;
|
||
function getCssDimensions(element) {
|
||
const css = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(element);
|
||
// In testing environments, the `width` and `height` properties are empty
|
||
// strings for SVG elements, returning NaN. Fallback to `0` in this case.
|
||
let width = parseFloat(css.width) || 0;
|
||
let height = parseFloat(css.height) || 0;
|
||
const hasOffset = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isHTMLElement"])(element);
|
||
const offsetWidth = hasOffset ? element.offsetWidth : width;
|
||
const offsetHeight = hasOffset ? element.offsetHeight : height;
|
||
const shouldFallback = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["round"])(width) !== offsetWidth || (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["round"])(height) !== offsetHeight;
|
||
if (shouldFallback) {
|
||
width = offsetWidth;
|
||
height = offsetHeight;
|
||
}
|
||
return {
|
||
width,
|
||
height,
|
||
$: shouldFallback
|
||
};
|
||
}
|
||
function unwrapElement(element) {
|
||
return !(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"])(element) ? element.contextElement : element;
|
||
}
|
||
function getScale(element) {
|
||
const domElement = unwrapElement(element);
|
||
if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isHTMLElement"])(domElement)) {
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(1);
|
||
}
|
||
const rect = domElement.getBoundingClientRect();
|
||
const { width, height, $ } = getCssDimensions(domElement);
|
||
let x = ($ ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["round"])(rect.width) : rect.width) / width;
|
||
let y = ($ ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["round"])(rect.height) : rect.height) / height;
|
||
// 0, NaN, or Infinity should always fallback to 1.
|
||
if (!x || !Number.isFinite(x)) {
|
||
x = 1;
|
||
}
|
||
if (!y || !Number.isFinite(y)) {
|
||
y = 1;
|
||
}
|
||
return {
|
||
x,
|
||
y
|
||
};
|
||
}
|
||
const noOffsets = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(0);
|
||
function getVisualOffsets(element) {
|
||
const win = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getWindow"])(element);
|
||
if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isWebKit"])() || !win.visualViewport) {
|
||
return noOffsets;
|
||
}
|
||
return {
|
||
x: win.visualViewport.offsetLeft,
|
||
y: win.visualViewport.offsetTop
|
||
};
|
||
}
|
||
function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
||
if (isFixed === void 0) {
|
||
isFixed = false;
|
||
}
|
||
if (!floatingOffsetParent || isFixed && floatingOffsetParent !== (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getWindow"])(element)) {
|
||
return false;
|
||
}
|
||
return isFixed;
|
||
}
|
||
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
|
||
if (includeScale === void 0) {
|
||
includeScale = false;
|
||
}
|
||
if (isFixedStrategy === void 0) {
|
||
isFixedStrategy = false;
|
||
}
|
||
const clientRect = element.getBoundingClientRect();
|
||
const domElement = unwrapElement(element);
|
||
let scale = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(1);
|
||
if (includeScale) {
|
||
if (offsetParent) {
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"])(offsetParent)) {
|
||
scale = getScale(offsetParent);
|
||
}
|
||
} else {
|
||
scale = getScale(element);
|
||
}
|
||
}
|
||
const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(0);
|
||
let x = (clientRect.left + visualOffsets.x) / scale.x;
|
||
let y = (clientRect.top + visualOffsets.y) / scale.y;
|
||
let width = clientRect.width / scale.x;
|
||
let height = clientRect.height / scale.y;
|
||
if (domElement) {
|
||
const win = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getWindow"])(domElement);
|
||
const offsetWin = offsetParent && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"])(offsetParent) ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getWindow"])(offsetParent) : offsetParent;
|
||
let currentWin = win;
|
||
let currentIFrame = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getFrameElement"])(currentWin);
|
||
while(currentIFrame && offsetParent && offsetWin !== currentWin){
|
||
const iframeScale = getScale(currentIFrame);
|
||
const iframeRect = currentIFrame.getBoundingClientRect();
|
||
const css = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(currentIFrame);
|
||
const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
|
||
const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
|
||
x *= iframeScale.x;
|
||
y *= iframeScale.y;
|
||
width *= iframeScale.x;
|
||
height *= iframeScale.y;
|
||
x += left;
|
||
y += top;
|
||
currentWin = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getWindow"])(currentIFrame);
|
||
currentIFrame = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getFrameElement"])(currentWin);
|
||
}
|
||
}
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["rectToClientRect"])({
|
||
width,
|
||
height,
|
||
x,
|
||
y
|
||
});
|
||
}
|
||
// If <html> has a CSS width greater than the viewport, then this will be
|
||
// incorrect for RTL.
|
||
function getWindowScrollBarX(element, rect) {
|
||
const leftScroll = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getNodeScroll"])(element).scrollLeft;
|
||
if (!rect) {
|
||
return getBoundingClientRect((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"])(element)).left + leftScroll;
|
||
}
|
||
return rect.left + leftScroll;
|
||
}
|
||
function getHTMLOffset(documentElement, scroll) {
|
||
const htmlRect = documentElement.getBoundingClientRect();
|
||
const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
|
||
const y = htmlRect.top + scroll.scrollTop;
|
||
return {
|
||
x,
|
||
y
|
||
};
|
||
}
|
||
function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
||
let { elements, rect, offsetParent, strategy } = _ref;
|
||
const isFixed = strategy === 'fixed';
|
||
const documentElement = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"])(offsetParent);
|
||
const topLayer = elements ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isTopLayer"])(elements.floating) : false;
|
||
if (offsetParent === documentElement || topLayer && isFixed) {
|
||
return rect;
|
||
}
|
||
let scroll = {
|
||
scrollLeft: 0,
|
||
scrollTop: 0
|
||
};
|
||
let scale = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(1);
|
||
const offsets = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(0);
|
||
const isOffsetParentAnElement = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isHTMLElement"])(offsetParent);
|
||
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getNodeName"])(offsetParent) !== 'body' || (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isOverflowElement"])(documentElement)) {
|
||
scroll = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getNodeScroll"])(offsetParent);
|
||
}
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isHTMLElement"])(offsetParent)) {
|
||
const offsetRect = getBoundingClientRect(offsetParent);
|
||
scale = getScale(offsetParent);
|
||
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
||
offsets.y = offsetRect.y + offsetParent.clientTop;
|
||
}
|
||
}
|
||
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(0);
|
||
return {
|
||
width: rect.width * scale.x,
|
||
height: rect.height * scale.y,
|
||
x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
|
||
y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
|
||
};
|
||
}
|
||
function getClientRects(element) {
|
||
return Array.from(element.getClientRects());
|
||
}
|
||
// Gets the entire size of the scrollable document area, even extending outside
|
||
// of the `<html>` and `<body>` rect bounds if horizontally scrollable.
|
||
function getDocumentRect(element) {
|
||
const html = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"])(element);
|
||
const scroll = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getNodeScroll"])(element);
|
||
const body = element.ownerDocument.body;
|
||
const width = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
|
||
const height = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
|
||
let x = -scroll.scrollLeft + getWindowScrollBarX(element);
|
||
const y = -scroll.scrollTop;
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(body).direction === 'rtl') {
|
||
x += (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(html.clientWidth, body.clientWidth) - width;
|
||
}
|
||
return {
|
||
width,
|
||
height,
|
||
x,
|
||
y
|
||
};
|
||
}
|
||
// Safety check: ensure the scrollbar space is reasonable in case this
|
||
// calculation is affected by unusual styles.
|
||
// Most scrollbars leave 15-18px of space.
|
||
const SCROLLBAR_MAX = 25;
|
||
function getViewportRect(element, strategy) {
|
||
const win = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getWindow"])(element);
|
||
const html = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"])(element);
|
||
const visualViewport = win.visualViewport;
|
||
let width = html.clientWidth;
|
||
let height = html.clientHeight;
|
||
let x = 0;
|
||
let y = 0;
|
||
if (visualViewport) {
|
||
width = visualViewport.width;
|
||
height = visualViewport.height;
|
||
const visualViewportBased = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isWebKit"])();
|
||
if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {
|
||
x = visualViewport.offsetLeft;
|
||
y = visualViewport.offsetTop;
|
||
}
|
||
}
|
||
const windowScrollbarX = getWindowScrollBarX(html);
|
||
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
||
// visual width of the <html> but this is not considered in the size
|
||
// of `html.clientWidth`.
|
||
if (windowScrollbarX <= 0) {
|
||
const doc = html.ownerDocument;
|
||
const body = doc.body;
|
||
const bodyStyles = getComputedStyle(body);
|
||
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
||
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
||
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
||
width -= clippingStableScrollbarWidth;
|
||
}
|
||
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
||
// If the <body> scrollbar is on the left, the width needs to be extended
|
||
// by the scrollbar amount so there isn't extra space on the right.
|
||
width += windowScrollbarX;
|
||
}
|
||
return {
|
||
width,
|
||
height,
|
||
x,
|
||
y
|
||
};
|
||
}
|
||
const absoluteOrFixed = /*#__PURE__*/ new Set([
|
||
'absolute',
|
||
'fixed'
|
||
]);
|
||
// Returns the inner client rect, subtracting scrollbars if present.
|
||
function getInnerBoundingClientRect(element, strategy) {
|
||
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
||
const top = clientRect.top + element.clientTop;
|
||
const left = clientRect.left + element.clientLeft;
|
||
const scale = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isHTMLElement"])(element) ? getScale(element) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(1);
|
||
const width = element.clientWidth * scale.x;
|
||
const height = element.clientHeight * scale.y;
|
||
const x = left * scale.x;
|
||
const y = top * scale.y;
|
||
return {
|
||
width,
|
||
height,
|
||
x,
|
||
y
|
||
};
|
||
}
|
||
function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
|
||
let rect;
|
||
if (clippingAncestor === 'viewport') {
|
||
rect = getViewportRect(element, strategy);
|
||
} else if (clippingAncestor === 'document') {
|
||
rect = getDocumentRect((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"])(element));
|
||
} else if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"])(clippingAncestor)) {
|
||
rect = getInnerBoundingClientRect(clippingAncestor, strategy);
|
||
} else {
|
||
const visualOffsets = getVisualOffsets(element);
|
||
rect = {
|
||
x: clippingAncestor.x - visualOffsets.x,
|
||
y: clippingAncestor.y - visualOffsets.y,
|
||
width: clippingAncestor.width,
|
||
height: clippingAncestor.height
|
||
};
|
||
}
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["rectToClientRect"])(rect);
|
||
}
|
||
function hasFixedPositionAncestor(element, stopNode) {
|
||
const parentNode = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getParentNode"])(element);
|
||
if (parentNode === stopNode || !(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"])(parentNode) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isLastTraversableNode"])(parentNode)) {
|
||
return false;
|
||
}
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
|
||
}
|
||
// A "clipping ancestor" is an `overflow` element with the characteristic of
|
||
// clipping (or hiding) child elements. This returns all clipping ancestors
|
||
// of the given element up the tree.
|
||
function getClippingElementAncestors(element, cache) {
|
||
const cachedResult = cache.get(element);
|
||
if (cachedResult) {
|
||
return cachedResult;
|
||
}
|
||
let result = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getOverflowAncestors"])(element, [], false).filter((el)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"])(el) && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getNodeName"])(el) !== 'body');
|
||
let currentContainingBlockComputedStyle = null;
|
||
const elementIsFixed = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(element).position === 'fixed';
|
||
let currentNode = elementIsFixed ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getParentNode"])(element) : element;
|
||
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
||
while((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"])(currentNode) && !(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isLastTraversableNode"])(currentNode)){
|
||
const computedStyle = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(currentNode);
|
||
const currentNodeIsContaining = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isContainingBlock"])(currentNode);
|
||
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
||
currentContainingBlockComputedStyle = null;
|
||
}
|
||
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isOverflowElement"])(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
||
if (shouldDropCurrentNode) {
|
||
// Drop non-containing blocks.
|
||
result = result.filter((ancestor)=>ancestor !== currentNode);
|
||
} else {
|
||
// Record last containing block for next iteration.
|
||
currentContainingBlockComputedStyle = computedStyle;
|
||
}
|
||
currentNode = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getParentNode"])(currentNode);
|
||
}
|
||
cache.set(element, result);
|
||
return result;
|
||
}
|
||
// Gets the maximum area that the element is visible in due to any number of
|
||
// clipping ancestors.
|
||
function getClippingRect(_ref) {
|
||
let { element, boundary, rootBoundary, strategy } = _ref;
|
||
const elementClippingAncestors = boundary === 'clippingAncestors' ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isTopLayer"])(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
|
||
const clippingAncestors = [
|
||
...elementClippingAncestors,
|
||
rootBoundary
|
||
];
|
||
const firstClippingAncestor = clippingAncestors[0];
|
||
const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor)=>{
|
||
const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
|
||
accRect.top = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(rect.top, accRect.top);
|
||
accRect.right = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(rect.right, accRect.right);
|
||
accRect.bottom = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(rect.bottom, accRect.bottom);
|
||
accRect.left = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(rect.left, accRect.left);
|
||
return accRect;
|
||
}, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
|
||
return {
|
||
width: clippingRect.right - clippingRect.left,
|
||
height: clippingRect.bottom - clippingRect.top,
|
||
x: clippingRect.left,
|
||
y: clippingRect.top
|
||
};
|
||
}
|
||
function getDimensions(element) {
|
||
const { width, height } = getCssDimensions(element);
|
||
return {
|
||
width,
|
||
height
|
||
};
|
||
}
|
||
function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
||
const isOffsetParentAnElement = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isHTMLElement"])(offsetParent);
|
||
const documentElement = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"])(offsetParent);
|
||
const isFixed = strategy === 'fixed';
|
||
const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
|
||
let scroll = {
|
||
scrollLeft: 0,
|
||
scrollTop: 0
|
||
};
|
||
const offsets = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(0);
|
||
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
||
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
||
function setLeftRTLScrollbarOffset() {
|
||
offsets.x = getWindowScrollBarX(documentElement);
|
||
}
|
||
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getNodeName"])(offsetParent) !== 'body' || (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isOverflowElement"])(documentElement)) {
|
||
scroll = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getNodeScroll"])(offsetParent);
|
||
}
|
||
if (isOffsetParentAnElement) {
|
||
const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
|
||
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
||
offsets.y = offsetRect.y + offsetParent.clientTop;
|
||
} else if (documentElement) {
|
||
setLeftRTLScrollbarOffset();
|
||
}
|
||
}
|
||
if (isFixed && !isOffsetParentAnElement && documentElement) {
|
||
setLeftRTLScrollbarOffset();
|
||
}
|
||
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCoords"])(0);
|
||
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
||
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
||
return {
|
||
x,
|
||
y,
|
||
width: rect.width,
|
||
height: rect.height
|
||
};
|
||
}
|
||
function isStaticPositioned(element) {
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(element).position === 'static';
|
||
}
|
||
function getTrueOffsetParent(element, polyfill) {
|
||
if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isHTMLElement"])(element) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(element).position === 'fixed') {
|
||
return null;
|
||
}
|
||
if (polyfill) {
|
||
return polyfill(element);
|
||
}
|
||
let rawOffsetParent = element.offsetParent;
|
||
// Firefox returns the <html> element as the offsetParent if it's non-static,
|
||
// while Chrome and Safari return the <body> element. The <body> element must
|
||
// be used to perform the correct calculations even if the <html> element is
|
||
// non-static.
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"])(element) === rawOffsetParent) {
|
||
rawOffsetParent = rawOffsetParent.ownerDocument.body;
|
||
}
|
||
return rawOffsetParent;
|
||
}
|
||
// Gets the closest ancestor positioned element. Handles some edge cases,
|
||
// such as table ancestors and cross browser bugs.
|
||
function getOffsetParent(element, polyfill) {
|
||
const win = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getWindow"])(element);
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isTopLayer"])(element)) {
|
||
return win;
|
||
}
|
||
if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isHTMLElement"])(element)) {
|
||
let svgOffsetParent = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getParentNode"])(element);
|
||
while(svgOffsetParent && !(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isLastTraversableNode"])(svgOffsetParent)){
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"])(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
|
||
return svgOffsetParent;
|
||
}
|
||
svgOffsetParent = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getParentNode"])(svgOffsetParent);
|
||
}
|
||
return win;
|
||
}
|
||
let offsetParent = getTrueOffsetParent(element, polyfill);
|
||
while(offsetParent && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isTableElement"])(offsetParent) && isStaticPositioned(offsetParent)){
|
||
offsetParent = getTrueOffsetParent(offsetParent, polyfill);
|
||
}
|
||
if (offsetParent && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isLastTraversableNode"])(offsetParent) && isStaticPositioned(offsetParent) && !(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isContainingBlock"])(offsetParent)) {
|
||
return win;
|
||
}
|
||
return offsetParent || (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getContainingBlock"])(element) || win;
|
||
}
|
||
const getElementRects = async function(data) {
|
||
const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
|
||
const getDimensionsFn = this.getDimensions;
|
||
const floatingDimensions = await getDimensionsFn(data.floating);
|
||
return {
|
||
reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
|
||
floating: {
|
||
x: 0,
|
||
y: 0,
|
||
width: floatingDimensions.width,
|
||
height: floatingDimensions.height
|
||
}
|
||
};
|
||
};
|
||
function isRTL(element) {
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getComputedStyle"])(element).direction === 'rtl';
|
||
}
|
||
const platform = {
|
||
convertOffsetParentRelativeRectToViewportRelativeRect,
|
||
getDocumentElement: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"],
|
||
getClippingRect,
|
||
getOffsetParent,
|
||
getElementRects,
|
||
getClientRects,
|
||
getDimensions,
|
||
getScale,
|
||
isElement: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isElement"],
|
||
isRTL
|
||
};
|
||
function rectsAreEqual(a, b) {
|
||
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
||
}
|
||
// https://samthor.au/2021/observing-dom/
|
||
function observeMove(element, onMove) {
|
||
let io = null;
|
||
let timeoutId;
|
||
const root = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getDocumentElement"])(element);
|
||
function cleanup() {
|
||
var _io;
|
||
clearTimeout(timeoutId);
|
||
(_io = io) == null || _io.disconnect();
|
||
io = null;
|
||
}
|
||
function refresh(skip, threshold) {
|
||
if (skip === void 0) {
|
||
skip = false;
|
||
}
|
||
if (threshold === void 0) {
|
||
threshold = 1;
|
||
}
|
||
cleanup();
|
||
const elementRectForRootMargin = element.getBoundingClientRect();
|
||
const { left, top, width, height } = elementRectForRootMargin;
|
||
if (!skip) {
|
||
onMove();
|
||
}
|
||
if (!width || !height) {
|
||
return;
|
||
}
|
||
const insetTop = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["floor"])(top);
|
||
const insetRight = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["floor"])(root.clientWidth - (left + width));
|
||
const insetBottom = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["floor"])(root.clientHeight - (top + height));
|
||
const insetLeft = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["floor"])(left);
|
||
const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
|
||
const options = {
|
||
rootMargin,
|
||
threshold: (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["max"])(0, (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["min"])(1, threshold)) || 1
|
||
};
|
||
let isFirstUpdate = true;
|
||
function handleObserve(entries) {
|
||
const ratio = entries[0].intersectionRatio;
|
||
if (ratio !== threshold) {
|
||
if (!isFirstUpdate) {
|
||
return refresh();
|
||
}
|
||
if (!ratio) {
|
||
// If the reference is clipped, the ratio is 0. Throttle the refresh
|
||
// to prevent an infinite loop of updates.
|
||
timeoutId = setTimeout(()=>{
|
||
refresh(false, 1e-7);
|
||
}, 1000);
|
||
} else {
|
||
refresh(false, ratio);
|
||
}
|
||
}
|
||
if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
|
||
// It's possible that even though the ratio is reported as 1, the
|
||
// element is not actually fully within the IntersectionObserver's root
|
||
// area anymore. This can happen under performance constraints. This may
|
||
// be a bug in the browser's IntersectionObserver implementation. To
|
||
// work around this, we compare the element's bounding rect now with
|
||
// what it was at the time we created the IntersectionObserver. If they
|
||
// are not equal then the element moved, so we refresh.
|
||
refresh();
|
||
}
|
||
isFirstUpdate = false;
|
||
}
|
||
// Older browsers don't support a `document` as the root and will throw an
|
||
// error.
|
||
try {
|
||
io = new IntersectionObserver(handleObserve, {
|
||
...options,
|
||
// Handle <iframe>s
|
||
root: root.ownerDocument
|
||
});
|
||
} catch (_e) {
|
||
io = new IntersectionObserver(handleObserve, options);
|
||
}
|
||
io.observe(element);
|
||
}
|
||
refresh(true);
|
||
return cleanup;
|
||
}
|
||
/**
|
||
* Automatically updates the position of the floating element when necessary.
|
||
* Should only be called when the floating element is mounted on the DOM or
|
||
* visible on the screen.
|
||
* @returns cleanup function that should be invoked when the floating element is
|
||
* removed from the DOM or hidden from the screen.
|
||
* @see https://floating-ui.com/docs/autoUpdate
|
||
*/ function autoUpdate(reference, floating, update, options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
const { ancestorScroll = true, ancestorResize = true, elementResize = typeof ResizeObserver === 'function', layoutShift = typeof IntersectionObserver === 'function', animationFrame = false } = options;
|
||
const referenceEl = unwrapElement(reference);
|
||
const ancestors = ancestorScroll || ancestorResize ? [
|
||
...referenceEl ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getOverflowAncestors"])(referenceEl) : [],
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$utils$40$0$2e$2$2e$10$2f$node_modules$2f40$floating$2d$ui$2f$utils$2f$dist$2f$floating$2d$ui$2e$utils$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["getOverflowAncestors"])(floating)
|
||
] : [];
|
||
ancestors.forEach((ancestor)=>{
|
||
ancestorScroll && ancestor.addEventListener('scroll', update, {
|
||
passive: true
|
||
});
|
||
ancestorResize && ancestor.addEventListener('resize', update);
|
||
});
|
||
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
|
||
let reobserveFrame = -1;
|
||
let resizeObserver = null;
|
||
if (elementResize) {
|
||
resizeObserver = new ResizeObserver((_ref)=>{
|
||
let [firstEntry] = _ref;
|
||
if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
|
||
// Prevent update loops when using the `size` middleware.
|
||
// https://github.com/floating-ui/floating-ui/issues/1740
|
||
resizeObserver.unobserve(floating);
|
||
cancelAnimationFrame(reobserveFrame);
|
||
reobserveFrame = requestAnimationFrame(()=>{
|
||
var _resizeObserver;
|
||
(_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
|
||
});
|
||
}
|
||
update();
|
||
});
|
||
if (referenceEl && !animationFrame) {
|
||
resizeObserver.observe(referenceEl);
|
||
}
|
||
resizeObserver.observe(floating);
|
||
}
|
||
let frameId;
|
||
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
|
||
if (animationFrame) {
|
||
frameLoop();
|
||
}
|
||
function frameLoop() {
|
||
const nextRefRect = getBoundingClientRect(reference);
|
||
if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
|
||
update();
|
||
}
|
||
prevRefRect = nextRefRect;
|
||
frameId = requestAnimationFrame(frameLoop);
|
||
}
|
||
update();
|
||
return ()=>{
|
||
var _resizeObserver2;
|
||
ancestors.forEach((ancestor)=>{
|
||
ancestorScroll && ancestor.removeEventListener('scroll', update);
|
||
ancestorResize && ancestor.removeEventListener('resize', update);
|
||
});
|
||
cleanupIo == null || cleanupIo();
|
||
(_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
|
||
resizeObserver = null;
|
||
if (animationFrame) {
|
||
cancelAnimationFrame(frameId);
|
||
}
|
||
};
|
||
}
|
||
/**
|
||
* Resolves with an object of overflow side offsets that determine how much the
|
||
* element is overflowing a given clipping boundary on each side.
|
||
* - positive = overflowing the boundary by that number of pixels
|
||
* - negative = how many pixels left before it will overflow
|
||
* - 0 = lies flush with the boundary
|
||
* @see https://floating-ui.com/docs/detectOverflow
|
||
*/ const detectOverflow = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["detectOverflow"];
|
||
/**
|
||
* Modifies the placement by translating the floating element along the
|
||
* specified axes.
|
||
* A number (shorthand for `mainAxis` or distance), or an axes configuration
|
||
* object may be passed.
|
||
* @see https://floating-ui.com/docs/offset
|
||
*/ const offset = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["offset"];
|
||
/**
|
||
* Optimizes the visibility of the floating element by choosing the placement
|
||
* that has the most space available automatically, without needing to specify a
|
||
* preferred placement. Alternative to `flip`.
|
||
* @see https://floating-ui.com/docs/autoPlacement
|
||
*/ const autoPlacement = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["autoPlacement"];
|
||
/**
|
||
* Optimizes the visibility of the floating element by shifting it in order to
|
||
* keep it in view when it will overflow the clipping boundary.
|
||
* @see https://floating-ui.com/docs/shift
|
||
*/ const shift = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["shift"];
|
||
/**
|
||
* Optimizes the visibility of the floating element by flipping the `placement`
|
||
* in order to keep it in view when the preferred placement(s) will overflow the
|
||
* clipping boundary. Alternative to `autoPlacement`.
|
||
* @see https://floating-ui.com/docs/flip
|
||
*/ const flip = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["flip"];
|
||
/**
|
||
* Provides data that allows you to change the size of the floating element —
|
||
* for instance, prevent it from overflowing the clipping boundary or match the
|
||
* width of the reference element.
|
||
* @see https://floating-ui.com/docs/size
|
||
*/ const size = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["size"];
|
||
/**
|
||
* Provides data to hide the floating element in applicable situations, such as
|
||
* when it is not in the same clipping context as the reference element.
|
||
* @see https://floating-ui.com/docs/hide
|
||
*/ const hide = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["hide"];
|
||
/**
|
||
* Provides data to position an inner element of the floating element so that it
|
||
* appears centered to the reference element.
|
||
* @see https://floating-ui.com/docs/arrow
|
||
*/ const arrow = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["arrow"];
|
||
/**
|
||
* Provides improved positioning for inline reference elements that can span
|
||
* over multiple lines, such as hyperlinks or range selections.
|
||
* @see https://floating-ui.com/docs/inline
|
||
*/ const inline = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["inline"];
|
||
/**
|
||
* Built-in `limiter` that will stop `shift()` at a certain point.
|
||
*/ const limitShift = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["limitShift"];
|
||
/**
|
||
* Computes the `x` and `y` coordinates that will place the floating element
|
||
* next to a given reference element.
|
||
*/ const computePosition = (reference, floating, options)=>{
|
||
// This caches the expensive `getClippingElementAncestors` function so that
|
||
// multiple lifecycle resets re-use the same result. It only lives for a
|
||
// single call. If other functions become expensive, we can add them as well.
|
||
const cache = new Map();
|
||
const mergedOptions = {
|
||
platform,
|
||
...options
|
||
};
|
||
const platformWithCache = {
|
||
...mergedOptions.platform,
|
||
_c: cache
|
||
};
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$core$40$1$2e$7$2e$3$2f$node_modules$2f40$floating$2d$ui$2f$core$2f$dist$2f$floating$2d$ui$2e$core$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["computePosition"])(reference, floating, {
|
||
...mergedOptions,
|
||
platform: platformWithCache
|
||
});
|
||
};
|
||
;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+react-dom@2.1.6_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs [app-client] (ecmascript) <locals>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"arrow",
|
||
()=>arrow,
|
||
"autoPlacement",
|
||
()=>autoPlacement,
|
||
"flip",
|
||
()=>flip,
|
||
"hide",
|
||
()=>hide,
|
||
"inline",
|
||
()=>inline,
|
||
"limitShift",
|
||
()=>limitShift,
|
||
"offset",
|
||
()=>offset,
|
||
"shift",
|
||
()=>shift,
|
||
"size",
|
||
()=>size,
|
||
"useFloating",
|
||
()=>useFloating
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs [app-client] (ecmascript) <locals>");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var isClient = typeof document !== 'undefined';
|
||
var noop = function noop() {};
|
||
var index = isClient ? __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"] : noop;
|
||
// Fork of `fast-deep-equal` that only does the comparisons we need and compares
|
||
// functions
|
||
function deepEqual(a, b) {
|
||
if (a === b) {
|
||
return true;
|
||
}
|
||
if (typeof a !== typeof b) {
|
||
return false;
|
||
}
|
||
if (typeof a === 'function' && a.toString() === b.toString()) {
|
||
return true;
|
||
}
|
||
let length;
|
||
let i;
|
||
let keys;
|
||
if (a && b && typeof a === 'object') {
|
||
if (Array.isArray(a)) {
|
||
length = a.length;
|
||
if (length !== b.length) return false;
|
||
for(i = length; i-- !== 0;){
|
||
if (!deepEqual(a[i], b[i])) {
|
||
return false;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
keys = Object.keys(a);
|
||
length = keys.length;
|
||
if (length !== Object.keys(b).length) {
|
||
return false;
|
||
}
|
||
for(i = length; i-- !== 0;){
|
||
if (!({}).hasOwnProperty.call(b, keys[i])) {
|
||
return false;
|
||
}
|
||
}
|
||
for(i = length; i-- !== 0;){
|
||
const key = keys[i];
|
||
if (key === '_owner' && a.$$typeof) {
|
||
continue;
|
||
}
|
||
if (!deepEqual(a[key], b[key])) {
|
||
return false;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
return a !== a && b !== b;
|
||
}
|
||
function getDPR(element) {
|
||
if (typeof window === 'undefined') {
|
||
return 1;
|
||
}
|
||
const win = element.ownerDocument.defaultView || window;
|
||
return win.devicePixelRatio || 1;
|
||
}
|
||
function roundByDPR(element, value) {
|
||
const dpr = getDPR(element);
|
||
return Math.round(value * dpr) / dpr;
|
||
}
|
||
function useLatestRef(value) {
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](value);
|
||
index(()=>{
|
||
ref.current = value;
|
||
});
|
||
return ref;
|
||
}
|
||
/**
|
||
* Provides data to position a floating element.
|
||
* @see https://floating-ui.com/docs/useFloating
|
||
*/ function useFloating(options) {
|
||
if (options === void 0) {
|
||
options = {};
|
||
}
|
||
const { placement = 'bottom', strategy = 'absolute', middleware = [], platform, elements: { reference: externalReference, floating: externalFloating } = {}, transform = true, whileElementsMounted, open } = options;
|
||
const [data, setData] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]({
|
||
x: 0,
|
||
y: 0,
|
||
strategy,
|
||
placement,
|
||
middlewareData: {},
|
||
isPositioned: false
|
||
});
|
||
const [latestMiddleware, setLatestMiddleware] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](middleware);
|
||
if (!deepEqual(latestMiddleware, middleware)) {
|
||
setLatestMiddleware(middleware);
|
||
}
|
||
const [_reference, _setReference] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [_floating, _setFloating] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const setReference = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"useFloating.useCallback[setReference]": (node)=>{
|
||
if (node !== referenceRef.current) {
|
||
referenceRef.current = node;
|
||
_setReference(node);
|
||
}
|
||
}
|
||
}["useFloating.useCallback[setReference]"], []);
|
||
const setFloating = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"useFloating.useCallback[setFloating]": (node)=>{
|
||
if (node !== floatingRef.current) {
|
||
floatingRef.current = node;
|
||
_setFloating(node);
|
||
}
|
||
}
|
||
}["useFloating.useCallback[setFloating]"], []);
|
||
const referenceEl = externalReference || _reference;
|
||
const floatingEl = externalFloating || _floating;
|
||
const referenceRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const floatingRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const dataRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](data);
|
||
const hasWhileElementsMounted = whileElementsMounted != null;
|
||
const whileElementsMountedRef = useLatestRef(whileElementsMounted);
|
||
const platformRef = useLatestRef(platform);
|
||
const openRef = useLatestRef(open);
|
||
const update = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"useFloating.useCallback[update]": ()=>{
|
||
if (!referenceRef.current || !floatingRef.current) {
|
||
return;
|
||
}
|
||
const config = {
|
||
placement,
|
||
strategy,
|
||
middleware: latestMiddleware
|
||
};
|
||
if (platformRef.current) {
|
||
config.platform = platformRef.current;
|
||
}
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["computePosition"])(referenceRef.current, floatingRef.current, config).then({
|
||
"useFloating.useCallback[update]": (data)=>{
|
||
const fullData = {
|
||
...data,
|
||
// The floating element's position may be recomputed while it's closed
|
||
// but still mounted (such as when transitioning out). To ensure
|
||
// `isPositioned` will be `false` initially on the next open, avoid
|
||
// setting it to `true` when `open === false` (must be specified).
|
||
isPositioned: openRef.current !== false
|
||
};
|
||
if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
|
||
dataRef.current = fullData;
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["flushSync"]({
|
||
"useFloating.useCallback[update]": ()=>{
|
||
setData(fullData);
|
||
}
|
||
}["useFloating.useCallback[update]"]);
|
||
}
|
||
}
|
||
}["useFloating.useCallback[update]"]);
|
||
}
|
||
}["useFloating.useCallback[update]"], [
|
||
latestMiddleware,
|
||
placement,
|
||
strategy,
|
||
platformRef,
|
||
openRef
|
||
]);
|
||
index(()=>{
|
||
if (open === false && dataRef.current.isPositioned) {
|
||
dataRef.current.isPositioned = false;
|
||
setData((data)=>({
|
||
...data,
|
||
isPositioned: false
|
||
}));
|
||
}
|
||
}, [
|
||
open
|
||
]);
|
||
const isMountedRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
index(()=>{
|
||
isMountedRef.current = true;
|
||
return ()=>{
|
||
isMountedRef.current = false;
|
||
};
|
||
}, []);
|
||
index(()=>{
|
||
if (referenceEl) referenceRef.current = referenceEl;
|
||
if (floatingEl) floatingRef.current = floatingEl;
|
||
if (referenceEl && floatingEl) {
|
||
if (whileElementsMountedRef.current) {
|
||
return whileElementsMountedRef.current(referenceEl, floatingEl, update);
|
||
}
|
||
update();
|
||
}
|
||
}, [
|
||
referenceEl,
|
||
floatingEl,
|
||
update,
|
||
whileElementsMountedRef,
|
||
hasWhileElementsMounted
|
||
]);
|
||
const refs = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"useFloating.useMemo[refs]": ()=>({
|
||
reference: referenceRef,
|
||
floating: floatingRef,
|
||
setReference,
|
||
setFloating
|
||
})
|
||
}["useFloating.useMemo[refs]"], [
|
||
setReference,
|
||
setFloating
|
||
]);
|
||
const elements = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"useFloating.useMemo[elements]": ()=>({
|
||
reference: referenceEl,
|
||
floating: floatingEl
|
||
})
|
||
}["useFloating.useMemo[elements]"], [
|
||
referenceEl,
|
||
floatingEl
|
||
]);
|
||
const floatingStyles = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"useFloating.useMemo[floatingStyles]": ()=>{
|
||
const initialStyles = {
|
||
position: strategy,
|
||
left: 0,
|
||
top: 0
|
||
};
|
||
if (!elements.floating) {
|
||
return initialStyles;
|
||
}
|
||
const x = roundByDPR(elements.floating, data.x);
|
||
const y = roundByDPR(elements.floating, data.y);
|
||
if (transform) {
|
||
return {
|
||
...initialStyles,
|
||
transform: "translate(" + x + "px, " + y + "px)",
|
||
...getDPR(elements.floating) >= 1.5 && {
|
||
willChange: 'transform'
|
||
}
|
||
};
|
||
}
|
||
return {
|
||
position: strategy,
|
||
left: x,
|
||
top: y
|
||
};
|
||
}
|
||
}["useFloating.useMemo[floatingStyles]"], [
|
||
strategy,
|
||
transform,
|
||
elements.floating,
|
||
data.x,
|
||
data.y
|
||
]);
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"useFloating.useMemo": ()=>({
|
||
...data,
|
||
update,
|
||
refs,
|
||
elements,
|
||
floatingStyles
|
||
})
|
||
}["useFloating.useMemo"], [
|
||
data,
|
||
update,
|
||
refs,
|
||
elements,
|
||
floatingStyles
|
||
]);
|
||
}
|
||
/**
|
||
* Provides data to position an inner element of the floating element so that it
|
||
* appears centered to the reference element.
|
||
* This wraps the core `arrow` middleware to allow React refs as the element.
|
||
* @see https://floating-ui.com/docs/arrow
|
||
*/ const arrow$1 = (options)=>{
|
||
function isRef(value) {
|
||
return ({}).hasOwnProperty.call(value, 'current');
|
||
}
|
||
return {
|
||
name: 'arrow',
|
||
options,
|
||
fn (state) {
|
||
const { element, padding } = typeof options === 'function' ? options(state) : options;
|
||
if (element && isRef(element)) {
|
||
if (element.current != null) {
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["arrow"])({
|
||
element: element.current,
|
||
padding
|
||
}).fn(state);
|
||
}
|
||
return {};
|
||
}
|
||
if (element) {
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["arrow"])({
|
||
element,
|
||
padding
|
||
}).fn(state);
|
||
}
|
||
return {};
|
||
}
|
||
};
|
||
};
|
||
/**
|
||
* Modifies the placement by translating the floating element along the
|
||
* specified axes.
|
||
* A number (shorthand for `mainAxis` or distance), or an axes configuration
|
||
* object may be passed.
|
||
* @see https://floating-ui.com/docs/offset
|
||
*/ const offset = (options, deps)=>({
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["offset"])(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
/**
|
||
* Optimizes the visibility of the floating element by shifting it in order to
|
||
* keep it in view when it will overflow the clipping boundary.
|
||
* @see https://floating-ui.com/docs/shift
|
||
*/ const shift = (options, deps)=>({
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["shift"])(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
/**
|
||
* Built-in `limiter` that will stop `shift()` at a certain point.
|
||
*/ const limitShift = (options, deps)=>({
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["limitShift"])(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
/**
|
||
* Optimizes the visibility of the floating element by flipping the `placement`
|
||
* in order to keep it in view when the preferred placement(s) will overflow the
|
||
* clipping boundary. Alternative to `autoPlacement`.
|
||
* @see https://floating-ui.com/docs/flip
|
||
*/ const flip = (options, deps)=>({
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["flip"])(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
/**
|
||
* Provides data that allows you to change the size of the floating element —
|
||
* for instance, prevent it from overflowing the clipping boundary or match the
|
||
* width of the reference element.
|
||
* @see https://floating-ui.com/docs/size
|
||
*/ const size = (options, deps)=>({
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["size"])(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
/**
|
||
* Optimizes the visibility of the floating element by choosing the placement
|
||
* that has the most space available automatically, without needing to specify a
|
||
* preferred placement. Alternative to `flip`.
|
||
* @see https://floating-ui.com/docs/autoPlacement
|
||
*/ const autoPlacement = (options, deps)=>({
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["autoPlacement"])(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
/**
|
||
* Provides data to hide the floating element in applicable situations, such as
|
||
* when it is not in the same clipping context as the reference element.
|
||
* @see https://floating-ui.com/docs/hide
|
||
*/ const hide = (options, deps)=>({
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["hide"])(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
/**
|
||
* Provides improved positioning for inline reference elements that can span
|
||
* over multiple lines, such as hyperlinks or range selections.
|
||
* @see https://floating-ui.com/docs/inline
|
||
*/ const inline = (options, deps)=>({
|
||
...(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["inline"])(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
/**
|
||
* Provides data to position an inner element of the floating element so that it
|
||
* appears centered to the reference element.
|
||
* This wraps the core `arrow` middleware to allow React refs as the element.
|
||
* @see https://floating-ui.com/docs/arrow
|
||
*/ const arrow = (options, deps)=>({
|
||
...arrow$1(options),
|
||
options: [
|
||
options,
|
||
deps
|
||
]
|
||
});
|
||
;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-arrow@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@1_39cf57811aaff0943ff6c638b98c5bc2/node_modules/@radix-ui/react-arrow/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
// packages/react/arrow/src/Arrow.tsx
|
||
__turbopack_context__.s([
|
||
"Arrow",
|
||
()=>Arrow,
|
||
"Root",
|
||
()=>Root
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
var NAME = "Arrow";
|
||
var Arrow = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { children, width = 10, height = 5, ...arrowProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].svg, {
|
||
...arrowProps,
|
||
ref: forwardedRef,
|
||
width,
|
||
height,
|
||
viewBox: "0 0 30 10",
|
||
preserveAspectRatio: "none",
|
||
children: props.asChild ? children : /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("polygon", {
|
||
points: "0,0 30,0 15,10"
|
||
})
|
||
});
|
||
});
|
||
Arrow.displayName = NAME;
|
||
var Root = Arrow;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-size@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-size/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
// packages/react/use-size/src/useSize.tsx
|
||
__turbopack_context__.s([
|
||
"useSize",
|
||
()=>useSize
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
function useSize(element) {
|
||
const [size, setSize] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](void 0);
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"useSize.useLayoutEffect": ()=>{
|
||
if (element) {
|
||
setSize({
|
||
width: element.offsetWidth,
|
||
height: element.offsetHeight
|
||
});
|
||
const resizeObserver = new ResizeObserver({
|
||
"useSize.useLayoutEffect": (entries)=>{
|
||
if (!Array.isArray(entries)) {
|
||
return;
|
||
}
|
||
if (!entries.length) {
|
||
return;
|
||
}
|
||
const entry = entries[0];
|
||
let width;
|
||
let height;
|
||
if ("borderBoxSize" in entry) {
|
||
const borderSizeEntry = entry["borderBoxSize"];
|
||
const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;
|
||
width = borderSize["inlineSize"];
|
||
height = borderSize["blockSize"];
|
||
} else {
|
||
width = element.offsetWidth;
|
||
height = element.offsetHeight;
|
||
}
|
||
setSize({
|
||
width,
|
||
height
|
||
});
|
||
}
|
||
}["useSize.useLayoutEffect"]);
|
||
resizeObserver.observe(element, {
|
||
box: "border-box"
|
||
});
|
||
return ({
|
||
"useSize.useLayoutEffect": ()=>resizeObserver.unobserve(element)
|
||
})["useSize.useLayoutEffect"];
|
||
} else {
|
||
setSize(void 0);
|
||
}
|
||
}
|
||
}["useSize.useLayoutEffect"], [
|
||
element
|
||
]);
|
||
return size;
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-popper@1.2.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@_f51937a6043c1687ec731d0ff356eddd/node_modules/@radix-ui/react-popper/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ALIGN_OPTIONS",
|
||
()=>ALIGN_OPTIONS,
|
||
"Anchor",
|
||
()=>Anchor,
|
||
"Arrow",
|
||
()=>Arrow,
|
||
"Content",
|
||
()=>Content,
|
||
"Popper",
|
||
()=>Popper,
|
||
"PopperAnchor",
|
||
()=>PopperAnchor,
|
||
"PopperArrow",
|
||
()=>PopperArrow,
|
||
"PopperContent",
|
||
()=>PopperContent,
|
||
"Root",
|
||
()=>Root2,
|
||
"SIDE_OPTIONS",
|
||
()=>SIDE_OPTIONS,
|
||
"createPopperScope",
|
||
()=>createPopperScope
|
||
]);
|
||
// packages/react/popper/src/Popper.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+react-dom@2.1.6_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs [app-client] (ecmascript) <locals>");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@floating-ui+dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs [app-client] (ecmascript) <locals>");
|
||
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$arrow$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$1_39cf57811aaff0943ff6c638b98c5bc2$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$arrow$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-arrow@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@1_39cf57811aaff0943ff6c638b98c5bc2/node_modules/@radix-ui/react-arrow/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$size$40$1$2e$1$2e$0_$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$use$2d$size$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-size@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-size/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var SIDE_OPTIONS = [
|
||
"top",
|
||
"right",
|
||
"bottom",
|
||
"left"
|
||
];
|
||
var ALIGN_OPTIONS = [
|
||
"start",
|
||
"center",
|
||
"end"
|
||
];
|
||
var POPPER_NAME = "Popper";
|
||
var [createPopperContext, createPopperScope] = (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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(POPPER_NAME);
|
||
var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
|
||
var Popper = (props)=>{
|
||
const { __scopePopper, children } = props;
|
||
const [anchor, setAnchor] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PopperProvider, {
|
||
scope: __scopePopper,
|
||
anchor,
|
||
onAnchorChange: setAnchor,
|
||
children
|
||
});
|
||
};
|
||
Popper.displayName = POPPER_NAME;
|
||
var ANCHOR_NAME = "PopperAnchor";
|
||
var PopperAnchor = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopePopper, virtualRef, ...anchorProps } = props;
|
||
const context = usePopperContext(ANCHOR_NAME, __scopePopper);
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"PopperAnchor.useEffect": ()=>{
|
||
context.onAnchorChange(virtualRef?.current || ref.current);
|
||
}
|
||
}["PopperAnchor.useEffect"]);
|
||
return virtualRef ? null : /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
...anchorProps,
|
||
ref: composedRefs
|
||
});
|
||
});
|
||
PopperAnchor.displayName = ANCHOR_NAME;
|
||
var CONTENT_NAME = "PopperContent";
|
||
var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);
|
||
var PopperContent = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopePopper, side = "bottom", sideOffset = 0, align = "center", alignOffset = 0, arrowPadding = 0, avoidCollisions = true, collisionBoundary = [], collisionPadding: collisionPaddingProp = 0, sticky = "partial", hideWhenDetached = false, updatePositionStrategy = "optimized", onPlaced, ...contentProps } = props;
|
||
const context = usePopperContext(CONTENT_NAME, __scopePopper);
|
||
const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"PopperContent.useComposedRefs[composedRefs]": (node)=>setContent(node)
|
||
}["PopperContent.useComposedRefs[composedRefs]"]);
|
||
const [arrow, setArrow] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const arrowSize = (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$use$2d$size$40$1$2e$1$2e$0_$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$use$2d$size$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useSize"])(arrow);
|
||
const arrowWidth = arrowSize?.width ?? 0;
|
||
const arrowHeight = arrowSize?.height ?? 0;
|
||
const desiredPlacement = side + (align !== "center" ? "-" + align : "");
|
||
const collisionPadding = typeof collisionPaddingProp === "number" ? collisionPaddingProp : {
|
||
top: 0,
|
||
right: 0,
|
||
bottom: 0,
|
||
left: 0,
|
||
...collisionPaddingProp
|
||
};
|
||
const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [
|
||
collisionBoundary
|
||
];
|
||
const hasExplicitBoundaries = boundary.length > 0;
|
||
const detectOverflowOptions = {
|
||
padding: collisionPadding,
|
||
boundary: boundary.filter(isNotNull),
|
||
// with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
|
||
altBoundary: hasExplicitBoundaries
|
||
};
|
||
const { refs, floatingStyles, placement, isPositioned, middlewareData } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["useFloating"])({
|
||
// default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
|
||
strategy: "fixed",
|
||
placement: desiredPlacement,
|
||
whileElementsMounted: {
|
||
"PopperContent.useFloating": (...args)=>{
|
||
const cleanup = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$dom$40$1$2e$7$2e$4$2f$node_modules$2f40$floating$2d$ui$2f$dom$2f$dist$2f$floating$2d$ui$2e$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["autoUpdate"])(...args, {
|
||
animationFrame: updatePositionStrategy === "always"
|
||
});
|
||
return cleanup;
|
||
}
|
||
}["PopperContent.useFloating"],
|
||
elements: {
|
||
reference: context.anchor
|
||
},
|
||
middleware: [
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["offset"])({
|
||
mainAxis: sideOffset + arrowHeight,
|
||
alignmentAxis: alignOffset
|
||
}),
|
||
avoidCollisions && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["shift"])({
|
||
mainAxis: true,
|
||
crossAxis: false,
|
||
limiter: sticky === "partial" ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["limitShift"])() : void 0,
|
||
...detectOverflowOptions
|
||
}),
|
||
avoidCollisions && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["flip"])({
|
||
...detectOverflowOptions
|
||
}),
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["size"])({
|
||
...detectOverflowOptions,
|
||
apply: {
|
||
"PopperContent.useFloating": ({ elements, rects, availableWidth, availableHeight })=>{
|
||
const { width: anchorWidth, height: anchorHeight } = rects.reference;
|
||
const contentStyle = elements.floating.style;
|
||
contentStyle.setProperty("--radix-popper-available-width", `${availableWidth}px`);
|
||
contentStyle.setProperty("--radix-popper-available-height", `${availableHeight}px`);
|
||
contentStyle.setProperty("--radix-popper-anchor-width", `${anchorWidth}px`);
|
||
contentStyle.setProperty("--radix-popper-anchor-height", `${anchorHeight}px`);
|
||
}
|
||
}["PopperContent.useFloating"]
|
||
}),
|
||
arrow && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["arrow"])({
|
||
element: arrow,
|
||
padding: arrowPadding
|
||
}),
|
||
transformOrigin({
|
||
arrowWidth,
|
||
arrowHeight
|
||
}),
|
||
hideWhenDetached && (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$floating$2d$ui$2b$react$2d$dom$40$2$2e$1$2e$6_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$2f40$floating$2d$ui$2f$react$2d$dom$2f$dist$2f$floating$2d$ui$2e$react$2d$dom$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["hide"])({
|
||
strategy: "referenceHidden",
|
||
...detectOverflowOptions
|
||
})
|
||
]
|
||
});
|
||
const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
|
||
const handlePlaced = (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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onPlaced);
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"PopperContent.useLayoutEffect": ()=>{
|
||
if (isPositioned) {
|
||
handlePlaced?.();
|
||
}
|
||
}
|
||
}["PopperContent.useLayoutEffect"], [
|
||
isPositioned,
|
||
handlePlaced
|
||
]);
|
||
const arrowX = middlewareData.arrow?.x;
|
||
const arrowY = middlewareData.arrow?.y;
|
||
const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
|
||
const [contentZIndex, setContentZIndex] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"PopperContent.useLayoutEffect": ()=>{
|
||
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
||
}
|
||
}["PopperContent.useLayoutEffect"], [
|
||
content
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("div", {
|
||
ref: refs.setFloating,
|
||
"data-radix-popper-content-wrapper": "",
|
||
style: {
|
||
...floatingStyles,
|
||
transform: isPositioned ? floatingStyles.transform : "translate(0, -200%)",
|
||
// keep off the page when measuring
|
||
minWidth: "max-content",
|
||
zIndex: contentZIndex,
|
||
["--radix-popper-transform-origin"]: [
|
||
middlewareData.transformOrigin?.x,
|
||
middlewareData.transformOrigin?.y
|
||
].join(" "),
|
||
// hide the content if using the hide middleware and should be hidden
|
||
// set visibility to hidden and disable pointer events so the UI behaves
|
||
// as if the PopperContent isn't there at all
|
||
...middlewareData.hide?.referenceHidden && {
|
||
visibility: "hidden",
|
||
pointerEvents: "none"
|
||
}
|
||
},
|
||
dir: props.dir,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PopperContentProvider, {
|
||
scope: __scopePopper,
|
||
placedSide,
|
||
onArrowChange: setArrow,
|
||
arrowX,
|
||
arrowY,
|
||
shouldHideArrow: cannotCenterArrow,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"data-side": placedSide,
|
||
"data-align": placedAlign,
|
||
...contentProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
...contentProps.style,
|
||
// if the PopperContent hasn't been placed yet (not all measurements done)
|
||
// we prevent animations so that users's animation don't kick in too early referring wrong sides
|
||
animation: !isPositioned ? "none" : void 0
|
||
}
|
||
})
|
||
})
|
||
});
|
||
});
|
||
PopperContent.displayName = CONTENT_NAME;
|
||
var ARROW_NAME = "PopperArrow";
|
||
var OPPOSITE_SIDE = {
|
||
top: "bottom",
|
||
right: "left",
|
||
bottom: "top",
|
||
left: "right"
|
||
};
|
||
var PopperArrow = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"](function PopperArrow2(props, forwardedRef) {
|
||
const { __scopePopper, ...arrowProps } = props;
|
||
const contentContext = useContentContext(ARROW_NAME, __scopePopper);
|
||
const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
|
||
return(// we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
|
||
// doesn't report size as we'd expect on SVG elements.
|
||
// it reports their bounding box which is effectively the largest path inside the SVG.
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("span", {
|
||
ref: contentContext.onArrowChange,
|
||
style: {
|
||
position: "absolute",
|
||
left: contentContext.arrowX,
|
||
top: contentContext.arrowY,
|
||
[baseSide]: 0,
|
||
transformOrigin: {
|
||
top: "",
|
||
right: "0 0",
|
||
bottom: "center 0",
|
||
left: "100% 0"
|
||
}[contentContext.placedSide],
|
||
transform: {
|
||
top: "translateY(100%)",
|
||
right: "translateY(50%) rotate(90deg) translateX(-50%)",
|
||
bottom: `rotate(180deg)`,
|
||
left: "translateY(50%) rotate(-90deg) translateX(50%)"
|
||
}[contentContext.placedSide],
|
||
visibility: contentContext.shouldHideArrow ? "hidden" : void 0
|
||
},
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$arrow$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$1_39cf57811aaff0943ff6c638b98c5bc2$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$arrow$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], {
|
||
...arrowProps,
|
||
ref: forwardedRef,
|
||
style: {
|
||
...arrowProps.style,
|
||
// ensures the element can be measured correctly (mostly for if SVG)
|
||
display: "block"
|
||
}
|
||
})
|
||
}));
|
||
});
|
||
PopperArrow.displayName = ARROW_NAME;
|
||
function isNotNull(value) {
|
||
return value !== null;
|
||
}
|
||
var transformOrigin = (options)=>({
|
||
name: "transformOrigin",
|
||
options,
|
||
fn (data) {
|
||
const { placement, rects, middlewareData } = data;
|
||
const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
|
||
const isArrowHidden = cannotCenterArrow;
|
||
const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
|
||
const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
|
||
const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
|
||
const noArrowAlign = {
|
||
start: "0%",
|
||
center: "50%",
|
||
end: "100%"
|
||
}[placedAlign];
|
||
const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
|
||
const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
|
||
let x = "";
|
||
let y = "";
|
||
if (placedSide === "bottom") {
|
||
x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
|
||
y = `${-arrowHeight}px`;
|
||
} else if (placedSide === "top") {
|
||
x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
|
||
y = `${rects.floating.height + arrowHeight}px`;
|
||
} else if (placedSide === "right") {
|
||
x = `${-arrowHeight}px`;
|
||
y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
|
||
} else if (placedSide === "left") {
|
||
x = `${rects.floating.width + arrowHeight}px`;
|
||
y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
|
||
}
|
||
return {
|
||
data: {
|
||
x,
|
||
y
|
||
}
|
||
};
|
||
}
|
||
});
|
||
function getSideAndAlignFromPlacement(placement) {
|
||
const [side, align = "center"] = placement.split("-");
|
||
return [
|
||
side,
|
||
align
|
||
];
|
||
}
|
||
var Root2 = Popper;
|
||
var Anchor = PopperAnchor;
|
||
var Content = PopperContent;
|
||
var Arrow = PopperArrow;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+_a18e46462387af707d972c0ffe7a229b/node_modules/@radix-ui/react-roving-focus/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Item",
|
||
()=>Item,
|
||
"Root",
|
||
()=>Root,
|
||
"RovingFocusGroup",
|
||
()=>RovingFocusGroup,
|
||
"RovingFocusGroupItem",
|
||
()=>RovingFocusGroupItem,
|
||
"createRovingFocusGroupScope",
|
||
()=>createRovingFocusGroupScope
|
||
]);
|
||
// packages/react/roving-focus/src/RovingFocusGroup.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$collection$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$re_1ad17166111274b6b451c5ad4817bfc8$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-collection@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+re_1ad17166111274b6b451c5ad4817bfc8/node_modules/@radix-ui/react-collection/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-id@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-id/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$direction$40$1$2e$1$2e$0_$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$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-direction@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
|
||
var EVENT_OPTIONS = {
|
||
bubbles: false,
|
||
cancelable: true
|
||
};
|
||
var GROUP_NAME = "RovingFocusGroup";
|
||
var [Collection, useCollection, createCollectionScope] = (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$collection$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$re_1ad17166111274b6b451c5ad4817bfc8$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCollection"])(GROUP_NAME);
|
||
var [createRovingFocusGroupContext, createRovingFocusGroupScope] = (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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(GROUP_NAME, [
|
||
createCollectionScope
|
||
]);
|
||
var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);
|
||
var RovingFocusGroup = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Provider, {
|
||
scope: props.__scopeRovingFocusGroup,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Slot, {
|
||
scope: props.__scopeRovingFocusGroup,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(RovingFocusGroupImpl, {
|
||
...props,
|
||
ref: forwardedRef
|
||
})
|
||
})
|
||
});
|
||
});
|
||
RovingFocusGroup.displayName = GROUP_NAME;
|
||
var RovingFocusGroupImpl = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeRovingFocusGroup, orientation, loop = false, dir, currentTabStopId: currentTabStopIdProp, defaultCurrentTabStopId, onCurrentTabStopIdChange, onEntryFocus, preventScrollOnEntryFocus = false, ...groupProps } = props;
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
const direction = (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$direction$40$1$2e$1$2e$0_$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$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useDirection"])(dir);
|
||
const [currentTabStopId = null, setCurrentTabStopId] = (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$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: currentTabStopIdProp,
|
||
defaultProp: defaultCurrentTabStopId,
|
||
onChange: onCurrentTabStopIdChange
|
||
});
|
||
const [isTabbingBackOut, setIsTabbingBackOut] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const handleEntryFocus = (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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onEntryFocus);
|
||
const getItems = useCollection(__scopeRovingFocusGroup);
|
||
const isClickFocusRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
const [focusableItemsCount, setFocusableItemsCount] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](0);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"RovingFocusGroupImpl.useEffect": ()=>{
|
||
const node = ref.current;
|
||
if (node) {
|
||
node.addEventListener(ENTRY_FOCUS, handleEntryFocus);
|
||
return ({
|
||
"RovingFocusGroupImpl.useEffect": ()=>node.removeEventListener(ENTRY_FOCUS, handleEntryFocus)
|
||
})["RovingFocusGroupImpl.useEffect"];
|
||
}
|
||
}
|
||
}["RovingFocusGroupImpl.useEffect"], [
|
||
handleEntryFocus
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(RovingFocusProvider, {
|
||
scope: __scopeRovingFocusGroup,
|
||
orientation,
|
||
dir: direction,
|
||
loop,
|
||
currentTabStopId,
|
||
onItemFocus: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"RovingFocusGroupImpl.useCallback": (tabStopId)=>setCurrentTabStopId(tabStopId)
|
||
}["RovingFocusGroupImpl.useCallback"], [
|
||
setCurrentTabStopId
|
||
]),
|
||
onItemShiftTab: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"RovingFocusGroupImpl.useCallback": ()=>setIsTabbingBackOut(true)
|
||
}["RovingFocusGroupImpl.useCallback"], []),
|
||
onFocusableItemAdd: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"RovingFocusGroupImpl.useCallback": ()=>setFocusableItemsCount({
|
||
"RovingFocusGroupImpl.useCallback": (prevCount)=>prevCount + 1
|
||
}["RovingFocusGroupImpl.useCallback"])
|
||
}["RovingFocusGroupImpl.useCallback"], []),
|
||
onFocusableItemRemove: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"RovingFocusGroupImpl.useCallback": ()=>setFocusableItemsCount({
|
||
"RovingFocusGroupImpl.useCallback": (prevCount)=>prevCount - 1
|
||
}["RovingFocusGroupImpl.useCallback"])
|
||
}["RovingFocusGroupImpl.useCallback"], []),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
|
||
"data-orientation": orientation,
|
||
...groupProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
outline: "none",
|
||
...props.style
|
||
},
|
||
onMouseDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onMouseDown, ()=>{
|
||
isClickFocusRef.current = true;
|
||
}),
|
||
onFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onFocus, (event)=>{
|
||
const isKeyboardFocus = !isClickFocusRef.current;
|
||
if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
|
||
const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);
|
||
event.currentTarget.dispatchEvent(entryFocusEvent);
|
||
if (!entryFocusEvent.defaultPrevented) {
|
||
const items = getItems().filter((item)=>item.focusable);
|
||
const activeItem = items.find((item)=>item.active);
|
||
const currentItem = items.find((item)=>item.id === currentTabStopId);
|
||
const candidateItems = [
|
||
activeItem,
|
||
currentItem,
|
||
...items
|
||
].filter(Boolean);
|
||
const candidateNodes = candidateItems.map((item)=>item.ref.current);
|
||
focusFirst(candidateNodes, preventScrollOnEntryFocus);
|
||
}
|
||
}
|
||
isClickFocusRef.current = false;
|
||
}),
|
||
onBlur: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onBlur, ()=>setIsTabbingBackOut(false))
|
||
})
|
||
});
|
||
});
|
||
var ITEM_NAME = "RovingFocusGroupItem";
|
||
var RovingFocusGroupItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeRovingFocusGroup, focusable = true, active = false, tabStopId, ...itemProps } = props;
|
||
const autoId = (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$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])();
|
||
const id = tabStopId || autoId;
|
||
const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);
|
||
const isCurrentTabStop = context.currentTabStopId === id;
|
||
const getItems = useCollection(__scopeRovingFocusGroup);
|
||
const { onFocusableItemAdd, onFocusableItemRemove } = context;
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"RovingFocusGroupItem.useEffect": ()=>{
|
||
if (focusable) {
|
||
onFocusableItemAdd();
|
||
return ({
|
||
"RovingFocusGroupItem.useEffect": ()=>onFocusableItemRemove()
|
||
})["RovingFocusGroupItem.useEffect"];
|
||
}
|
||
}
|
||
}["RovingFocusGroupItem.useEffect"], [
|
||
focusable,
|
||
onFocusableItemAdd,
|
||
onFocusableItemRemove
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.ItemSlot, {
|
||
scope: __scopeRovingFocusGroup,
|
||
id,
|
||
focusable,
|
||
active,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
tabIndex: isCurrentTabStop ? 0 : -1,
|
||
"data-orientation": context.orientation,
|
||
...itemProps,
|
||
ref: forwardedRef,
|
||
onMouseDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onMouseDown, (event)=>{
|
||
if (!focusable) event.preventDefault();
|
||
else context.onItemFocus(id);
|
||
}),
|
||
onFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onFocus, ()=>context.onItemFocus(id)),
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onKeyDown, (event)=>{
|
||
if (event.key === "Tab" && event.shiftKey) {
|
||
context.onItemShiftTab();
|
||
return;
|
||
}
|
||
if (event.target !== event.currentTarget) return;
|
||
const focusIntent = getFocusIntent(event, context.orientation, context.dir);
|
||
if (focusIntent !== void 0) {
|
||
if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;
|
||
event.preventDefault();
|
||
const items = getItems().filter((item)=>item.focusable);
|
||
let candidateNodes = items.map((item)=>item.ref.current);
|
||
if (focusIntent === "last") candidateNodes.reverse();
|
||
else if (focusIntent === "prev" || focusIntent === "next") {
|
||
if (focusIntent === "prev") candidateNodes.reverse();
|
||
const currentIndex = candidateNodes.indexOf(event.currentTarget);
|
||
candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
|
||
}
|
||
setTimeout(()=>focusFirst(candidateNodes));
|
||
}
|
||
})
|
||
})
|
||
});
|
||
});
|
||
RovingFocusGroupItem.displayName = ITEM_NAME;
|
||
var MAP_KEY_TO_FOCUS_INTENT = {
|
||
ArrowLeft: "prev",
|
||
ArrowUp: "prev",
|
||
ArrowRight: "next",
|
||
ArrowDown: "next",
|
||
PageUp: "first",
|
||
Home: "first",
|
||
PageDown: "last",
|
||
End: "last"
|
||
};
|
||
function getDirectionAwareKey(key, dir) {
|
||
if (dir !== "rtl") return key;
|
||
return key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
|
||
}
|
||
function getFocusIntent(event, orientation, dir) {
|
||
const key = getDirectionAwareKey(event.key, dir);
|
||
if (orientation === "vertical" && [
|
||
"ArrowLeft",
|
||
"ArrowRight"
|
||
].includes(key)) return void 0;
|
||
if (orientation === "horizontal" && [
|
||
"ArrowUp",
|
||
"ArrowDown"
|
||
].includes(key)) return void 0;
|
||
return MAP_KEY_TO_FOCUS_INTENT[key];
|
||
}
|
||
function focusFirst(candidates, preventScroll = false) {
|
||
const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
|
||
for (const candidate of candidates){
|
||
if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
|
||
candidate.focus({
|
||
preventScroll
|
||
});
|
||
if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
|
||
}
|
||
}
|
||
function wrapArray(array, startIndex) {
|
||
return array.map((_, index)=>array[(startIndex + index) % array.length]);
|
||
}
|
||
var Root = RovingFocusGroup;
|
||
var Item = RovingFocusGroupItem;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-menu@2.1.4_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@19_0d4b96092e17d5c8c1f962859072e800/node_modules/@radix-ui/react-menu/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Anchor",
|
||
()=>Anchor2,
|
||
"Arrow",
|
||
()=>Arrow2,
|
||
"CheckboxItem",
|
||
()=>CheckboxItem,
|
||
"Content",
|
||
()=>Content2,
|
||
"Group",
|
||
()=>Group,
|
||
"Item",
|
||
()=>Item2,
|
||
"ItemIndicator",
|
||
()=>ItemIndicator,
|
||
"Label",
|
||
()=>Label,
|
||
"Menu",
|
||
()=>Menu,
|
||
"MenuAnchor",
|
||
()=>MenuAnchor,
|
||
"MenuArrow",
|
||
()=>MenuArrow,
|
||
"MenuCheckboxItem",
|
||
()=>MenuCheckboxItem,
|
||
"MenuContent",
|
||
()=>MenuContent,
|
||
"MenuGroup",
|
||
()=>MenuGroup,
|
||
"MenuItem",
|
||
()=>MenuItem,
|
||
"MenuItemIndicator",
|
||
()=>MenuItemIndicator,
|
||
"MenuLabel",
|
||
()=>MenuLabel,
|
||
"MenuPortal",
|
||
()=>MenuPortal,
|
||
"MenuRadioGroup",
|
||
()=>MenuRadioGroup,
|
||
"MenuRadioItem",
|
||
()=>MenuRadioItem,
|
||
"MenuSeparator",
|
||
()=>MenuSeparator,
|
||
"MenuSub",
|
||
()=>MenuSub,
|
||
"MenuSubContent",
|
||
()=>MenuSubContent,
|
||
"MenuSubTrigger",
|
||
()=>MenuSubTrigger,
|
||
"Portal",
|
||
()=>Portal,
|
||
"RadioGroup",
|
||
()=>RadioGroup,
|
||
"RadioItem",
|
||
()=>RadioItem,
|
||
"Root",
|
||
()=>Root3,
|
||
"Separator",
|
||
()=>Separator,
|
||
"Sub",
|
||
()=>Sub,
|
||
"SubContent",
|
||
()=>SubContent,
|
||
"SubTrigger",
|
||
()=>SubTrigger,
|
||
"createMenuScope",
|
||
()=>createMenuScope
|
||
]);
|
||
// packages/react/menu/src/Menu.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$collection$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$re_1ad17166111274b6b451c5ad4817bfc8$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-collection@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+re_1ad17166111274b6b451c5ad4817bfc8/node_modules/@radix-ui/react-collection/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$direction$40$1$2e$1$2e$0_$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$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-direction@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$dismissable$2d$layer$40$1$2e$1$2e$3_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$t_93e149627c30a83695c926d31c853576$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.3_@types+react-dom@19.2.3_@types+react@19.2.6__@t_93e149627c30a83695c926d31c853576/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$focus$2d$guards$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$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-focus-guards/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$focus$2d$scope$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$r_d785daf6985fc8350fb3781de275c6b6$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+r_d785daf6985fc8350fb3781de275c6b6/node_modules/@radix-ui/react-focus-scope/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-id@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-id/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-popper@1.2.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@_f51937a6043c1687ec731d0ff356eddd/node_modules/@radix-ui/react-popper/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$portal$40$1$2e$1$2e$3_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_046b67df02e5a46cef606421f30d033b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$portal$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-portal@1.1.3_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@_046b67df02e5a46cef606421f30d033b/node_modules/@radix-ui/react-portal/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$presence$40$1$2e$1$2e$2_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$reac_4990595ea432be9a74aea0197efb306c$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-presence@1.1.2_@types+react-dom@19.2.3_@types+react@19.2.6__@types+reac_4990595ea432be9a74aea0197efb306c/node_modules/@radix-ui/react-presence/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$roving$2d$focus$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$_a18e46462387af707d972c0ffe7a229b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+_a18e46462387af707d972c0ffe7a229b/node_modules/@radix-ui/react-roving-focus/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$slot$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$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-slot@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$aria$2d$hidden$40$1$2e$2$2e$6$2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$react$2d$remove$2d$scroll$40$2$2e$7$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.2.6_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/Combination.js [app-client] (ecmascript) <export default as RemoveScroll>");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var SELECTION_KEYS = [
|
||
"Enter",
|
||
" "
|
||
];
|
||
var FIRST_KEYS = [
|
||
"ArrowDown",
|
||
"PageUp",
|
||
"Home"
|
||
];
|
||
var LAST_KEYS = [
|
||
"ArrowUp",
|
||
"PageDown",
|
||
"End"
|
||
];
|
||
var FIRST_LAST_KEYS = [
|
||
...FIRST_KEYS,
|
||
...LAST_KEYS
|
||
];
|
||
var SUB_OPEN_KEYS = {
|
||
ltr: [
|
||
...SELECTION_KEYS,
|
||
"ArrowRight"
|
||
],
|
||
rtl: [
|
||
...SELECTION_KEYS,
|
||
"ArrowLeft"
|
||
]
|
||
};
|
||
var SUB_CLOSE_KEYS = {
|
||
ltr: [
|
||
"ArrowLeft"
|
||
],
|
||
rtl: [
|
||
"ArrowRight"
|
||
]
|
||
};
|
||
var MENU_NAME = "Menu";
|
||
var [Collection, useCollection, createCollectionScope] = (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$collection$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$re_1ad17166111274b6b451c5ad4817bfc8$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCollection"])(MENU_NAME);
|
||
var [createMenuContext, createMenuScope] = (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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(MENU_NAME, [
|
||
createCollectionScope,
|
||
__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$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPopperScope"],
|
||
__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$roving$2d$focus$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$_a18e46462387af707d972c0ffe7a229b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createRovingFocusGroupScope"]
|
||
]);
|
||
var usePopperScope = (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$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPopperScope"])();
|
||
var useRovingFocusGroupScope = (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$roving$2d$focus$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$_a18e46462387af707d972c0ffe7a229b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createRovingFocusGroupScope"])();
|
||
var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);
|
||
var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
|
||
var Menu = (props)=>{
|
||
const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;
|
||
const popperScope = usePopperScope(__scopeMenu);
|
||
const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const isUsingKeyboardRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
const handleOpenChange = (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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onOpenChange);
|
||
const direction = (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$direction$40$1$2e$1$2e$0_$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$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useDirection"])(dir);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"Menu.useEffect": ()=>{
|
||
const handleKeyDown = {
|
||
"Menu.useEffect.handleKeyDown": ()=>{
|
||
isUsingKeyboardRef.current = true;
|
||
document.addEventListener("pointerdown", handlePointer, {
|
||
capture: true,
|
||
once: true
|
||
});
|
||
document.addEventListener("pointermove", handlePointer, {
|
||
capture: true,
|
||
once: true
|
||
});
|
||
}
|
||
}["Menu.useEffect.handleKeyDown"];
|
||
const handlePointer = {
|
||
"Menu.useEffect.handlePointer": ()=>isUsingKeyboardRef.current = false
|
||
}["Menu.useEffect.handlePointer"];
|
||
document.addEventListener("keydown", handleKeyDown, {
|
||
capture: true
|
||
});
|
||
return ({
|
||
"Menu.useEffect": ()=>{
|
||
document.removeEventListener("keydown", handleKeyDown, {
|
||
capture: true
|
||
});
|
||
document.removeEventListener("pointerdown", handlePointer, {
|
||
capture: true
|
||
});
|
||
document.removeEventListener("pointermove", handlePointer, {
|
||
capture: true
|
||
});
|
||
}
|
||
})["Menu.useEffect"];
|
||
}
|
||
}["Menu.useEffect"], []);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], {
|
||
...popperScope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuProvider, {
|
||
scope: __scopeMenu,
|
||
open,
|
||
onOpenChange: handleOpenChange,
|
||
content,
|
||
onContentChange: setContent,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuRootProvider, {
|
||
scope: __scopeMenu,
|
||
onClose: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"Menu.useCallback": ()=>handleOpenChange(false)
|
||
}["Menu.useCallback"], [
|
||
handleOpenChange
|
||
]),
|
||
isUsingKeyboardRef,
|
||
dir: direction,
|
||
modal,
|
||
children
|
||
})
|
||
})
|
||
});
|
||
};
|
||
Menu.displayName = MENU_NAME;
|
||
var ANCHOR_NAME = "MenuAnchor";
|
||
var MenuAnchor = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeMenu, ...anchorProps } = props;
|
||
const popperScope = usePopperScope(__scopeMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Anchor"], {
|
||
...popperScope,
|
||
...anchorProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
MenuAnchor.displayName = ANCHOR_NAME;
|
||
var PORTAL_NAME = "MenuPortal";
|
||
var [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {
|
||
forceMount: void 0
|
||
});
|
||
var MenuPortal = (props)=>{
|
||
const { __scopeMenu, forceMount, children, container } = props;
|
||
const context = useMenuContext(PORTAL_NAME, __scopeMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(PortalProvider, {
|
||
scope: __scopeMenu,
|
||
forceMount,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$presence$40$1$2e$1$2e$2_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$reac_4990595ea432be9a74aea0197efb306c$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || context.open,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$portal$40$1$2e$1$2e$3_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_046b67df02e5a46cef606421f30d033b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$portal$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Portal"], {
|
||
asChild: true,
|
||
container,
|
||
children
|
||
})
|
||
})
|
||
});
|
||
};
|
||
MenuPortal.displayName = PORTAL_NAME;
|
||
var CONTENT_NAME = "MenuContent";
|
||
var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);
|
||
var MenuContent = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
|
||
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
||
const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
|
||
const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Provider, {
|
||
scope: props.__scopeMenu,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$presence$40$1$2e$1$2e$2_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$reac_4990595ea432be9a74aea0197efb306c$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || context.open,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Slot, {
|
||
scope: props.__scopeMenu,
|
||
children: rootContext.modal ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuRootContentModal, {
|
||
...contentProps,
|
||
ref: forwardedRef
|
||
}) : /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuRootContentNonModal, {
|
||
...contentProps,
|
||
ref: forwardedRef
|
||
})
|
||
})
|
||
})
|
||
});
|
||
});
|
||
var MenuRootContentModal = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"MenuRootContentModal.useEffect": ()=>{
|
||
const content = ref.current;
|
||
if (content) 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$aria$2d$hidden$40$1$2e$2$2e$6$2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["hideOthers"])(content);
|
||
}
|
||
}["MenuRootContentModal.useEffect"], []);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuContentImpl, {
|
||
...props,
|
||
ref: composedRefs,
|
||
trapFocus: context.open,
|
||
disableOutsidePointerEvents: context.open,
|
||
disableOutsideScroll: true,
|
||
onFocusOutside: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onFocusOutside, (event)=>event.preventDefault(), {
|
||
checkForDefaultPrevented: false
|
||
}),
|
||
onDismiss: ()=>context.onOpenChange(false)
|
||
});
|
||
});
|
||
var MenuRootContentNonModal = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuContentImpl, {
|
||
...props,
|
||
ref: forwardedRef,
|
||
trapFocus: false,
|
||
disableOutsidePointerEvents: false,
|
||
disableOutsideScroll: false,
|
||
onDismiss: ()=>context.onOpenChange(false)
|
||
});
|
||
});
|
||
var MenuContentImpl = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeMenu, loop = false, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEntryFocus, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, disableOutsideScroll, ...contentProps } = props;
|
||
const context = useMenuContext(CONTENT_NAME, __scopeMenu);
|
||
const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);
|
||
const popperScope = usePopperScope(__scopeMenu);
|
||
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
|
||
const getItems = useCollection(__scopeMenu);
|
||
const [currentItemId, setCurrentItemId] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const contentRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, contentRef, context.onContentChange);
|
||
const timerRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
const searchRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("");
|
||
const pointerGraceTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
const pointerGraceIntentRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const pointerDirRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("right");
|
||
const lastPointerXRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
const ScrollLockWrapper = disableOutsideScroll ? __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$react$2d$remove$2d$scroll$40$2$2e$7$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__["RemoveScroll"] : __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"];
|
||
const scrollLockWrapperProps = disableOutsideScroll ? {
|
||
as: __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$slot$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$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Slot"],
|
||
allowPinchZoom: true
|
||
} : void 0;
|
||
const handleTypeaheadSearch = (key)=>{
|
||
const search = searchRef.current + key;
|
||
const items = getItems().filter((item)=>!item.disabled);
|
||
const currentItem = document.activeElement;
|
||
const currentMatch = items.find((item)=>item.ref.current === currentItem)?.textValue;
|
||
const values = items.map((item)=>item.textValue);
|
||
const nextMatch = getNextMatch(values, search, currentMatch);
|
||
const newItem = items.find((item)=>item.textValue === nextMatch)?.ref.current;
|
||
(function updateSearch(value) {
|
||
searchRef.current = value;
|
||
window.clearTimeout(timerRef.current);
|
||
if (value !== "") timerRef.current = window.setTimeout(()=>updateSearch(""), 1e3);
|
||
})(search);
|
||
if (newItem) {
|
||
setTimeout(()=>newItem.focus());
|
||
}
|
||
};
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"MenuContentImpl.useEffect": ()=>{
|
||
return ({
|
||
"MenuContentImpl.useEffect": ()=>window.clearTimeout(timerRef.current)
|
||
})["MenuContentImpl.useEffect"];
|
||
}
|
||
}["MenuContentImpl.useEffect"], []);
|
||
(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$focus$2d$guards$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$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useFocusGuards"])();
|
||
const isPointerMovingToSubmenu = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"MenuContentImpl.useCallback[isPointerMovingToSubmenu]": (event)=>{
|
||
const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;
|
||
return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);
|
||
}
|
||
}["MenuContentImpl.useCallback[isPointerMovingToSubmenu]"], []);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuContentProvider, {
|
||
scope: __scopeMenu,
|
||
searchRef,
|
||
onItemEnter: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"MenuContentImpl.useCallback": (event)=>{
|
||
if (isPointerMovingToSubmenu(event)) event.preventDefault();
|
||
}
|
||
}["MenuContentImpl.useCallback"], [
|
||
isPointerMovingToSubmenu
|
||
]),
|
||
onItemLeave: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"MenuContentImpl.useCallback": (event)=>{
|
||
if (isPointerMovingToSubmenu(event)) return;
|
||
contentRef.current?.focus();
|
||
setCurrentItemId(null);
|
||
}
|
||
}["MenuContentImpl.useCallback"], [
|
||
isPointerMovingToSubmenu
|
||
]),
|
||
onTriggerLeave: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"MenuContentImpl.useCallback": (event)=>{
|
||
if (isPointerMovingToSubmenu(event)) event.preventDefault();
|
||
}
|
||
}["MenuContentImpl.useCallback"], [
|
||
isPointerMovingToSubmenu
|
||
]),
|
||
pointerGraceTimerRef,
|
||
onPointerGraceIntentChange: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"MenuContentImpl.useCallback": (intent)=>{
|
||
pointerGraceIntentRef.current = intent;
|
||
}
|
||
}["MenuContentImpl.useCallback"], []),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollLockWrapper, {
|
||
...scrollLockWrapperProps,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$focus$2d$scope$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$r_d785daf6985fc8350fb3781de275c6b6$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["FocusScope"], {
|
||
asChild: true,
|
||
trapped: trapFocus,
|
||
onMountAutoFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(onOpenAutoFocus, (event)=>{
|
||
event.preventDefault();
|
||
contentRef.current?.focus({
|
||
preventScroll: true
|
||
});
|
||
}),
|
||
onUnmountAutoFocus: onCloseAutoFocus,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$dismissable$2d$layer$40$1$2e$1$2e$3_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$t_93e149627c30a83695c926d31c853576$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["DismissableLayer"], {
|
||
asChild: true,
|
||
disableOutsidePointerEvents,
|
||
onEscapeKeyDown,
|
||
onPointerDownOutside,
|
||
onFocusOutside,
|
||
onInteractOutside,
|
||
onDismiss,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$roving$2d$focus$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$_a18e46462387af707d972c0ffe7a229b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], {
|
||
asChild: true,
|
||
...rovingFocusGroupScope,
|
||
dir: rootContext.dir,
|
||
orientation: "vertical",
|
||
loop,
|
||
currentTabStopId: currentItemId,
|
||
onCurrentTabStopIdChange: setCurrentItemId,
|
||
onEntryFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(onEntryFocus, (event)=>{
|
||
if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
|
||
}),
|
||
preventScrollOnEntryFocus: true,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Content"], {
|
||
role: "menu",
|
||
"aria-orientation": "vertical",
|
||
"data-state": getOpenState(context.open),
|
||
"data-radix-menu-content": "",
|
||
dir: rootContext.dir,
|
||
...popperScope,
|
||
...contentProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
outline: "none",
|
||
...contentProps.style
|
||
},
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(contentProps.onKeyDown, (event)=>{
|
||
const target = event.target;
|
||
const isKeyDownInside = target.closest("[data-radix-menu-content]") === event.currentTarget;
|
||
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
||
const isCharacterKey = event.key.length === 1;
|
||
if (isKeyDownInside) {
|
||
if (event.key === "Tab") event.preventDefault();
|
||
if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);
|
||
}
|
||
const content = contentRef.current;
|
||
if (event.target !== content) return;
|
||
if (!FIRST_LAST_KEYS.includes(event.key)) return;
|
||
event.preventDefault();
|
||
const items = getItems().filter((item)=>!item.disabled);
|
||
const candidateNodes = items.map((item)=>item.ref.current);
|
||
if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();
|
||
focusFirst(candidateNodes);
|
||
}),
|
||
onBlur: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onBlur, (event)=>{
|
||
if (!event.currentTarget.contains(event.target)) {
|
||
window.clearTimeout(timerRef.current);
|
||
searchRef.current = "";
|
||
}
|
||
}),
|
||
onPointerMove: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerMove, whenMouse((event)=>{
|
||
const target = event.target;
|
||
const pointerXHasChanged = lastPointerXRef.current !== event.clientX;
|
||
if (event.currentTarget.contains(target) && pointerXHasChanged) {
|
||
const newDir = event.clientX > lastPointerXRef.current ? "right" : "left";
|
||
pointerDirRef.current = newDir;
|
||
lastPointerXRef.current = event.clientX;
|
||
}
|
||
}))
|
||
})
|
||
})
|
||
})
|
||
})
|
||
})
|
||
});
|
||
});
|
||
MenuContent.displayName = CONTENT_NAME;
|
||
var GROUP_NAME = "MenuGroup";
|
||
var MenuGroup = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeMenu, ...groupProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
role: "group",
|
||
...groupProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
MenuGroup.displayName = GROUP_NAME;
|
||
var LABEL_NAME = "MenuLabel";
|
||
var MenuLabel = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeMenu, ...labelProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
...labelProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
MenuLabel.displayName = LABEL_NAME;
|
||
var ITEM_NAME = "MenuItem";
|
||
var ITEM_SELECT = "menu.itemSelect";
|
||
var MenuItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { disabled = false, onSelect, ...itemProps } = props;
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);
|
||
const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
const isPointerDownRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
const handleSelect = ()=>{
|
||
const menuItem = ref.current;
|
||
if (!disabled && menuItem) {
|
||
const itemSelectEvent = new CustomEvent(ITEM_SELECT, {
|
||
bubbles: true,
|
||
cancelable: true
|
||
});
|
||
menuItem.addEventListener(ITEM_SELECT, (event)=>onSelect?.(event), {
|
||
once: true
|
||
});
|
||
(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$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["dispatchDiscreteCustomEvent"])(menuItem, itemSelectEvent);
|
||
if (itemSelectEvent.defaultPrevented) {
|
||
isPointerDownRef.current = false;
|
||
} else {
|
||
rootContext.onClose();
|
||
}
|
||
}
|
||
};
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuItemImpl, {
|
||
...itemProps,
|
||
ref: composedRefs,
|
||
disabled,
|
||
onClick: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onClick, handleSelect),
|
||
onPointerDown: (event)=>{
|
||
props.onPointerDown?.(event);
|
||
isPointerDownRef.current = true;
|
||
},
|
||
onPointerUp: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerUp, (event)=>{
|
||
if (!isPointerDownRef.current) event.currentTarget?.click();
|
||
}),
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onKeyDown, (event)=>{
|
||
const isTypingAhead = contentContext.searchRef.current !== "";
|
||
if (disabled || isTypingAhead && event.key === " ") return;
|
||
if (SELECTION_KEYS.includes(event.key)) {
|
||
event.currentTarget.click();
|
||
event.preventDefault();
|
||
}
|
||
})
|
||
});
|
||
});
|
||
MenuItem.displayName = ITEM_NAME;
|
||
var MenuItemImpl = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;
|
||
const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);
|
||
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
const [isFocused, setIsFocused] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const [textContent, setTextContent] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]("");
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"MenuItemImpl.useEffect": ()=>{
|
||
const menuItem = ref.current;
|
||
if (menuItem) {
|
||
setTextContent((menuItem.textContent ?? "").trim());
|
||
}
|
||
}
|
||
}["MenuItemImpl.useEffect"], [
|
||
itemProps.children
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.ItemSlot, {
|
||
scope: __scopeMenu,
|
||
disabled,
|
||
textValue: textValue ?? textContent,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$roving$2d$focus$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$_a18e46462387af707d972c0ffe7a229b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Item"], {
|
||
asChild: true,
|
||
...rovingFocusGroupScope,
|
||
focusable: !disabled,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
role: "menuitem",
|
||
"data-highlighted": isFocused ? "" : void 0,
|
||
"aria-disabled": disabled || void 0,
|
||
"data-disabled": disabled ? "" : void 0,
|
||
...itemProps,
|
||
ref: composedRefs,
|
||
onPointerMove: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerMove, whenMouse((event)=>{
|
||
if (disabled) {
|
||
contentContext.onItemLeave(event);
|
||
} else {
|
||
contentContext.onItemEnter(event);
|
||
if (!event.defaultPrevented) {
|
||
const item = event.currentTarget;
|
||
item.focus({
|
||
preventScroll: true
|
||
});
|
||
}
|
||
}
|
||
})),
|
||
onPointerLeave: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerLeave, whenMouse((event)=>contentContext.onItemLeave(event))),
|
||
onFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onFocus, ()=>setIsFocused(true)),
|
||
onBlur: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onBlur, ()=>setIsFocused(false))
|
||
})
|
||
})
|
||
});
|
||
});
|
||
var CHECKBOX_ITEM_NAME = "MenuCheckboxItem";
|
||
var MenuCheckboxItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { checked = false, onCheckedChange, ...checkboxItemProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ItemIndicatorProvider, {
|
||
scope: props.__scopeMenu,
|
||
checked,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuItem, {
|
||
role: "menuitemcheckbox",
|
||
"aria-checked": isIndeterminate(checked) ? "mixed" : checked,
|
||
...checkboxItemProps,
|
||
ref: forwardedRef,
|
||
"data-state": getCheckedState(checked),
|
||
onSelect: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(checkboxItemProps.onSelect, ()=>onCheckedChange?.(isIndeterminate(checked) ? true : !checked), {
|
||
checkForDefaultPrevented: false
|
||
})
|
||
})
|
||
});
|
||
});
|
||
MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
||
var RADIO_GROUP_NAME = "MenuRadioGroup";
|
||
var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(RADIO_GROUP_NAME, {
|
||
value: void 0,
|
||
onValueChange: ()=>{}
|
||
});
|
||
var MenuRadioGroup = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { value, onValueChange, ...groupProps } = props;
|
||
const handleValueChange = (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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onValueChange);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(RadioGroupProvider, {
|
||
scope: props.__scopeMenu,
|
||
value,
|
||
onValueChange: handleValueChange,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuGroup, {
|
||
...groupProps,
|
||
ref: forwardedRef
|
||
})
|
||
});
|
||
});
|
||
MenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
||
var RADIO_ITEM_NAME = "MenuRadioItem";
|
||
var MenuRadioItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { value, ...radioItemProps } = props;
|
||
const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);
|
||
const checked = value === context.value;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ItemIndicatorProvider, {
|
||
scope: props.__scopeMenu,
|
||
checked,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuItem, {
|
||
role: "menuitemradio",
|
||
"aria-checked": checked,
|
||
...radioItemProps,
|
||
ref: forwardedRef,
|
||
"data-state": getCheckedState(checked),
|
||
onSelect: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(radioItemProps.onSelect, ()=>context.onValueChange?.(value), {
|
||
checkForDefaultPrevented: false
|
||
})
|
||
})
|
||
});
|
||
});
|
||
MenuRadioItem.displayName = RADIO_ITEM_NAME;
|
||
var ITEM_INDICATOR_NAME = "MenuItemIndicator";
|
||
var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(ITEM_INDICATOR_NAME, {
|
||
checked: false
|
||
});
|
||
var MenuItemIndicator = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;
|
||
const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$presence$40$1$2e$1$2e$2_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$reac_4990595ea432be9a74aea0197efb306c$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
...itemIndicatorProps,
|
||
ref: forwardedRef,
|
||
"data-state": getCheckedState(indicatorContext.checked)
|
||
})
|
||
});
|
||
});
|
||
MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;
|
||
var SEPARATOR_NAME = "MenuSeparator";
|
||
var MenuSeparator = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeMenu, ...separatorProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
role: "separator",
|
||
"aria-orientation": "horizontal",
|
||
...separatorProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
MenuSeparator.displayName = SEPARATOR_NAME;
|
||
var ARROW_NAME = "MenuArrow";
|
||
var MenuArrow = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeMenu, ...arrowProps } = props;
|
||
const popperScope = usePopperScope(__scopeMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Arrow"], {
|
||
...popperScope,
|
||
...arrowProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
MenuArrow.displayName = ARROW_NAME;
|
||
var SUB_NAME = "MenuSub";
|
||
var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
|
||
var MenuSub = (props)=>{
|
||
const { __scopeMenu, children, open = false, onOpenChange } = props;
|
||
const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);
|
||
const popperScope = usePopperScope(__scopeMenu);
|
||
const [trigger, setTrigger] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const handleOpenChange = (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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onOpenChange);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"MenuSub.useEffect": ()=>{
|
||
if (parentMenuContext.open === false) handleOpenChange(false);
|
||
return ({
|
||
"MenuSub.useEffect": ()=>handleOpenChange(false)
|
||
})["MenuSub.useEffect"];
|
||
}
|
||
}["MenuSub.useEffect"], [
|
||
parentMenuContext.open,
|
||
handleOpenChange
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], {
|
||
...popperScope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuProvider, {
|
||
scope: __scopeMenu,
|
||
open,
|
||
onOpenChange: handleOpenChange,
|
||
content,
|
||
onContentChange: setContent,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuSubProvider, {
|
||
scope: __scopeMenu,
|
||
contentId: (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$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])(),
|
||
triggerId: (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$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])(),
|
||
trigger,
|
||
onTriggerChange: setTrigger,
|
||
children
|
||
})
|
||
})
|
||
});
|
||
};
|
||
MenuSub.displayName = SUB_NAME;
|
||
var SUB_TRIGGER_NAME = "MenuSubTrigger";
|
||
var MenuSubTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);
|
||
const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);
|
||
const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);
|
||
const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);
|
||
const openTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;
|
||
const scope = {
|
||
__scopeMenu: props.__scopeMenu
|
||
};
|
||
const clearOpenTimer = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"MenuSubTrigger.useCallback[clearOpenTimer]": ()=>{
|
||
if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
|
||
openTimerRef.current = null;
|
||
}
|
||
}["MenuSubTrigger.useCallback[clearOpenTimer]"], []);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"MenuSubTrigger.useEffect": ()=>clearOpenTimer
|
||
}["MenuSubTrigger.useEffect"], [
|
||
clearOpenTimer
|
||
]);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"MenuSubTrigger.useEffect": ()=>{
|
||
const pointerGraceTimer = pointerGraceTimerRef.current;
|
||
return ({
|
||
"MenuSubTrigger.useEffect": ()=>{
|
||
window.clearTimeout(pointerGraceTimer);
|
||
onPointerGraceIntentChange(null);
|
||
}
|
||
})["MenuSubTrigger.useEffect"];
|
||
}
|
||
}["MenuSubTrigger.useEffect"], [
|
||
pointerGraceTimerRef,
|
||
onPointerGraceIntentChange
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuAnchor, {
|
||
asChild: true,
|
||
...scope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuItemImpl, {
|
||
id: subContext.triggerId,
|
||
"aria-haspopup": "menu",
|
||
"aria-expanded": context.open,
|
||
"aria-controls": subContext.contentId,
|
||
"data-state": getOpenState(context.open),
|
||
...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$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, subContext.onTriggerChange),
|
||
onClick: (event)=>{
|
||
props.onClick?.(event);
|
||
if (props.disabled || event.defaultPrevented) return;
|
||
event.currentTarget.focus();
|
||
if (!context.open) context.onOpenChange(true);
|
||
},
|
||
onPointerMove: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerMove, whenMouse((event)=>{
|
||
contentContext.onItemEnter(event);
|
||
if (event.defaultPrevented) return;
|
||
if (!props.disabled && !context.open && !openTimerRef.current) {
|
||
contentContext.onPointerGraceIntentChange(null);
|
||
openTimerRef.current = window.setTimeout(()=>{
|
||
context.onOpenChange(true);
|
||
clearOpenTimer();
|
||
}, 100);
|
||
}
|
||
})),
|
||
onPointerLeave: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerLeave, whenMouse((event)=>{
|
||
clearOpenTimer();
|
||
const contentRect = context.content?.getBoundingClientRect();
|
||
if (contentRect) {
|
||
const side = context.content?.dataset.side;
|
||
const rightSide = side === "right";
|
||
const bleed = rightSide ? -5 : 5;
|
||
const contentNearEdge = contentRect[rightSide ? "left" : "right"];
|
||
const contentFarEdge = contentRect[rightSide ? "right" : "left"];
|
||
contentContext.onPointerGraceIntentChange({
|
||
area: [
|
||
// Apply a bleed on clientX to ensure that our exit point is
|
||
// consistently within polygon bounds
|
||
{
|
||
x: event.clientX + bleed,
|
||
y: event.clientY
|
||
},
|
||
{
|
||
x: contentNearEdge,
|
||
y: contentRect.top
|
||
},
|
||
{
|
||
x: contentFarEdge,
|
||
y: contentRect.top
|
||
},
|
||
{
|
||
x: contentFarEdge,
|
||
y: contentRect.bottom
|
||
},
|
||
{
|
||
x: contentNearEdge,
|
||
y: contentRect.bottom
|
||
}
|
||
],
|
||
side
|
||
});
|
||
window.clearTimeout(pointerGraceTimerRef.current);
|
||
pointerGraceTimerRef.current = window.setTimeout(()=>contentContext.onPointerGraceIntentChange(null), 300);
|
||
} else {
|
||
contentContext.onTriggerLeave(event);
|
||
if (event.defaultPrevented) return;
|
||
contentContext.onPointerGraceIntentChange(null);
|
||
}
|
||
})),
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onKeyDown, (event)=>{
|
||
const isTypingAhead = contentContext.searchRef.current !== "";
|
||
if (props.disabled || isTypingAhead && event.key === " ") return;
|
||
if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
|
||
context.onOpenChange(true);
|
||
context.content?.focus();
|
||
event.preventDefault();
|
||
}
|
||
})
|
||
})
|
||
});
|
||
});
|
||
MenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
||
var SUB_CONTENT_NAME = "MenuSubContent";
|
||
var MenuSubContent = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
|
||
const { forceMount = portalContext.forceMount, ...subContentProps } = props;
|
||
const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
|
||
const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
|
||
const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Provider, {
|
||
scope: props.__scopeMenu,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$presence$40$1$2e$1$2e$2_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$reac_4990595ea432be9a74aea0197efb306c$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$presence$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Presence"], {
|
||
present: forceMount || context.open,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Slot, {
|
||
scope: props.__scopeMenu,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(MenuContentImpl, {
|
||
id: subContext.contentId,
|
||
"aria-labelledby": subContext.triggerId,
|
||
...subContentProps,
|
||
ref: composedRefs,
|
||
align: "start",
|
||
side: rootContext.dir === "rtl" ? "left" : "right",
|
||
disableOutsidePointerEvents: false,
|
||
disableOutsideScroll: false,
|
||
trapFocus: false,
|
||
onOpenAutoFocus: (event)=>{
|
||
if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();
|
||
event.preventDefault();
|
||
},
|
||
onCloseAutoFocus: (event)=>event.preventDefault(),
|
||
onFocusOutside: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onFocusOutside, (event)=>{
|
||
if (event.target !== subContext.trigger) context.onOpenChange(false);
|
||
}),
|
||
onEscapeKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onEscapeKeyDown, (event)=>{
|
||
rootContext.onClose();
|
||
event.preventDefault();
|
||
}),
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onKeyDown, (event)=>{
|
||
const isKeyDownInside = event.currentTarget.contains(event.target);
|
||
const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
|
||
if (isKeyDownInside && isCloseKey) {
|
||
context.onOpenChange(false);
|
||
subContext.trigger?.focus();
|
||
event.preventDefault();
|
||
}
|
||
})
|
||
})
|
||
})
|
||
})
|
||
});
|
||
});
|
||
MenuSubContent.displayName = SUB_CONTENT_NAME;
|
||
function getOpenState(open) {
|
||
return open ? "open" : "closed";
|
||
}
|
||
function isIndeterminate(checked) {
|
||
return checked === "indeterminate";
|
||
}
|
||
function getCheckedState(checked) {
|
||
return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
|
||
}
|
||
function focusFirst(candidates) {
|
||
const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
|
||
for (const candidate of candidates){
|
||
if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
|
||
candidate.focus();
|
||
if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
|
||
}
|
||
}
|
||
function wrapArray(array, startIndex) {
|
||
return array.map((_, index)=>array[(startIndex + index) % array.length]);
|
||
}
|
||
function getNextMatch(values, search, currentMatch) {
|
||
const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]);
|
||
const normalizedSearch = isRepeated ? search[0] : search;
|
||
const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
|
||
let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));
|
||
const excludeCurrentMatch = normalizedSearch.length === 1;
|
||
if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v)=>v !== currentMatch);
|
||
const nextMatch = wrappedValues.find((value)=>value.toLowerCase().startsWith(normalizedSearch.toLowerCase()));
|
||
return nextMatch !== currentMatch ? nextMatch : void 0;
|
||
}
|
||
function isPointInPolygon(point, polygon) {
|
||
const { x, y } = point;
|
||
let inside = false;
|
||
for(let i = 0, j = polygon.length - 1; i < polygon.length; j = i++){
|
||
const xi = polygon[i].x;
|
||
const yi = polygon[i].y;
|
||
const xj = polygon[j].x;
|
||
const yj = polygon[j].y;
|
||
const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
|
||
if (intersect) inside = !inside;
|
||
}
|
||
return inside;
|
||
}
|
||
function isPointerInGraceArea(event, area) {
|
||
if (!area) return false;
|
||
const cursorPos = {
|
||
x: event.clientX,
|
||
y: event.clientY
|
||
};
|
||
return isPointInPolygon(cursorPos, area);
|
||
}
|
||
function whenMouse(handler) {
|
||
return (event)=>event.pointerType === "mouse" ? handler(event) : void 0;
|
||
}
|
||
var Root3 = Menu;
|
||
var Anchor2 = MenuAnchor;
|
||
var Portal = MenuPortal;
|
||
var Content2 = MenuContent;
|
||
var Group = MenuGroup;
|
||
var Label = MenuLabel;
|
||
var Item2 = MenuItem;
|
||
var CheckboxItem = MenuCheckboxItem;
|
||
var RadioGroup = MenuRadioGroup;
|
||
var RadioItem = MenuRadioItem;
|
||
var ItemIndicator = MenuItemIndicator;
|
||
var Separator = MenuSeparator;
|
||
var Arrow2 = MenuArrow;
|
||
var Sub = MenuSub;
|
||
var SubTrigger = MenuSubTrigger;
|
||
var SubContent = MenuSubContent;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.4_@types+react-dom@19.2.3_@types+react@19.2.6__@types_aefad4ac5851d46557f75f368796c888/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Arrow",
|
||
()=>Arrow2,
|
||
"CheckboxItem",
|
||
()=>CheckboxItem2,
|
||
"Content",
|
||
()=>Content2,
|
||
"DropdownMenu",
|
||
()=>DropdownMenu,
|
||
"DropdownMenuArrow",
|
||
()=>DropdownMenuArrow,
|
||
"DropdownMenuCheckboxItem",
|
||
()=>DropdownMenuCheckboxItem,
|
||
"DropdownMenuContent",
|
||
()=>DropdownMenuContent,
|
||
"DropdownMenuGroup",
|
||
()=>DropdownMenuGroup,
|
||
"DropdownMenuItem",
|
||
()=>DropdownMenuItem,
|
||
"DropdownMenuItemIndicator",
|
||
()=>DropdownMenuItemIndicator,
|
||
"DropdownMenuLabel",
|
||
()=>DropdownMenuLabel,
|
||
"DropdownMenuPortal",
|
||
()=>DropdownMenuPortal,
|
||
"DropdownMenuRadioGroup",
|
||
()=>DropdownMenuRadioGroup,
|
||
"DropdownMenuRadioItem",
|
||
()=>DropdownMenuRadioItem,
|
||
"DropdownMenuSeparator",
|
||
()=>DropdownMenuSeparator,
|
||
"DropdownMenuSub",
|
||
()=>DropdownMenuSub,
|
||
"DropdownMenuSubContent",
|
||
()=>DropdownMenuSubContent,
|
||
"DropdownMenuSubTrigger",
|
||
()=>DropdownMenuSubTrigger,
|
||
"DropdownMenuTrigger",
|
||
()=>DropdownMenuTrigger,
|
||
"Group",
|
||
()=>Group2,
|
||
"Item",
|
||
()=>Item2,
|
||
"ItemIndicator",
|
||
()=>ItemIndicator2,
|
||
"Label",
|
||
()=>Label2,
|
||
"Portal",
|
||
()=>Portal2,
|
||
"RadioGroup",
|
||
()=>RadioGroup2,
|
||
"RadioItem",
|
||
()=>RadioItem2,
|
||
"Root",
|
||
()=>Root2,
|
||
"Separator",
|
||
()=>Separator2,
|
||
"Sub",
|
||
()=>Sub2,
|
||
"SubContent",
|
||
()=>SubContent2,
|
||
"SubTrigger",
|
||
()=>SubTrigger2,
|
||
"Trigger",
|
||
()=>Trigger,
|
||
"createDropdownMenuScope",
|
||
()=>createDropdownMenuScope
|
||
]);
|
||
// packages/react/dropdown-menu/src/DropdownMenu.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-menu@2.1.4_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@19_0d4b96092e17d5c8c1f962859072e800/node_modules/@radix-ui/react-menu/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-id@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-id/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var DROPDOWN_MENU_NAME = "DropdownMenu";
|
||
var [createDropdownMenuContext, createDropdownMenuScope] = (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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(DROPDOWN_MENU_NAME, [
|
||
__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$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createMenuScope"]
|
||
]);
|
||
var useMenuScope = (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$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createMenuScope"])();
|
||
var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);
|
||
var DropdownMenu = (props)=>{
|
||
const { __scopeDropdownMenu, children, dir, open: openProp, defaultOpen, onOpenChange, modal = true } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
const triggerRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const [open = false, setOpen] = (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$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: openProp,
|
||
defaultProp: defaultOpen,
|
||
onChange: onOpenChange
|
||
});
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(DropdownMenuProvider, {
|
||
scope: __scopeDropdownMenu,
|
||
triggerId: (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$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])(),
|
||
triggerRef,
|
||
contentId: (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$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])(),
|
||
open,
|
||
onOpenChange: setOpen,
|
||
onOpenToggle: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"DropdownMenu.useCallback": ()=>setOpen({
|
||
"DropdownMenu.useCallback": (prevOpen)=>!prevOpen
|
||
}["DropdownMenu.useCallback"])
|
||
}["DropdownMenu.useCallback"], [
|
||
setOpen
|
||
]),
|
||
modal,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], {
|
||
...menuScope,
|
||
open,
|
||
onOpenChange: setOpen,
|
||
dir,
|
||
modal,
|
||
children
|
||
})
|
||
});
|
||
};
|
||
DropdownMenu.displayName = DROPDOWN_MENU_NAME;
|
||
var TRIGGER_NAME = "DropdownMenuTrigger";
|
||
var DropdownMenuTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
|
||
const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Anchor"], {
|
||
asChild: true,
|
||
...menuScope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].button, {
|
||
type: "button",
|
||
id: context.triggerId,
|
||
"aria-haspopup": "menu",
|
||
"aria-expanded": context.open,
|
||
"aria-controls": context.open ? context.contentId : void 0,
|
||
"data-state": context.open ? "open" : "closed",
|
||
"data-disabled": disabled ? "" : void 0,
|
||
disabled,
|
||
...triggerProps,
|
||
ref: (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, context.triggerRef),
|
||
onPointerDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerDown, (event)=>{
|
||
if (!disabled && event.button === 0 && event.ctrlKey === false) {
|
||
context.onOpenToggle();
|
||
if (!context.open) event.preventDefault();
|
||
}
|
||
}),
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onKeyDown, (event)=>{
|
||
if (disabled) return;
|
||
if ([
|
||
"Enter",
|
||
" "
|
||
].includes(event.key)) context.onOpenToggle();
|
||
if (event.key === "ArrowDown") context.onOpenChange(true);
|
||
if ([
|
||
"Enter",
|
||
" ",
|
||
"ArrowDown"
|
||
].includes(event.key)) event.preventDefault();
|
||
})
|
||
})
|
||
});
|
||
});
|
||
DropdownMenuTrigger.displayName = TRIGGER_NAME;
|
||
var PORTAL_NAME = "DropdownMenuPortal";
|
||
var DropdownMenuPortal = (props)=>{
|
||
const { __scopeDropdownMenu, ...portalProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Portal"], {
|
||
...menuScope,
|
||
...portalProps
|
||
});
|
||
};
|
||
DropdownMenuPortal.displayName = PORTAL_NAME;
|
||
var CONTENT_NAME = "DropdownMenuContent";
|
||
var DropdownMenuContent = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...contentProps } = props;
|
||
const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
const hasInteractedOutsideRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Content"], {
|
||
id: context.contentId,
|
||
"aria-labelledby": context.triggerId,
|
||
...menuScope,
|
||
...contentProps,
|
||
ref: forwardedRef,
|
||
onCloseAutoFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onCloseAutoFocus, (event)=>{
|
||
if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
|
||
hasInteractedOutsideRef.current = false;
|
||
event.preventDefault();
|
||
}),
|
||
onInteractOutside: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onInteractOutside, (event)=>{
|
||
const originalEvent = event.detail.originalEvent;
|
||
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
||
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
||
if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;
|
||
}),
|
||
style: {
|
||
...props.style,
|
||
// re-namespace exposed content custom properties
|
||
...{
|
||
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
||
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
||
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
||
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
||
}
|
||
}
|
||
});
|
||
});
|
||
DropdownMenuContent.displayName = CONTENT_NAME;
|
||
var GROUP_NAME = "DropdownMenuGroup";
|
||
var DropdownMenuGroup = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...groupProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Group"], {
|
||
...menuScope,
|
||
...groupProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuGroup.displayName = GROUP_NAME;
|
||
var LABEL_NAME = "DropdownMenuLabel";
|
||
var DropdownMenuLabel = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...labelProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Label"], {
|
||
...menuScope,
|
||
...labelProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuLabel.displayName = LABEL_NAME;
|
||
var ITEM_NAME = "DropdownMenuItem";
|
||
var DropdownMenuItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...itemProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Item"], {
|
||
...menuScope,
|
||
...itemProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuItem.displayName = ITEM_NAME;
|
||
var CHECKBOX_ITEM_NAME = "DropdownMenuCheckboxItem";
|
||
var DropdownMenuCheckboxItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...checkboxItemProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["CheckboxItem"], {
|
||
...menuScope,
|
||
...checkboxItemProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
||
var RADIO_GROUP_NAME = "DropdownMenuRadioGroup";
|
||
var DropdownMenuRadioGroup = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...radioGroupProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["RadioGroup"], {
|
||
...menuScope,
|
||
...radioGroupProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
||
var RADIO_ITEM_NAME = "DropdownMenuRadioItem";
|
||
var DropdownMenuRadioItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...radioItemProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["RadioItem"], {
|
||
...menuScope,
|
||
...radioItemProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
||
var INDICATOR_NAME = "DropdownMenuItemIndicator";
|
||
var DropdownMenuItemIndicator = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["ItemIndicator"], {
|
||
...menuScope,
|
||
...itemIndicatorProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
||
var SEPARATOR_NAME = "DropdownMenuSeparator";
|
||
var DropdownMenuSeparator = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...separatorProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Separator"], {
|
||
...menuScope,
|
||
...separatorProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
||
var ARROW_NAME = "DropdownMenuArrow";
|
||
var DropdownMenuArrow = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...arrowProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Arrow"], {
|
||
...menuScope,
|
||
...arrowProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuArrow.displayName = ARROW_NAME;
|
||
var DropdownMenuSub = (props)=>{
|
||
const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
const [open = false, setOpen] = (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$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: openProp,
|
||
defaultProp: defaultOpen,
|
||
onChange: onOpenChange
|
||
});
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Sub"], {
|
||
...menuScope,
|
||
open,
|
||
onOpenChange: setOpen,
|
||
children
|
||
});
|
||
};
|
||
var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger";
|
||
var DropdownMenuSubTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...subTriggerProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["SubTrigger"], {
|
||
...menuScope,
|
||
...subTriggerProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
||
var SUB_CONTENT_NAME = "DropdownMenuSubContent";
|
||
var DropdownMenuSubContent = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeDropdownMenu, ...subContentProps } = props;
|
||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$menu$40$2$2e$1$2e$4_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$19_0d4b96092e17d5c8c1f962859072e800$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["SubContent"], {
|
||
...menuScope,
|
||
...subContentProps,
|
||
ref: forwardedRef,
|
||
style: {
|
||
...props.style,
|
||
// re-namespace exposed content custom properties
|
||
...{
|
||
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
||
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
||
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
||
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
||
}
|
||
}
|
||
});
|
||
});
|
||
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
||
var Root2 = DropdownMenu;
|
||
var Trigger = DropdownMenuTrigger;
|
||
var Portal2 = DropdownMenuPortal;
|
||
var Content2 = DropdownMenuContent;
|
||
var Group2 = DropdownMenuGroup;
|
||
var Label2 = DropdownMenuLabel;
|
||
var Item2 = DropdownMenuItem;
|
||
var CheckboxItem2 = DropdownMenuCheckboxItem;
|
||
var RadioGroup2 = DropdownMenuRadioGroup;
|
||
var RadioItem2 = DropdownMenuRadioItem;
|
||
var ItemIndicator2 = DropdownMenuItemIndicator;
|
||
var Separator2 = DropdownMenuSeparator;
|
||
var Arrow2 = DropdownMenuArrow;
|
||
var Sub2 = DropdownMenuSub;
|
||
var SubTrigger2 = DropdownMenuSubTrigger;
|
||
var SubContent2 = DropdownMenuSubContent;
|
||
;
|
||
//# sourceMappingURL=index.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/icons/check.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>Check
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const Check = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Check", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M20 6 9 17l-5-5",
|
||
key: "1gmf2c"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=check.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/check.js [app-client] (ecmascript) <export default as CheckIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"CheckIcon",
|
||
()=>__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$check$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$check$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/check.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-right.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>ChevronRight
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const ChevronRight = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("ChevronRight", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m9 18 6-6-6-6",
|
||
key: "mthhwq"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=chevron-right.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/chevron-right.js [app-client] (ecmascript) <export default as ChevronRightIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ChevronRightIcon",
|
||
()=>__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$chevron$2d$right$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevron$2d$right$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-right.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>Circle
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const Circle = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Circle", [
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "12",
|
||
r: "10",
|
||
key: "1mglay"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=circle.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/circle.js [app-client] (ecmascript) <export default as CircleIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"CircleIcon",
|
||
()=>__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$circle$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@prisma+client@5.22.0_prisma@5.22.0/node_modules/@prisma/client/runtime/index-browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
"use strict";
|
||
|
||
var de = Object.defineProperty;
|
||
var We = Object.getOwnPropertyDescriptor;
|
||
var Ge = Object.getOwnPropertyNames;
|
||
var Je = Object.prototype.hasOwnProperty;
|
||
var Me = (e, n)=>{
|
||
for(var i in n)de(e, i, {
|
||
get: n[i],
|
||
enumerable: !0
|
||
});
|
||
}, Xe = (e, n, i, t)=>{
|
||
if (n && typeof n == "object" || typeof n == "function") for (let r of Ge(n))!Je.call(e, r) && r !== i && de(e, r, {
|
||
get: ()=>n[r],
|
||
enumerable: !(t = We(n, r)) || t.enumerable
|
||
});
|
||
return e;
|
||
};
|
||
var Ke = (e)=>Xe(de({}, "__esModule", {
|
||
value: !0
|
||
}), e);
|
||
var Xn = {};
|
||
Me(Xn, {
|
||
Decimal: ()=>je,
|
||
Public: ()=>he,
|
||
getRuntime: ()=>be,
|
||
makeStrictEnum: ()=>Pe,
|
||
objectEnumValues: ()=>Oe
|
||
});
|
||
module.exports = Ke(Xn);
|
||
var he = {};
|
||
Me(he, {
|
||
validator: ()=>Ce
|
||
});
|
||
function Ce(...e) {
|
||
return (n)=>n;
|
||
}
|
||
var ne = Symbol(), pe = new WeakMap, ge = class {
|
||
constructor(n){
|
||
n === ne ? pe.set(this, "Prisma.".concat(this._getName())) : pe.set(this, "new Prisma.".concat(this._getNamespace(), ".").concat(this._getName(), "()"));
|
||
}
|
||
_getName() {
|
||
return this.constructor.name;
|
||
}
|
||
toString() {
|
||
return pe.get(this);
|
||
}
|
||
}, G = class extends ge {
|
||
_getNamespace() {
|
||
return "NullTypes";
|
||
}
|
||
}, J = class extends G {
|
||
};
|
||
me(J, "DbNull");
|
||
var X = class extends G {
|
||
};
|
||
me(X, "JsonNull");
|
||
var K = class extends G {
|
||
};
|
||
me(K, "AnyNull");
|
||
var Oe = {
|
||
classes: {
|
||
DbNull: J,
|
||
JsonNull: X,
|
||
AnyNull: K
|
||
},
|
||
instances: {
|
||
DbNull: new J(ne),
|
||
JsonNull: new X(ne),
|
||
AnyNull: new K(ne)
|
||
}
|
||
};
|
||
function me(e, n) {
|
||
Object.defineProperty(e, "name", {
|
||
value: n,
|
||
configurable: !0
|
||
});
|
||
}
|
||
var xe = new Set([
|
||
"toJSON",
|
||
"$$typeof",
|
||
"asymmetricMatch",
|
||
Symbol.iterator,
|
||
Symbol.toStringTag,
|
||
Symbol.isConcatSpreadable,
|
||
Symbol.toPrimitive
|
||
]);
|
||
function Pe(e) {
|
||
return new Proxy(e, {
|
||
get (n, i) {
|
||
if (i in n) return n[i];
|
||
if (!xe.has(i)) throw new TypeError("Invalid enum value: ".concat(String(i)));
|
||
}
|
||
});
|
||
}
|
||
var Qe = "Cloudflare-Workers", Ye = "node";
|
||
function Re() {
|
||
var e, n, i;
|
||
return typeof Netlify == "object" ? "netlify" : typeof EdgeRuntime == "string" ? "edge-light" : ((e = globalThis.navigator) == null ? void 0 : e.userAgent) === Qe ? "workerd" : globalThis.Deno ? "deno" : globalThis.__lagon__ ? "lagon" : ((i = (n = globalThis.process) == null ? void 0 : n.release) == null ? void 0 : i.name) === Ye ? "node" : globalThis.Bun ? "bun" : globalThis.fastly ? "fastly" : "unknown";
|
||
}
|
||
var ze = {
|
||
node: "Node.js",
|
||
workerd: "Cloudflare Workers",
|
||
deno: "Deno and Deno Deploy",
|
||
netlify: "Netlify Edge Functions",
|
||
"edge-light": "Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"
|
||
};
|
||
function be() {
|
||
let e = Re();
|
||
return {
|
||
id: e,
|
||
prettyName: ze[e] || e,
|
||
isEdge: [
|
||
"workerd",
|
||
"deno",
|
||
"netlify",
|
||
"edge-light"
|
||
].includes(e)
|
||
};
|
||
}
|
||
var H = 9e15, $ = 1e9, we = "0123456789abcdef", te = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058", re = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789", Ne = {
|
||
precision: 20,
|
||
rounding: 4,
|
||
modulo: 1,
|
||
toExpNeg: -7,
|
||
toExpPos: 21,
|
||
minE: -H,
|
||
maxE: H,
|
||
crypto: !1
|
||
}, Te, Z, w = !0, oe = "[DecimalError] ", V = oe + "Invalid argument: ", Le = oe + "Precision limit exceeded", De = oe + "crypto unavailable", Fe = "[object Decimal]", b = Math.floor, C = Math.pow, ye = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i, en = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i, nn = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i, Ie = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, D = 1e7, m = 7, tn = 9007199254740991, rn = te.length - 1, ve = re.length - 1, h = {
|
||
toStringTag: Fe
|
||
};
|
||
h.absoluteValue = h.abs = function() {
|
||
var e = new this.constructor(this);
|
||
return e.s < 0 && (e.s = 1), p(e);
|
||
};
|
||
h.ceil = function() {
|
||
return p(new this.constructor(this), this.e + 1, 2);
|
||
};
|
||
h.clampedTo = h.clamp = function(e, n) {
|
||
var i, t = this, r = t.constructor;
|
||
if (e = new r(e), n = new r(n), !e.s || !n.s) return new r(NaN);
|
||
if (e.gt(n)) throw Error(V + n);
|
||
return i = t.cmp(e), i < 0 ? e : t.cmp(n) > 0 ? n : new r(t);
|
||
};
|
||
h.comparedTo = h.cmp = function(e) {
|
||
var n, i, t, r, s = this, o = s.d, u = (e = new s.constructor(e)).d, l = s.s, f = e.s;
|
||
if (!o || !u) return !l || !f ? NaN : l !== f ? l : o === u ? 0 : !o ^ l < 0 ? 1 : -1;
|
||
if (!o[0] || !u[0]) return o[0] ? l : u[0] ? -f : 0;
|
||
if (l !== f) return l;
|
||
if (s.e !== e.e) return s.e > e.e ^ l < 0 ? 1 : -1;
|
||
for(t = o.length, r = u.length, n = 0, i = t < r ? t : r; n < i; ++n)if (o[n] !== u[n]) return o[n] > u[n] ^ l < 0 ? 1 : -1;
|
||
return t === r ? 0 : t > r ^ l < 0 ? 1 : -1;
|
||
};
|
||
h.cosine = h.cos = function() {
|
||
var e, n, i = this, t = i.constructor;
|
||
return i.d ? i.d[0] ? (e = t.precision, n = t.rounding, t.precision = e + Math.max(i.e, i.sd()) + m, t.rounding = 1, i = sn(t, $e(t, i)), t.precision = e, t.rounding = n, p(Z == 2 || Z == 3 ? i.neg() : i, e, n, !0)) : new t(1) : new t(NaN);
|
||
};
|
||
h.cubeRoot = h.cbrt = function() {
|
||
var e, n, i, t, r, s, o, u, l, f, c = this, a = c.constructor;
|
||
if (!c.isFinite() || c.isZero()) return new a(c);
|
||
for(w = !1, s = c.s * C(c.s * c, 1 / 3), !s || Math.abs(s) == 1 / 0 ? (i = O(c.d), e = c.e, (s = (e - i.length + 1) % 3) && (i += s == 1 || s == -2 ? "0" : "00"), s = C(i, 1 / 3), e = b((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2)), s == 1 / 0 ? i = "5e" + e : (i = s.toExponential(), i = i.slice(0, i.indexOf("e") + 1) + e), t = new a(i), t.s = c.s) : t = new a(s.toString()), o = (e = a.precision) + 3;;)if (u = t, l = u.times(u).times(u), f = l.plus(c), t = S(f.plus(c).times(u), f.plus(l), o + 2, 1), O(u.d).slice(0, o) === (i = O(t.d)).slice(0, o)) if (i = i.slice(o - 3, o + 1), i == "9999" || !r && i == "4999") {
|
||
if (!r && (p(u, e + 1, 0), u.times(u).times(u).eq(c))) {
|
||
t = u;
|
||
break;
|
||
}
|
||
o += 4, r = 1;
|
||
} else {
|
||
(!+i || !+i.slice(1) && i.charAt(0) == "5") && (p(t, e + 1, 1), n = !t.times(t).times(t).eq(c));
|
||
break;
|
||
}
|
||
return w = !0, p(t, e, a.rounding, n);
|
||
};
|
||
h.decimalPlaces = h.dp = function() {
|
||
var e, n = this.d, i = NaN;
|
||
if (n) {
|
||
if (e = n.length - 1, i = (e - b(this.e / m)) * m, e = n[e], e) for(; e % 10 == 0; e /= 10)i--;
|
||
i < 0 && (i = 0);
|
||
}
|
||
return i;
|
||
};
|
||
h.dividedBy = h.div = function(e) {
|
||
return S(this, new this.constructor(e));
|
||
};
|
||
h.dividedToIntegerBy = h.divToInt = function(e) {
|
||
var n = this, i = n.constructor;
|
||
return p(S(n, new i(e), 0, 1, 1), i.precision, i.rounding);
|
||
};
|
||
h.equals = h.eq = function(e) {
|
||
return this.cmp(e) === 0;
|
||
};
|
||
h.floor = function() {
|
||
return p(new this.constructor(this), this.e + 1, 3);
|
||
};
|
||
h.greaterThan = h.gt = function(e) {
|
||
return this.cmp(e) > 0;
|
||
};
|
||
h.greaterThanOrEqualTo = h.gte = function(e) {
|
||
var n = this.cmp(e);
|
||
return n == 1 || n === 0;
|
||
};
|
||
h.hyperbolicCosine = h.cosh = function() {
|
||
var e, n, i, t, r, s = this, o = s.constructor, u = new o(1);
|
||
if (!s.isFinite()) return new o(s.s ? 1 / 0 : NaN);
|
||
if (s.isZero()) return u;
|
||
i = o.precision, t = o.rounding, o.precision = i + Math.max(s.e, s.sd()) + 4, o.rounding = 1, r = s.d.length, r < 32 ? (e = Math.ceil(r / 3), n = (1 / fe(4, e)).toString()) : (e = 16, n = "2.3283064365386962890625e-10"), s = j(o, 1, s.times(n), new o(1), !0);
|
||
for(var l, f = e, c = new o(8); f--;)l = s.times(s), s = u.minus(l.times(c.minus(l.times(c))));
|
||
return p(s, o.precision = i, o.rounding = t, !0);
|
||
};
|
||
h.hyperbolicSine = h.sinh = function() {
|
||
var e, n, i, t, r = this, s = r.constructor;
|
||
if (!r.isFinite() || r.isZero()) return new s(r);
|
||
if (n = s.precision, i = s.rounding, s.precision = n + Math.max(r.e, r.sd()) + 4, s.rounding = 1, t = r.d.length, t < 3) r = j(s, 2, r, r, !0);
|
||
else {
|
||
e = 1.4 * Math.sqrt(t), e = e > 16 ? 16 : e | 0, r = r.times(1 / fe(5, e)), r = j(s, 2, r, r, !0);
|
||
for(var o, u = new s(5), l = new s(16), f = new s(20); e--;)o = r.times(r), r = r.times(u.plus(o.times(l.times(o).plus(f))));
|
||
}
|
||
return s.precision = n, s.rounding = i, p(r, n, i, !0);
|
||
};
|
||
h.hyperbolicTangent = h.tanh = function() {
|
||
var e, n, i = this, t = i.constructor;
|
||
return i.isFinite() ? i.isZero() ? new t(i) : (e = t.precision, n = t.rounding, t.precision = e + 7, t.rounding = 1, S(i.sinh(), i.cosh(), t.precision = e, t.rounding = n)) : new t(i.s);
|
||
};
|
||
h.inverseCosine = h.acos = function() {
|
||
var e, n = this, i = n.constructor, t = n.abs().cmp(1), r = i.precision, s = i.rounding;
|
||
return t !== -1 ? t === 0 ? n.isNeg() ? L(i, r, s) : new i(0) : new i(NaN) : n.isZero() ? L(i, r + 4, s).times(.5) : (i.precision = r + 6, i.rounding = 1, n = n.asin(), e = L(i, r + 4, s).times(.5), i.precision = r, i.rounding = s, e.minus(n));
|
||
};
|
||
h.inverseHyperbolicCosine = h.acosh = function() {
|
||
var e, n, i = this, t = i.constructor;
|
||
return i.lte(1) ? new t(i.eq(1) ? 0 : NaN) : i.isFinite() ? (e = t.precision, n = t.rounding, t.precision = e + Math.max(Math.abs(i.e), i.sd()) + 4, t.rounding = 1, w = !1, i = i.times(i).minus(1).sqrt().plus(i), w = !0, t.precision = e, t.rounding = n, i.ln()) : new t(i);
|
||
};
|
||
h.inverseHyperbolicSine = h.asinh = function() {
|
||
var e, n, i = this, t = i.constructor;
|
||
return !i.isFinite() || i.isZero() ? new t(i) : (e = t.precision, n = t.rounding, t.precision = e + 2 * Math.max(Math.abs(i.e), i.sd()) + 6, t.rounding = 1, w = !1, i = i.times(i).plus(1).sqrt().plus(i), w = !0, t.precision = e, t.rounding = n, i.ln());
|
||
};
|
||
h.inverseHyperbolicTangent = h.atanh = function() {
|
||
var e, n, i, t, r = this, s = r.constructor;
|
||
return r.isFinite() ? r.e >= 0 ? new s(r.abs().eq(1) ? r.s / 0 : r.isZero() ? r : NaN) : (e = s.precision, n = s.rounding, t = r.sd(), Math.max(t, e) < 2 * -r.e - 1 ? p(new s(r), e, n, !0) : (s.precision = i = t - r.e, r = S(r.plus(1), new s(1).minus(r), i + e, 1), s.precision = e + 4, s.rounding = 1, r = r.ln(), s.precision = e, s.rounding = n, r.times(.5))) : new s(NaN);
|
||
};
|
||
h.inverseSine = h.asin = function() {
|
||
var e, n, i, t, r = this, s = r.constructor;
|
||
return r.isZero() ? new s(r) : (n = r.abs().cmp(1), i = s.precision, t = s.rounding, n !== -1 ? n === 0 ? (e = L(s, i + 4, t).times(.5), e.s = r.s, e) : new s(NaN) : (s.precision = i + 6, s.rounding = 1, r = r.div(new s(1).minus(r.times(r)).sqrt().plus(1)).atan(), s.precision = i, s.rounding = t, r.times(2)));
|
||
};
|
||
h.inverseTangent = h.atan = function() {
|
||
var e, n, i, t, r, s, o, u, l, f = this, c = f.constructor, a = c.precision, d = c.rounding;
|
||
if (f.isFinite()) {
|
||
if (f.isZero()) return new c(f);
|
||
if (f.abs().eq(1) && a + 4 <= ve) return o = L(c, a + 4, d).times(.25), o.s = f.s, o;
|
||
} else {
|
||
if (!f.s) return new c(NaN);
|
||
if (a + 4 <= ve) return o = L(c, a + 4, d).times(.5), o.s = f.s, o;
|
||
}
|
||
for(c.precision = u = a + 10, c.rounding = 1, i = Math.min(28, u / m + 2 | 0), e = i; e; --e)f = f.div(f.times(f).plus(1).sqrt().plus(1));
|
||
for(w = !1, n = Math.ceil(u / m), t = 1, l = f.times(f), o = new c(f), r = f; e !== -1;)if (r = r.times(l), s = o.minus(r.div(t += 2)), r = r.times(l), o = s.plus(r.div(t += 2)), o.d[n] !== void 0) for(e = n; o.d[e] === s.d[e] && e--;);
|
||
return i && (o = o.times(2 << i - 1)), w = !0, p(o, c.precision = a, c.rounding = d, !0);
|
||
};
|
||
h.isFinite = function() {
|
||
return !!this.d;
|
||
};
|
||
h.isInteger = h.isInt = function() {
|
||
return !!this.d && b(this.e / m) > this.d.length - 2;
|
||
};
|
||
h.isNaN = function() {
|
||
return !this.s;
|
||
};
|
||
h.isNegative = h.isNeg = function() {
|
||
return this.s < 0;
|
||
};
|
||
h.isPositive = h.isPos = function() {
|
||
return this.s > 0;
|
||
};
|
||
h.isZero = function() {
|
||
return !!this.d && this.d[0] === 0;
|
||
};
|
||
h.lessThan = h.lt = function(e) {
|
||
return this.cmp(e) < 0;
|
||
};
|
||
h.lessThanOrEqualTo = h.lte = function(e) {
|
||
return this.cmp(e) < 1;
|
||
};
|
||
h.logarithm = h.log = function(e) {
|
||
var n, i, t, r, s, o, u, l, f = this, c = f.constructor, a = c.precision, d = c.rounding, g = 5;
|
||
if (e == null) e = new c(10), n = !0;
|
||
else {
|
||
if (e = new c(e), i = e.d, e.s < 0 || !i || !i[0] || e.eq(1)) return new c(NaN);
|
||
n = e.eq(10);
|
||
}
|
||
if (i = f.d, f.s < 0 || !i || !i[0] || f.eq(1)) return new c(i && !i[0] ? -1 / 0 : f.s != 1 ? NaN : i ? 0 : 1 / 0);
|
||
if (n) if (i.length > 1) s = !0;
|
||
else {
|
||
for(r = i[0]; r % 10 === 0;)r /= 10;
|
||
s = r !== 1;
|
||
}
|
||
if (w = !1, u = a + g, o = B(f, u), t = n ? se(c, u + 10) : B(e, u), l = S(o, t, u, 1), x(l.d, r = a, d)) do if (u += 10, o = B(f, u), t = n ? se(c, u + 10) : B(e, u), l = S(o, t, u, 1), !s) {
|
||
+O(l.d).slice(r + 1, r + 15) + 1 == 1e14 && (l = p(l, a + 1, 0));
|
||
break;
|
||
}
|
||
while (x(l.d, r += 10, d))
|
||
return w = !0, p(l, a, d);
|
||
};
|
||
h.minus = h.sub = function(e) {
|
||
var n, i, t, r, s, o, u, l, f, c, a, d, g = this, v = g.constructor;
|
||
if (e = new v(e), !g.d || !e.d) return !g.s || !e.s ? e = new v(NaN) : g.d ? e.s = -e.s : e = new v(e.d || g.s !== e.s ? g : NaN), e;
|
||
if (g.s != e.s) return e.s = -e.s, g.plus(e);
|
||
if (f = g.d, d = e.d, u = v.precision, l = v.rounding, !f[0] || !d[0]) {
|
||
if (d[0]) e.s = -e.s;
|
||
else if (f[0]) e = new v(g);
|
||
else return new v(l === 3 ? -0 : 0);
|
||
return w ? p(e, u, l) : e;
|
||
}
|
||
if (i = b(e.e / m), c = b(g.e / m), f = f.slice(), s = c - i, s) {
|
||
for(a = s < 0, a ? (n = f, s = -s, o = d.length) : (n = d, i = c, o = f.length), t = Math.max(Math.ceil(u / m), o) + 2, s > t && (s = t, n.length = 1), n.reverse(), t = s; t--;)n.push(0);
|
||
n.reverse();
|
||
} else {
|
||
for(t = f.length, o = d.length, a = t < o, a && (o = t), t = 0; t < o; t++)if (f[t] != d[t]) {
|
||
a = f[t] < d[t];
|
||
break;
|
||
}
|
||
s = 0;
|
||
}
|
||
for(a && (n = f, f = d, d = n, e.s = -e.s), o = f.length, t = d.length - o; t > 0; --t)f[o++] = 0;
|
||
for(t = d.length; t > s;){
|
||
if (f[--t] < d[t]) {
|
||
for(r = t; r && f[--r] === 0;)f[r] = D - 1;
|
||
--f[r], f[t] += D;
|
||
}
|
||
f[t] -= d[t];
|
||
}
|
||
for(; f[--o] === 0;)f.pop();
|
||
for(; f[0] === 0; f.shift())--i;
|
||
return f[0] ? (e.d = f, e.e = ue(f, i), w ? p(e, u, l) : e) : new v(l === 3 ? -0 : 0);
|
||
};
|
||
h.modulo = h.mod = function(e) {
|
||
var n, i = this, t = i.constructor;
|
||
return e = new t(e), !i.d || !e.s || e.d && !e.d[0] ? new t(NaN) : !e.d || i.d && !i.d[0] ? p(new t(i), t.precision, t.rounding) : (w = !1, t.modulo == 9 ? (n = S(i, e.abs(), 0, 3, 1), n.s *= e.s) : n = S(i, e, 0, t.modulo, 1), n = n.times(e), w = !0, i.minus(n));
|
||
};
|
||
h.naturalExponential = h.exp = function() {
|
||
return Ee(this);
|
||
};
|
||
h.naturalLogarithm = h.ln = function() {
|
||
return B(this);
|
||
};
|
||
h.negated = h.neg = function() {
|
||
var e = new this.constructor(this);
|
||
return e.s = -e.s, p(e);
|
||
};
|
||
h.plus = h.add = function(e) {
|
||
var n, i, t, r, s, o, u, l, f, c, a = this, d = a.constructor;
|
||
if (e = new d(e), !a.d || !e.d) return !a.s || !e.s ? e = new d(NaN) : a.d || (e = new d(e.d || a.s === e.s ? a : NaN)), e;
|
||
if (a.s != e.s) return e.s = -e.s, a.minus(e);
|
||
if (f = a.d, c = e.d, u = d.precision, l = d.rounding, !f[0] || !c[0]) return c[0] || (e = new d(a)), w ? p(e, u, l) : e;
|
||
if (s = b(a.e / m), t = b(e.e / m), f = f.slice(), r = s - t, r) {
|
||
for(r < 0 ? (i = f, r = -r, o = c.length) : (i = c, t = s, o = f.length), s = Math.ceil(u / m), o = s > o ? s + 1 : o + 1, r > o && (r = o, i.length = 1), i.reverse(); r--;)i.push(0);
|
||
i.reverse();
|
||
}
|
||
for(o = f.length, r = c.length, o - r < 0 && (r = o, i = c, c = f, f = i), n = 0; r;)n = (f[--r] = f[r] + c[r] + n) / D | 0, f[r] %= D;
|
||
for(n && (f.unshift(n), ++t), o = f.length; f[--o] == 0;)f.pop();
|
||
return e.d = f, e.e = ue(f, t), w ? p(e, u, l) : e;
|
||
};
|
||
h.precision = h.sd = function(e) {
|
||
var n, i = this;
|
||
if (e !== void 0 && e !== !!e && e !== 1 && e !== 0) throw Error(V + e);
|
||
return i.d ? (n = Ze(i.d), e && i.e + 1 > n && (n = i.e + 1)) : n = NaN, n;
|
||
};
|
||
h.round = function() {
|
||
var e = this, n = e.constructor;
|
||
return p(new n(e), e.e + 1, n.rounding);
|
||
};
|
||
h.sine = h.sin = function() {
|
||
var e, n, i = this, t = i.constructor;
|
||
return i.isFinite() ? i.isZero() ? new t(i) : (e = t.precision, n = t.rounding, t.precision = e + Math.max(i.e, i.sd()) + m, t.rounding = 1, i = un(t, $e(t, i)), t.precision = e, t.rounding = n, p(Z > 2 ? i.neg() : i, e, n, !0)) : new t(NaN);
|
||
};
|
||
h.squareRoot = h.sqrt = function() {
|
||
var e, n, i, t, r, s, o = this, u = o.d, l = o.e, f = o.s, c = o.constructor;
|
||
if (f !== 1 || !u || !u[0]) return new c(!f || f < 0 && (!u || u[0]) ? NaN : u ? o : 1 / 0);
|
||
for(w = !1, f = Math.sqrt(+o), f == 0 || f == 1 / 0 ? (n = O(u), (n.length + l) % 2 == 0 && (n += "0"), f = Math.sqrt(n), l = b((l + 1) / 2) - (l < 0 || l % 2), f == 1 / 0 ? n = "5e" + l : (n = f.toExponential(), n = n.slice(0, n.indexOf("e") + 1) + l), t = new c(n)) : t = new c(f.toString()), i = (l = c.precision) + 3;;)if (s = t, t = s.plus(S(o, s, i + 2, 1)).times(.5), O(s.d).slice(0, i) === (n = O(t.d)).slice(0, i)) if (n = n.slice(i - 3, i + 1), n == "9999" || !r && n == "4999") {
|
||
if (!r && (p(s, l + 1, 0), s.times(s).eq(o))) {
|
||
t = s;
|
||
break;
|
||
}
|
||
i += 4, r = 1;
|
||
} else {
|
||
(!+n || !+n.slice(1) && n.charAt(0) == "5") && (p(t, l + 1, 1), e = !t.times(t).eq(o));
|
||
break;
|
||
}
|
||
return w = !0, p(t, l, c.rounding, e);
|
||
};
|
||
h.tangent = h.tan = function() {
|
||
var e, n, i = this, t = i.constructor;
|
||
return i.isFinite() ? i.isZero() ? new t(i) : (e = t.precision, n = t.rounding, t.precision = e + 10, t.rounding = 1, i = i.sin(), i.s = 1, i = S(i, new t(1).minus(i.times(i)).sqrt(), e + 10, 0), t.precision = e, t.rounding = n, p(Z == 2 || Z == 4 ? i.neg() : i, e, n, !0)) : new t(NaN);
|
||
};
|
||
h.times = h.mul = function(e) {
|
||
var n, i, t, r, s, o, u, l, f, c = this, a = c.constructor, d = c.d, g = (e = new a(e)).d;
|
||
if (e.s *= c.s, !d || !d[0] || !g || !g[0]) return new a(!e.s || d && !d[0] && !g || g && !g[0] && !d ? NaN : !d || !g ? e.s / 0 : e.s * 0);
|
||
for(i = b(c.e / m) + b(e.e / m), l = d.length, f = g.length, l < f && (s = d, d = g, g = s, o = l, l = f, f = o), s = [], o = l + f, t = o; t--;)s.push(0);
|
||
for(t = f; --t >= 0;){
|
||
for(n = 0, r = l + t; r > t;)u = s[r] + g[t] * d[r - t - 1] + n, s[r--] = u % D | 0, n = u / D | 0;
|
||
s[r] = (s[r] + n) % D | 0;
|
||
}
|
||
for(; !s[--o];)s.pop();
|
||
return n ? ++i : s.shift(), e.d = s, e.e = ue(s, i), w ? p(e, a.precision, a.rounding) : e;
|
||
};
|
||
h.toBinary = function(e, n) {
|
||
return ke(this, 2, e, n);
|
||
};
|
||
h.toDecimalPlaces = h.toDP = function(e, n) {
|
||
var i = this, t = i.constructor;
|
||
return i = new t(i), e === void 0 ? i : (_(e, 0, $), n === void 0 ? n = t.rounding : _(n, 0, 8), p(i, e + i.e + 1, n));
|
||
};
|
||
h.toExponential = function(e, n) {
|
||
var i, t = this, r = t.constructor;
|
||
return e === void 0 ? i = F(t, !0) : (_(e, 0, $), n === void 0 ? n = r.rounding : _(n, 0, 8), t = p(new r(t), e + 1, n), i = F(t, !0, e + 1)), t.isNeg() && !t.isZero() ? "-" + i : i;
|
||
};
|
||
h.toFixed = function(e, n) {
|
||
var i, t, r = this, s = r.constructor;
|
||
return e === void 0 ? i = F(r) : (_(e, 0, $), n === void 0 ? n = s.rounding : _(n, 0, 8), t = p(new s(r), e + r.e + 1, n), i = F(t, !1, e + t.e + 1)), r.isNeg() && !r.isZero() ? "-" + i : i;
|
||
};
|
||
h.toFraction = function(e) {
|
||
var n, i, t, r, s, o, u, l, f, c, a, d, g = this, v = g.d, N = g.constructor;
|
||
if (!v) return new N(g);
|
||
if (f = i = new N(1), t = l = new N(0), n = new N(t), s = n.e = Ze(v) - g.e - 1, o = s % m, n.d[0] = C(10, o < 0 ? m + o : o), e == null) e = s > 0 ? n : f;
|
||
else {
|
||
if (u = new N(e), !u.isInt() || u.lt(f)) throw Error(V + u);
|
||
e = u.gt(n) ? s > 0 ? n : f : u;
|
||
}
|
||
for(w = !1, u = new N(O(v)), c = N.precision, N.precision = s = v.length * m * 2; a = S(u, n, 0, 1, 1), r = i.plus(a.times(t)), r.cmp(e) != 1;)i = t, t = r, r = f, f = l.plus(a.times(r)), l = r, r = n, n = u.minus(a.times(r)), u = r;
|
||
return r = S(e.minus(i), t, 0, 1, 1), l = l.plus(r.times(f)), i = i.plus(r.times(t)), l.s = f.s = g.s, d = S(f, t, s, 1).minus(g).abs().cmp(S(l, i, s, 1).minus(g).abs()) < 1 ? [
|
||
f,
|
||
t
|
||
] : [
|
||
l,
|
||
i
|
||
], N.precision = c, w = !0, d;
|
||
};
|
||
h.toHexadecimal = h.toHex = function(e, n) {
|
||
return ke(this, 16, e, n);
|
||
};
|
||
h.toNearest = function(e, n) {
|
||
var i = this, t = i.constructor;
|
||
if (i = new t(i), e == null) {
|
||
if (!i.d) return i;
|
||
e = new t(1), n = t.rounding;
|
||
} else {
|
||
if (e = new t(e), n === void 0 ? n = t.rounding : _(n, 0, 8), !i.d) return e.s ? i : e;
|
||
if (!e.d) return e.s && (e.s = i.s), e;
|
||
}
|
||
return e.d[0] ? (w = !1, i = S(i, e, 0, n, 1).times(e), w = !0, p(i)) : (e.s = i.s, i = e), i;
|
||
};
|
||
h.toNumber = function() {
|
||
return +this;
|
||
};
|
||
h.toOctal = function(e, n) {
|
||
return ke(this, 8, e, n);
|
||
};
|
||
h.toPower = h.pow = function(e) {
|
||
var n, i, t, r, s, o, u = this, l = u.constructor, f = +(e = new l(e));
|
||
if (!u.d || !e.d || !u.d[0] || !e.d[0]) return new l(C(+u, f));
|
||
if (u = new l(u), u.eq(1)) return u;
|
||
if (t = l.precision, s = l.rounding, e.eq(1)) return p(u, t, s);
|
||
if (n = b(e.e / m), n >= e.d.length - 1 && (i = f < 0 ? -f : f) <= tn) return r = Ue(l, u, i, t), e.s < 0 ? new l(1).div(r) : p(r, t, s);
|
||
if (o = u.s, o < 0) {
|
||
if (n < e.d.length - 1) return new l(NaN);
|
||
if (e.d[n] & 1 || (o = 1), u.e == 0 && u.d[0] == 1 && u.d.length == 1) return u.s = o, u;
|
||
}
|
||
return i = C(+u, f), n = i == 0 || !isFinite(i) ? b(f * (Math.log("0." + O(u.d)) / Math.LN10 + u.e + 1)) : new l(i + "").e, n > l.maxE + 1 || n < l.minE - 1 ? new l(n > 0 ? o / 0 : 0) : (w = !1, l.rounding = u.s = 1, i = Math.min(12, (n + "").length), r = Ee(e.times(B(u, t + i)), t), r.d && (r = p(r, t + 5, 1), x(r.d, t, s) && (n = t + 10, r = p(Ee(e.times(B(u, n + i)), n), n + 5, 1), +O(r.d).slice(t + 1, t + 15) + 1 == 1e14 && (r = p(r, t + 1, 0)))), r.s = o, w = !0, l.rounding = s, p(r, t, s));
|
||
};
|
||
h.toPrecision = function(e, n) {
|
||
var i, t = this, r = t.constructor;
|
||
return e === void 0 ? i = F(t, t.e <= r.toExpNeg || t.e >= r.toExpPos) : (_(e, 1, $), n === void 0 ? n = r.rounding : _(n, 0, 8), t = p(new r(t), e, n), i = F(t, e <= t.e || t.e <= r.toExpNeg, e)), t.isNeg() && !t.isZero() ? "-" + i : i;
|
||
};
|
||
h.toSignificantDigits = h.toSD = function(e, n) {
|
||
var i = this, t = i.constructor;
|
||
return e === void 0 ? (e = t.precision, n = t.rounding) : (_(e, 1, $), n === void 0 ? n = t.rounding : _(n, 0, 8)), p(new t(i), e, n);
|
||
};
|
||
h.toString = function() {
|
||
var e = this, n = e.constructor, i = F(e, e.e <= n.toExpNeg || e.e >= n.toExpPos);
|
||
return e.isNeg() && !e.isZero() ? "-" + i : i;
|
||
};
|
||
h.truncated = h.trunc = function() {
|
||
return p(new this.constructor(this), this.e + 1, 1);
|
||
};
|
||
h.valueOf = h.toJSON = function() {
|
||
var e = this, n = e.constructor, i = F(e, e.e <= n.toExpNeg || e.e >= n.toExpPos);
|
||
return e.isNeg() ? "-" + i : i;
|
||
};
|
||
function O(e) {
|
||
var n, i, t, r = e.length - 1, s = "", o = e[0];
|
||
if (r > 0) {
|
||
for(s += o, n = 1; n < r; n++)t = e[n] + "", i = m - t.length, i && (s += U(i)), s += t;
|
||
o = e[n], t = o + "", i = m - t.length, i && (s += U(i));
|
||
} else if (o === 0) return "0";
|
||
for(; o % 10 === 0;)o /= 10;
|
||
return s + o;
|
||
}
|
||
function _(e, n, i) {
|
||
if (e !== ~~e || e < n || e > i) throw Error(V + e);
|
||
}
|
||
function x(e, n, i, t) {
|
||
var r, s, o, u;
|
||
for(s = e[0]; s >= 10; s /= 10)--n;
|
||
return --n < 0 ? (n += m, r = 0) : (r = Math.ceil((n + 1) / m), n %= m), s = C(10, m - n), u = e[r] % s | 0, t == null ? n < 3 ? (n == 0 ? u = u / 100 | 0 : n == 1 && (u = u / 10 | 0), o = i < 4 && u == 99999 || i > 3 && u == 49999 || u == 5e4 || u == 0) : o = (i < 4 && u + 1 == s || i > 3 && u + 1 == s / 2) && (e[r + 1] / s / 100 | 0) == C(10, n - 2) - 1 || (u == s / 2 || u == 0) && (e[r + 1] / s / 100 | 0) == 0 : n < 4 ? (n == 0 ? u = u / 1e3 | 0 : n == 1 ? u = u / 100 | 0 : n == 2 && (u = u / 10 | 0), o = (t || i < 4) && u == 9999 || !t && i > 3 && u == 4999) : o = ((t || i < 4) && u + 1 == s || !t && i > 3 && u + 1 == s / 2) && (e[r + 1] / s / 1e3 | 0) == C(10, n - 3) - 1, o;
|
||
}
|
||
function ie(e, n, i) {
|
||
for(var t, r = [
|
||
0
|
||
], s, o = 0, u = e.length; o < u;){
|
||
for(s = r.length; s--;)r[s] *= n;
|
||
for(r[0] += we.indexOf(e.charAt(o++)), t = 0; t < r.length; t++)r[t] > i - 1 && (r[t + 1] === void 0 && (r[t + 1] = 0), r[t + 1] += r[t] / i | 0, r[t] %= i);
|
||
}
|
||
return r.reverse();
|
||
}
|
||
function sn(e, n) {
|
||
var i, t, r;
|
||
if (n.isZero()) return n;
|
||
t = n.d.length, t < 32 ? (i = Math.ceil(t / 3), r = (1 / fe(4, i)).toString()) : (i = 16, r = "2.3283064365386962890625e-10"), e.precision += i, n = j(e, 1, n.times(r), new e(1));
|
||
for(var s = i; s--;){
|
||
var o = n.times(n);
|
||
n = o.times(o).minus(o).times(8).plus(1);
|
||
}
|
||
return e.precision -= i, n;
|
||
}
|
||
var S = function() {
|
||
function e(t, r, s) {
|
||
var o, u = 0, l = t.length;
|
||
for(t = t.slice(); l--;)o = t[l] * r + u, t[l] = o % s | 0, u = o / s | 0;
|
||
return u && t.unshift(u), t;
|
||
}
|
||
function n(t, r, s, o) {
|
||
var u, l;
|
||
if (s != o) l = s > o ? 1 : -1;
|
||
else for(u = l = 0; u < s; u++)if (t[u] != r[u]) {
|
||
l = t[u] > r[u] ? 1 : -1;
|
||
break;
|
||
}
|
||
return l;
|
||
}
|
||
function i(t, r, s, o) {
|
||
for(var u = 0; s--;)t[s] -= u, u = t[s] < r[s] ? 1 : 0, t[s] = u * o + t[s] - r[s];
|
||
for(; !t[0] && t.length > 1;)t.shift();
|
||
}
|
||
return function(t, r, s, o, u, l) {
|
||
var f, c, a, d, g, v, N, A, M, q, E, P, Y, I, le, z, W, ce, T, y, ee = t.constructor, ae = t.s == r.s ? 1 : -1, R = t.d, k = r.d;
|
||
if (!R || !R[0] || !k || !k[0]) return new ee(!t.s || !r.s || (R ? k && R[0] == k[0] : !k) ? NaN : R && R[0] == 0 || !k ? ae * 0 : ae / 0);
|
||
for(l ? (g = 1, c = t.e - r.e) : (l = D, g = m, c = b(t.e / g) - b(r.e / g)), T = k.length, W = R.length, M = new ee(ae), q = M.d = [], a = 0; k[a] == (R[a] || 0); a++);
|
||
if (k[a] > (R[a] || 0) && c--, s == null ? (I = s = ee.precision, o = ee.rounding) : u ? I = s + (t.e - r.e) + 1 : I = s, I < 0) q.push(1), v = !0;
|
||
else {
|
||
if (I = I / g + 2 | 0, a = 0, T == 1) {
|
||
for(d = 0, k = k[0], I++; (a < W || d) && I--; a++)le = d * l + (R[a] || 0), q[a] = le / k | 0, d = le % k | 0;
|
||
v = d || a < W;
|
||
} else {
|
||
for(d = l / (k[0] + 1) | 0, d > 1 && (k = e(k, d, l), R = e(R, d, l), T = k.length, W = R.length), z = T, E = R.slice(0, T), P = E.length; P < T;)E[P++] = 0;
|
||
y = k.slice(), y.unshift(0), ce = k[0], k[1] >= l / 2 && ++ce;
|
||
do d = 0, f = n(k, E, T, P), f < 0 ? (Y = E[0], T != P && (Y = Y * l + (E[1] || 0)), d = Y / ce | 0, d > 1 ? (d >= l && (d = l - 1), N = e(k, d, l), A = N.length, P = E.length, f = n(N, E, A, P), f == 1 && (d--, i(N, T < A ? y : k, A, l))) : (d == 0 && (f = d = 1), N = k.slice()), A = N.length, A < P && N.unshift(0), i(E, N, P, l), f == -1 && (P = E.length, f = n(k, E, T, P), f < 1 && (d++, i(E, T < P ? y : k, P, l))), P = E.length) : f === 0 && (d++, E = [
|
||
0
|
||
]), q[a++] = d, f && E[0] ? E[P++] = R[z] || 0 : (E = [
|
||
R[z]
|
||
], P = 1);
|
||
while ((z++ < W || E[0] !== void 0) && I--)
|
||
v = E[0] !== void 0;
|
||
}
|
||
q[0] || q.shift();
|
||
}
|
||
if (g == 1) M.e = c, Te = v;
|
||
else {
|
||
for(a = 1, d = q[0]; d >= 10; d /= 10)a++;
|
||
M.e = a + c * g - 1, p(M, u ? s + M.e + 1 : s, o, v);
|
||
}
|
||
return M;
|
||
};
|
||
}();
|
||
function p(e, n, i, t) {
|
||
var r, s, o, u, l, f, c, a, d, g = e.constructor;
|
||
e: if (n != null) {
|
||
if (a = e.d, !a) return e;
|
||
for(r = 1, u = a[0]; u >= 10; u /= 10)r++;
|
||
if (s = n - r, s < 0) s += m, o = n, c = a[d = 0], l = c / C(10, r - o - 1) % 10 | 0;
|
||
else if (d = Math.ceil((s + 1) / m), u = a.length, d >= u) if (t) {
|
||
for(; u++ <= d;)a.push(0);
|
||
c = l = 0, r = 1, s %= m, o = s - m + 1;
|
||
} else break e;
|
||
else {
|
||
for(c = u = a[d], r = 1; u >= 10; u /= 10)r++;
|
||
s %= m, o = s - m + r, l = o < 0 ? 0 : c / C(10, r - o - 1) % 10 | 0;
|
||
}
|
||
if (t = t || n < 0 || a[d + 1] !== void 0 || (o < 0 ? c : c % C(10, r - o - 1)), f = i < 4 ? (l || t) && (i == 0 || i == (e.s < 0 ? 3 : 2)) : l > 5 || l == 5 && (i == 4 || t || i == 6 && (s > 0 ? o > 0 ? c / C(10, r - o) : 0 : a[d - 1]) % 10 & 1 || i == (e.s < 0 ? 8 : 7)), n < 1 || !a[0]) return a.length = 0, f ? (n -= e.e + 1, a[0] = C(10, (m - n % m) % m), e.e = -n || 0) : a[0] = e.e = 0, e;
|
||
if (s == 0 ? (a.length = d, u = 1, d--) : (a.length = d + 1, u = C(10, m - s), a[d] = o > 0 ? (c / C(10, r - o) % C(10, o) | 0) * u : 0), f) for(;;)if (d == 0) {
|
||
for(s = 1, o = a[0]; o >= 10; o /= 10)s++;
|
||
for(o = a[0] += u, u = 1; o >= 10; o /= 10)u++;
|
||
s != u && (e.e++, a[0] == D && (a[0] = 1));
|
||
break;
|
||
} else {
|
||
if (a[d] += u, a[d] != D) break;
|
||
a[d--] = 0, u = 1;
|
||
}
|
||
for(s = a.length; a[--s] === 0;)a.pop();
|
||
}
|
||
return w && (e.e > g.maxE ? (e.d = null, e.e = NaN) : e.e < g.minE && (e.e = 0, e.d = [
|
||
0
|
||
])), e;
|
||
}
|
||
function F(e, n, i) {
|
||
if (!e.isFinite()) return Ve(e);
|
||
var t, r = e.e, s = O(e.d), o = s.length;
|
||
return n ? (i && (t = i - o) > 0 ? s = s.charAt(0) + "." + s.slice(1) + U(t) : o > 1 && (s = s.charAt(0) + "." + s.slice(1)), s = s + (e.e < 0 ? "e" : "e+") + e.e) : r < 0 ? (s = "0." + U(-r - 1) + s, i && (t = i - o) > 0 && (s += U(t))) : r >= o ? (s += U(r + 1 - o), i && (t = i - r - 1) > 0 && (s = s + "." + U(t))) : ((t = r + 1) < o && (s = s.slice(0, t) + "." + s.slice(t)), i && (t = i - o) > 0 && (r + 1 === o && (s += "."), s += U(t))), s;
|
||
}
|
||
function ue(e, n) {
|
||
var i = e[0];
|
||
for(n *= m; i >= 10; i /= 10)n++;
|
||
return n;
|
||
}
|
||
function se(e, n, i) {
|
||
if (n > rn) throw w = !0, i && (e.precision = i), Error(Le);
|
||
return p(new e(te), n, 1, !0);
|
||
}
|
||
function L(e, n, i) {
|
||
if (n > ve) throw Error(Le);
|
||
return p(new e(re), n, i, !0);
|
||
}
|
||
function Ze(e) {
|
||
var n = e.length - 1, i = n * m + 1;
|
||
if (n = e[n], n) {
|
||
for(; n % 10 == 0; n /= 10)i--;
|
||
for(n = e[0]; n >= 10; n /= 10)i++;
|
||
}
|
||
return i;
|
||
}
|
||
function U(e) {
|
||
for(var n = ""; e--;)n += "0";
|
||
return n;
|
||
}
|
||
function Ue(e, n, i, t) {
|
||
var r, s = new e(1), o = Math.ceil(t / m + 4);
|
||
for(w = !1;;){
|
||
if (i % 2 && (s = s.times(n), _e(s.d, o) && (r = !0)), i = b(i / 2), i === 0) {
|
||
i = s.d.length - 1, r && s.d[i] === 0 && ++s.d[i];
|
||
break;
|
||
}
|
||
n = n.times(n), _e(n.d, o);
|
||
}
|
||
return w = !0, s;
|
||
}
|
||
function Ae(e) {
|
||
return e.d[e.d.length - 1] & 1;
|
||
}
|
||
function Be(e, n, i) {
|
||
for(var t, r = new e(n[0]), s = 0; ++s < n.length;)if (t = new e(n[s]), t.s) r[i](t) && (r = t);
|
||
else {
|
||
r = t;
|
||
break;
|
||
}
|
||
return r;
|
||
}
|
||
function Ee(e, n) {
|
||
var i, t, r, s, o, u, l, f = 0, c = 0, a = 0, d = e.constructor, g = d.rounding, v = d.precision;
|
||
if (!e.d || !e.d[0] || e.e > 17) return new d(e.d ? e.d[0] ? e.s < 0 ? 0 : 1 / 0 : 1 : e.s ? e.s < 0 ? 0 : e : NaN);
|
||
for(n == null ? (w = !1, l = v) : l = n, u = new d(.03125); e.e > -2;)e = e.times(u), a += 5;
|
||
for(t = Math.log(C(2, a)) / Math.LN10 * 2 + 5 | 0, l += t, i = s = o = new d(1), d.precision = l;;){
|
||
if (s = p(s.times(e), l, 1), i = i.times(++c), u = o.plus(S(s, i, l, 1)), O(u.d).slice(0, l) === O(o.d).slice(0, l)) {
|
||
for(r = a; r--;)o = p(o.times(o), l, 1);
|
||
if (n == null) if (f < 3 && x(o.d, l - t, g, f)) d.precision = l += 10, i = s = u = new d(1), c = 0, f++;
|
||
else return p(o, d.precision = v, g, w = !0);
|
||
else return d.precision = v, o;
|
||
}
|
||
o = u;
|
||
}
|
||
}
|
||
function B(e, n) {
|
||
var i, t, r, s, o, u, l, f, c, a, d, g = 1, v = 10, N = e, A = N.d, M = N.constructor, q = M.rounding, E = M.precision;
|
||
if (N.s < 0 || !A || !A[0] || !N.e && A[0] == 1 && A.length == 1) return new M(A && !A[0] ? -1 / 0 : N.s != 1 ? NaN : A ? 0 : N);
|
||
if (n == null ? (w = !1, c = E) : c = n, M.precision = c += v, i = O(A), t = i.charAt(0), Math.abs(s = N.e) < 15e14) {
|
||
for(; t < 7 && t != 1 || t == 1 && i.charAt(1) > 3;)N = N.times(e), i = O(N.d), t = i.charAt(0), g++;
|
||
s = N.e, t > 1 ? (N = new M("0." + i), s++) : N = new M(t + "." + i.slice(1));
|
||
} else return f = se(M, c + 2, E).times(s + ""), N = B(new M(t + "." + i.slice(1)), c - v).plus(f), M.precision = E, n == null ? p(N, E, q, w = !0) : N;
|
||
for(a = N, l = o = N = S(N.minus(1), N.plus(1), c, 1), d = p(N.times(N), c, 1), r = 3;;){
|
||
if (o = p(o.times(d), c, 1), f = l.plus(S(o, new M(r), c, 1)), O(f.d).slice(0, c) === O(l.d).slice(0, c)) if (l = l.times(2), s !== 0 && (l = l.plus(se(M, c + 2, E).times(s + ""))), l = S(l, new M(g), c, 1), n == null) if (x(l.d, c - v, q, u)) M.precision = c += v, f = o = N = S(a.minus(1), a.plus(1), c, 1), d = p(N.times(N), c, 1), r = u = 1;
|
||
else return p(l, M.precision = E, q, w = !0);
|
||
else return M.precision = E, l;
|
||
l = f, r += 2;
|
||
}
|
||
}
|
||
function Ve(e) {
|
||
return String(e.s * e.s / 0);
|
||
}
|
||
function Se(e, n) {
|
||
var i, t, r;
|
||
for((i = n.indexOf(".")) > -1 && (n = n.replace(".", "")), (t = n.search(/e/i)) > 0 ? (i < 0 && (i = t), i += +n.slice(t + 1), n = n.substring(0, t)) : i < 0 && (i = n.length), t = 0; n.charCodeAt(t) === 48; t++);
|
||
for(r = n.length; n.charCodeAt(r - 1) === 48; --r);
|
||
if (n = n.slice(t, r), n) {
|
||
if (r -= t, e.e = i = i - t - 1, e.d = [], t = (i + 1) % m, i < 0 && (t += m), t < r) {
|
||
for(t && e.d.push(+n.slice(0, t)), r -= m; t < r;)e.d.push(+n.slice(t, t += m));
|
||
n = n.slice(t), t = m - n.length;
|
||
} else t -= r;
|
||
for(; t--;)n += "0";
|
||
e.d.push(+n), w && (e.e > e.constructor.maxE ? (e.d = null, e.e = NaN) : e.e < e.constructor.minE && (e.e = 0, e.d = [
|
||
0
|
||
]));
|
||
} else e.e = 0, e.d = [
|
||
0
|
||
];
|
||
return e;
|
||
}
|
||
function on(e, n) {
|
||
var i, t, r, s, o, u, l, f, c;
|
||
if (n.indexOf("_") > -1) {
|
||
if (n = n.replace(/(\d)_(?=\d)/g, "$1"), Ie.test(n)) return Se(e, n);
|
||
} else if (n === "Infinity" || n === "NaN") return +n || (e.s = NaN), e.e = NaN, e.d = null, e;
|
||
if (en.test(n)) i = 16, n = n.toLowerCase();
|
||
else if (ye.test(n)) i = 2;
|
||
else if (nn.test(n)) i = 8;
|
||
else throw Error(V + n);
|
||
for(s = n.search(/p/i), s > 0 ? (l = +n.slice(s + 1), n = n.substring(2, s)) : n = n.slice(2), s = n.indexOf("."), o = s >= 0, t = e.constructor, o && (n = n.replace(".", ""), u = n.length, s = u - s, r = Ue(t, new t(i), s, s * 2)), f = ie(n, i, D), c = f.length - 1, s = c; f[s] === 0; --s)f.pop();
|
||
return s < 0 ? new t(e.s * 0) : (e.e = ue(f, c), e.d = f, w = !1, o && (e = S(e, r, u * 4)), l && (e = e.times(Math.abs(l) < 54 ? C(2, l) : Q.pow(2, l))), w = !0, e);
|
||
}
|
||
function un(e, n) {
|
||
var i, t = n.d.length;
|
||
if (t < 3) return n.isZero() ? n : j(e, 2, n, n);
|
||
i = 1.4 * Math.sqrt(t), i = i > 16 ? 16 : i | 0, n = n.times(1 / fe(5, i)), n = j(e, 2, n, n);
|
||
for(var r, s = new e(5), o = new e(16), u = new e(20); i--;)r = n.times(n), n = n.times(s.plus(r.times(o.times(r).minus(u))));
|
||
return n;
|
||
}
|
||
function j(e, n, i, t, r) {
|
||
var s, o, u, l, f = 1, c = e.precision, a = Math.ceil(c / m);
|
||
for(w = !1, l = i.times(i), u = new e(t);;){
|
||
if (o = S(u.times(l), new e(n++ * n++), c, 1), u = r ? t.plus(o) : t.minus(o), t = S(o.times(l), new e(n++ * n++), c, 1), o = u.plus(t), o.d[a] !== void 0) {
|
||
for(s = a; o.d[s] === u.d[s] && s--;);
|
||
if (s == -1) break;
|
||
}
|
||
s = u, u = t, t = o, o = s, f++;
|
||
}
|
||
return w = !0, o.d.length = a + 1, o;
|
||
}
|
||
function fe(e, n) {
|
||
for(var i = e; --n;)i *= e;
|
||
return i;
|
||
}
|
||
function $e(e, n) {
|
||
var i, t = n.s < 0, r = L(e, e.precision, 1), s = r.times(.5);
|
||
if (n = n.abs(), n.lte(s)) return Z = t ? 4 : 1, n;
|
||
if (i = n.divToInt(r), i.isZero()) Z = t ? 3 : 2;
|
||
else {
|
||
if (n = n.minus(i.times(r)), n.lte(s)) return Z = Ae(i) ? t ? 2 : 3 : t ? 4 : 1, n;
|
||
Z = Ae(i) ? t ? 1 : 4 : t ? 3 : 2;
|
||
}
|
||
return n.minus(r).abs();
|
||
}
|
||
function ke(e, n, i, t) {
|
||
var r, s, o, u, l, f, c, a, d, g = e.constructor, v = i !== void 0;
|
||
if (v ? (_(i, 1, $), t === void 0 ? t = g.rounding : _(t, 0, 8)) : (i = g.precision, t = g.rounding), !e.isFinite()) c = Ve(e);
|
||
else {
|
||
for(c = F(e), o = c.indexOf("."), v ? (r = 2, n == 16 ? i = i * 4 - 3 : n == 8 && (i = i * 3 - 2)) : r = n, o >= 0 && (c = c.replace(".", ""), d = new g(1), d.e = c.length - o, d.d = ie(F(d), 10, r), d.e = d.d.length), a = ie(c, 10, r), s = l = a.length; a[--l] == 0;)a.pop();
|
||
if (!a[0]) c = v ? "0p+0" : "0";
|
||
else {
|
||
if (o < 0 ? s-- : (e = new g(e), e.d = a, e.e = s, e = S(e, d, i, t, 0, r), a = e.d, s = e.e, f = Te), o = a[i], u = r / 2, f = f || a[i + 1] !== void 0, f = t < 4 ? (o !== void 0 || f) && (t === 0 || t === (e.s < 0 ? 3 : 2)) : o > u || o === u && (t === 4 || f || t === 6 && a[i - 1] & 1 || t === (e.s < 0 ? 8 : 7)), a.length = i, f) for(; ++a[--i] > r - 1;)a[i] = 0, i || (++s, a.unshift(1));
|
||
for(l = a.length; !a[l - 1]; --l);
|
||
for(o = 0, c = ""; o < l; o++)c += we.charAt(a[o]);
|
||
if (v) {
|
||
if (l > 1) if (n == 16 || n == 8) {
|
||
for(o = n == 16 ? 4 : 3, --l; l % o; l++)c += "0";
|
||
for(a = ie(c, r, n), l = a.length; !a[l - 1]; --l);
|
||
for(o = 1, c = "1."; o < l; o++)c += we.charAt(a[o]);
|
||
} else c = c.charAt(0) + "." + c.slice(1);
|
||
c = c + (s < 0 ? "p" : "p+") + s;
|
||
} else if (s < 0) {
|
||
for(; ++s;)c = "0" + c;
|
||
c = "0." + c;
|
||
} else if (++s > l) for(s -= l; s--;)c += "0";
|
||
else s < l && (c = c.slice(0, s) + "." + c.slice(s));
|
||
}
|
||
c = (n == 16 ? "0x" : n == 2 ? "0b" : n == 8 ? "0o" : "") + c;
|
||
}
|
||
return e.s < 0 ? "-" + c : c;
|
||
}
|
||
function _e(e, n) {
|
||
if (e.length > n) return e.length = n, !0;
|
||
}
|
||
function fn(e) {
|
||
return new this(e).abs();
|
||
}
|
||
function ln(e) {
|
||
return new this(e).acos();
|
||
}
|
||
function cn(e) {
|
||
return new this(e).acosh();
|
||
}
|
||
function an(e, n) {
|
||
return new this(e).plus(n);
|
||
}
|
||
function dn(e) {
|
||
return new this(e).asin();
|
||
}
|
||
function hn(e) {
|
||
return new this(e).asinh();
|
||
}
|
||
function pn(e) {
|
||
return new this(e).atan();
|
||
}
|
||
function gn(e) {
|
||
return new this(e).atanh();
|
||
}
|
||
function mn(e, n) {
|
||
e = new this(e), n = new this(n);
|
||
var i, t = this.precision, r = this.rounding, s = t + 4;
|
||
return !e.s || !n.s ? i = new this(NaN) : !e.d && !n.d ? (i = L(this, s, 1).times(n.s > 0 ? .25 : .75), i.s = e.s) : !n.d || e.isZero() ? (i = n.s < 0 ? L(this, t, r) : new this(0), i.s = e.s) : !e.d || n.isZero() ? (i = L(this, s, 1).times(.5), i.s = e.s) : n.s < 0 ? (this.precision = s, this.rounding = 1, i = this.atan(S(e, n, s, 1)), n = L(this, s, 1), this.precision = t, this.rounding = r, i = e.s < 0 ? i.minus(n) : i.plus(n)) : i = this.atan(S(e, n, s, 1)), i;
|
||
}
|
||
function wn(e) {
|
||
return new this(e).cbrt();
|
||
}
|
||
function Nn(e) {
|
||
return p(e = new this(e), e.e + 1, 2);
|
||
}
|
||
function vn(e, n, i) {
|
||
return new this(e).clamp(n, i);
|
||
}
|
||
function En(e) {
|
||
if (!e || typeof e != "object") throw Error(oe + "Object expected");
|
||
var n, i, t, r = e.defaults === !0, s = [
|
||
"precision",
|
||
1,
|
||
$,
|
||
"rounding",
|
||
0,
|
||
8,
|
||
"toExpNeg",
|
||
-H,
|
||
0,
|
||
"toExpPos",
|
||
0,
|
||
H,
|
||
"maxE",
|
||
0,
|
||
H,
|
||
"minE",
|
||
-H,
|
||
0,
|
||
"modulo",
|
||
0,
|
||
9
|
||
];
|
||
for(n = 0; n < s.length; n += 3)if (i = s[n], r && (this[i] = Ne[i]), (t = e[i]) !== void 0) if (b(t) === t && t >= s[n + 1] && t <= s[n + 2]) this[i] = t;
|
||
else throw Error(V + i + ": " + t);
|
||
if (i = "crypto", r && (this[i] = Ne[i]), (t = e[i]) !== void 0) if (t === !0 || t === !1 || t === 0 || t === 1) if (t) if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes)) this[i] = !0;
|
||
else throw Error(De);
|
||
else this[i] = !1;
|
||
else throw Error(V + i + ": " + t);
|
||
return this;
|
||
}
|
||
function Sn(e) {
|
||
return new this(e).cos();
|
||
}
|
||
function kn(e) {
|
||
return new this(e).cosh();
|
||
}
|
||
function He(e) {
|
||
var n, i, t;
|
||
function r(s) {
|
||
var o, u, l, f = this;
|
||
if (!(f instanceof r)) return new r(s);
|
||
if (f.constructor = r, qe(s)) {
|
||
f.s = s.s, w ? !s.d || s.e > r.maxE ? (f.e = NaN, f.d = null) : s.e < r.minE ? (f.e = 0, f.d = [
|
||
0
|
||
]) : (f.e = s.e, f.d = s.d.slice()) : (f.e = s.e, f.d = s.d ? s.d.slice() : s.d);
|
||
return;
|
||
}
|
||
if (l = typeof s, l === "number") {
|
||
if (s === 0) {
|
||
f.s = 1 / s < 0 ? -1 : 1, f.e = 0, f.d = [
|
||
0
|
||
];
|
||
return;
|
||
}
|
||
if (s < 0 ? (s = -s, f.s = -1) : f.s = 1, s === ~~s && s < 1e7) {
|
||
for(o = 0, u = s; u >= 10; u /= 10)o++;
|
||
w ? o > r.maxE ? (f.e = NaN, f.d = null) : o < r.minE ? (f.e = 0, f.d = [
|
||
0
|
||
]) : (f.e = o, f.d = [
|
||
s
|
||
]) : (f.e = o, f.d = [
|
||
s
|
||
]);
|
||
return;
|
||
} else if (s * 0 !== 0) {
|
||
s || (f.s = NaN), f.e = NaN, f.d = null;
|
||
return;
|
||
}
|
||
return Se(f, s.toString());
|
||
} else if (l !== "string") throw Error(V + s);
|
||
return (u = s.charCodeAt(0)) === 45 ? (s = s.slice(1), f.s = -1) : (u === 43 && (s = s.slice(1)), f.s = 1), Ie.test(s) ? Se(f, s) : on(f, s);
|
||
}
|
||
if (r.prototype = h, r.ROUND_UP = 0, r.ROUND_DOWN = 1, r.ROUND_CEIL = 2, r.ROUND_FLOOR = 3, r.ROUND_HALF_UP = 4, r.ROUND_HALF_DOWN = 5, r.ROUND_HALF_EVEN = 6, r.ROUND_HALF_CEIL = 7, r.ROUND_HALF_FLOOR = 8, r.EUCLID = 9, r.config = r.set = En, r.clone = He, r.isDecimal = qe, r.abs = fn, r.acos = ln, r.acosh = cn, r.add = an, r.asin = dn, r.asinh = hn, r.atan = pn, r.atanh = gn, r.atan2 = mn, r.cbrt = wn, r.ceil = Nn, r.clamp = vn, r.cos = Sn, r.cosh = kn, r.div = Mn, r.exp = Cn, r.floor = On, r.hypot = Pn, r.ln = Rn, r.log = bn, r.log10 = _n, r.log2 = An, r.max = qn, r.min = Tn, r.mod = Ln, r.mul = Dn, r.pow = Fn, r.random = In, r.round = Zn, r.sign = Un, r.sin = Bn, r.sinh = Vn, r.sqrt = $n, r.sub = Hn, r.sum = jn, r.tan = Wn, r.tanh = Gn, r.trunc = Jn, e === void 0 && (e = {}), e && e.defaults !== !0) for(t = [
|
||
"precision",
|
||
"rounding",
|
||
"toExpNeg",
|
||
"toExpPos",
|
||
"maxE",
|
||
"minE",
|
||
"modulo",
|
||
"crypto"
|
||
], n = 0; n < t.length;)e.hasOwnProperty(i = t[n++]) || (e[i] = this[i]);
|
||
return r.config(e), r;
|
||
}
|
||
function Mn(e, n) {
|
||
return new this(e).div(n);
|
||
}
|
||
function Cn(e) {
|
||
return new this(e).exp();
|
||
}
|
||
function On(e) {
|
||
return p(e = new this(e), e.e + 1, 3);
|
||
}
|
||
function Pn() {
|
||
var e, n, i = new this(0);
|
||
for(w = !1, e = 0; e < arguments.length;)if (n = new this(arguments[e++]), n.d) i.d && (i = i.plus(n.times(n)));
|
||
else {
|
||
if (n.s) return w = !0, new this(1 / 0);
|
||
i = n;
|
||
}
|
||
return w = !0, i.sqrt();
|
||
}
|
||
function qe(e) {
|
||
return e instanceof Q || e && e.toStringTag === Fe || !1;
|
||
}
|
||
function Rn(e) {
|
||
return new this(e).ln();
|
||
}
|
||
function bn(e, n) {
|
||
return new this(e).log(n);
|
||
}
|
||
function An(e) {
|
||
return new this(e).log(2);
|
||
}
|
||
function _n(e) {
|
||
return new this(e).log(10);
|
||
}
|
||
function qn() {
|
||
return Be(this, arguments, "lt");
|
||
}
|
||
function Tn() {
|
||
return Be(this, arguments, "gt");
|
||
}
|
||
function Ln(e, n) {
|
||
return new this(e).mod(n);
|
||
}
|
||
function Dn(e, n) {
|
||
return new this(e).mul(n);
|
||
}
|
||
function Fn(e, n) {
|
||
return new this(e).pow(n);
|
||
}
|
||
function In(e) {
|
||
var n, i, t, r, s = 0, o = new this(1), u = [];
|
||
if (e === void 0 ? e = this.precision : _(e, 1, $), t = Math.ceil(e / m), this.crypto) if (crypto.getRandomValues) for(n = crypto.getRandomValues(new Uint32Array(t)); s < t;)r = n[s], r >= 429e7 ? n[s] = crypto.getRandomValues(new Uint32Array(1))[0] : u[s++] = r % 1e7;
|
||
else if (crypto.randomBytes) {
|
||
for(n = crypto.randomBytes(t *= 4); s < t;)r = n[s] + (n[s + 1] << 8) + (n[s + 2] << 16) + ((n[s + 3] & 127) << 24), r >= 214e7 ? crypto.randomBytes(4).copy(n, s) : (u.push(r % 1e7), s += 4);
|
||
s = t / 4;
|
||
} else throw Error(De);
|
||
else for(; s < t;)u[s++] = Math.random() * 1e7 | 0;
|
||
for(t = u[--s], e %= m, t && e && (r = C(10, m - e), u[s] = (t / r | 0) * r); u[s] === 0; s--)u.pop();
|
||
if (s < 0) i = 0, u = [
|
||
0
|
||
];
|
||
else {
|
||
for(i = -1; u[0] === 0; i -= m)u.shift();
|
||
for(t = 1, r = u[0]; r >= 10; r /= 10)t++;
|
||
t < m && (i -= m - t);
|
||
}
|
||
return o.e = i, o.d = u, o;
|
||
}
|
||
function Zn(e) {
|
||
return p(e = new this(e), e.e + 1, this.rounding);
|
||
}
|
||
function Un(e) {
|
||
return e = new this(e), e.d ? e.d[0] ? e.s : 0 * e.s : e.s || NaN;
|
||
}
|
||
function Bn(e) {
|
||
return new this(e).sin();
|
||
}
|
||
function Vn(e) {
|
||
return new this(e).sinh();
|
||
}
|
||
function $n(e) {
|
||
return new this(e).sqrt();
|
||
}
|
||
function Hn(e, n) {
|
||
return new this(e).sub(n);
|
||
}
|
||
function jn() {
|
||
var e = 0, n = arguments, i = new this(n[e]);
|
||
for(w = !1; i.s && ++e < n.length;)i = i.plus(n[e]);
|
||
return w = !0, p(i, this.precision, this.rounding);
|
||
}
|
||
function Wn(e) {
|
||
return new this(e).tan();
|
||
}
|
||
function Gn(e) {
|
||
return new this(e).tanh();
|
||
}
|
||
function Jn(e) {
|
||
return p(e = new this(e), e.e + 1, 1);
|
||
}
|
||
h[Symbol.for("nodejs.util.inspect.custom")] = h.toString;
|
||
h[Symbol.toStringTag] = "Decimal";
|
||
var Q = h.constructor = He(Ne);
|
||
te = new Q(te);
|
||
re = new Q(re);
|
||
var je = Q;
|
||
0 && (module.exports = {
|
||
Decimal,
|
||
Public,
|
||
getRuntime,
|
||
makeStrictEnum,
|
||
objectEnumValues
|
||
}); /*! Bundled license information:
|
||
|
||
decimal.js/decimal.mjs:
|
||
(*!
|
||
* decimal.js v10.4.3
|
||
* An arbitrary-precision Decimal type for JavaScript.
|
||
* https://github.com/MikeMcl/decimal.js
|
||
* Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
|
||
* MIT Licence
|
||
*)
|
||
*/ //# sourceMappingURL=index-browser.js.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@prisma+client@5.22.0_prisma@5.22.0/node_modules/.prisma/client/index-browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
|
||
Object.defineProperty(exports, "__esModule", {
|
||
value: true
|
||
});
|
||
const { Decimal, objectEnumValues, makeStrictEnum, Public, getRuntime, skip } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@prisma+client@5.22.0_prisma@5.22.0/node_modules/@prisma/client/runtime/index-browser.js [app-client] (ecmascript)");
|
||
const Prisma = {};
|
||
exports.Prisma = Prisma;
|
||
exports.$Enums = {};
|
||
/**
|
||
* Prisma Client JS version: 5.22.0
|
||
* Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2
|
||
*/ Prisma.prismaVersion = {
|
||
client: "5.22.0",
|
||
engine: "605197351a3c8bdd595af2d2a9bc3025bca48ea2"
|
||
};
|
||
Prisma.PrismaClientKnownRequestError = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.PrismaClientUnknownRequestError = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.PrismaClientRustPanicError = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.PrismaClientInitializationError = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.PrismaClientValidationError = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.NotFoundError = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.Decimal = Decimal;
|
||
/**
|
||
* Re-export of sql-template-tag
|
||
*/ Prisma.sql = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.empty = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.join = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.raw = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.validator = Public.validator;
|
||
/**
|
||
* Extensions
|
||
*/ Prisma.getExtensionContext = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
Prisma.defineExtension = ()=>{
|
||
const runtimeName = getRuntime().prettyName;
|
||
throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
||
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`);
|
||
};
|
||
/**
|
||
* Shorthand utilities for JSON filtering
|
||
*/ Prisma.DbNull = objectEnumValues.instances.DbNull;
|
||
Prisma.JsonNull = objectEnumValues.instances.JsonNull;
|
||
Prisma.AnyNull = objectEnumValues.instances.AnyNull;
|
||
Prisma.NullTypes = {
|
||
DbNull: objectEnumValues.classes.DbNull,
|
||
JsonNull: objectEnumValues.classes.JsonNull,
|
||
AnyNull: objectEnumValues.classes.AnyNull
|
||
};
|
||
/**
|
||
* Enums
|
||
*/ exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
|
||
ReadUncommitted: 'ReadUncommitted',
|
||
ReadCommitted: 'ReadCommitted',
|
||
RepeatableRead: 'RepeatableRead',
|
||
Serializable: 'Serializable'
|
||
});
|
||
exports.Prisma.UserScalarFieldEnum = {
|
||
id: 'id',
|
||
email: 'email',
|
||
name: 'name',
|
||
password: 'password',
|
||
avatar: 'avatar',
|
||
createdAt: 'createdAt',
|
||
updatedAt: 'updatedAt'
|
||
};
|
||
exports.Prisma.FamilyTreeScalarFieldEnum = {
|
||
id: 'id',
|
||
name: 'name',
|
||
description: 'description',
|
||
rootMemberId: 'rootMemberId',
|
||
ownerId: 'ownerId',
|
||
createdAt: 'createdAt',
|
||
updatedAt: 'updatedAt'
|
||
};
|
||
exports.Prisma.TreeCollaboratorScalarFieldEnum = {
|
||
id: 'id',
|
||
treeId: 'treeId',
|
||
userId: 'userId',
|
||
role: 'role',
|
||
invitedBy: 'invitedBy',
|
||
invitedAt: 'invitedAt'
|
||
};
|
||
exports.Prisma.FamilyMemberScalarFieldEnum = {
|
||
id: 'id',
|
||
treeId: 'treeId',
|
||
surname: 'surname',
|
||
givenName: 'givenName',
|
||
fullName: 'fullName',
|
||
gender: 'gender',
|
||
generation: 'generation',
|
||
generationName: 'generationName',
|
||
courtesyName: 'courtesyName',
|
||
artName: 'artName',
|
||
posthumousName: 'posthumousName',
|
||
rank: 'rank',
|
||
isFounder: 'isFounder',
|
||
birthDate: 'birthDate',
|
||
deathDate: 'deathDate',
|
||
isLunarDate: 'isLunarDate',
|
||
ancestralHome: 'ancestralHome',
|
||
birthPlace: 'birthPlace',
|
||
burialPlace: 'burialPlace',
|
||
phone: 'phone',
|
||
telephone: 'telephone',
|
||
email: 'email',
|
||
address: 'address',
|
||
fatherId: 'fatherId',
|
||
motherId: 'motherId',
|
||
spouseIds: 'spouseIds',
|
||
childrenIds: 'childrenIds',
|
||
spouseFatherName: 'spouseFatherName',
|
||
spouseMotherName: 'spouseMotherName',
|
||
bio: 'bio',
|
||
tags: 'tags',
|
||
avatarUrl: 'avatarUrl',
|
||
avatarImageId: 'avatarImageId',
|
||
photoIds: 'photoIds',
|
||
createdAt: 'createdAt',
|
||
updatedAt: 'updatedAt'
|
||
};
|
||
exports.Prisma.ActivityLogScalarFieldEnum = {
|
||
id: 'id',
|
||
treeId: 'treeId',
|
||
userId: 'userId',
|
||
action: 'action',
|
||
entityType: 'entityType',
|
||
entityId: 'entityId',
|
||
entityName: 'entityName',
|
||
changes: 'changes',
|
||
timestamp: 'timestamp'
|
||
};
|
||
exports.Prisma.SortOrder = {
|
||
asc: 'asc',
|
||
desc: 'desc'
|
||
};
|
||
exports.Prisma.NullableJsonNullValueInput = {
|
||
DbNull: Prisma.DbNull,
|
||
JsonNull: Prisma.JsonNull
|
||
};
|
||
exports.Prisma.QueryMode = {
|
||
default: 'default',
|
||
insensitive: 'insensitive'
|
||
};
|
||
exports.Prisma.NullsOrder = {
|
||
first: 'first',
|
||
last: 'last'
|
||
};
|
||
exports.Prisma.JsonNullValueFilter = {
|
||
DbNull: Prisma.DbNull,
|
||
JsonNull: Prisma.JsonNull,
|
||
AnyNull: Prisma.AnyNull
|
||
};
|
||
exports.Role = exports.$Enums.Role = {
|
||
OWNER: 'OWNER',
|
||
EDITOR: 'EDITOR',
|
||
VIEWER: 'VIEWER'
|
||
};
|
||
exports.Gender = exports.$Enums.Gender = {
|
||
MALE: 'MALE',
|
||
FEMALE: 'FEMALE'
|
||
};
|
||
exports.Action = exports.$Enums.Action = {
|
||
CREATE: 'CREATE',
|
||
UPDATE: 'UPDATE',
|
||
DELETE: 'DELETE',
|
||
IMPORT: 'IMPORT',
|
||
EXPORT: 'EXPORT'
|
||
};
|
||
exports.EntityType = exports.$Enums.EntityType = {
|
||
MEMBER: 'MEMBER',
|
||
PHOTO: 'PHOTO',
|
||
STORY: 'STORY',
|
||
SETTINGS: 'SETTINGS'
|
||
};
|
||
exports.Prisma.ModelName = {
|
||
User: 'User',
|
||
FamilyTree: 'FamilyTree',
|
||
TreeCollaborator: 'TreeCollaborator',
|
||
FamilyMember: 'FamilyMember',
|
||
ActivityLog: 'ActivityLog'
|
||
};
|
||
/**
|
||
* This is a stub Prisma Client that will error at runtime if called.
|
||
*/ class PrismaClient {
|
||
constructor(){
|
||
return new Proxy(this, {
|
||
get (target, prop) {
|
||
let message;
|
||
const runtime = getRuntime();
|
||
if (runtime.isEdge) {
|
||
message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either:
|
||
- Use Prisma Accelerate: https://pris.ly/d/accelerate
|
||
- Use Driver Adapters: https://pris.ly/d/driver-adapters
|
||
`;
|
||
} else {
|
||
message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).';
|
||
}
|
||
message += `
|
||
If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report`;
|
||
throw new Error(message);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
exports.PrismaClient = PrismaClient;
|
||
Object.assign(exports, Prisma);
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@prisma+client@5.22.0_prisma@5.22.0/node_modules/@prisma/client/index-browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
|
||
const prisma = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@prisma+client@5.22.0_prisma@5.22.0/node_modules/.prisma/client/index-browser.js [app-client] (ecmascript)");
|
||
module.exports = prisma;
|
||
}),
|
||
"[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/filter.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>Filter
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const Filter = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Filter", [
|
||
[
|
||
"polygon",
|
||
{
|
||
points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",
|
||
key: "1yg77f"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=filter.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/filter.js [app-client] (ecmascript) <export default as Filter>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Filter",
|
||
()=>__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$filter$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$filter$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/filter.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/dexie@4.2.1/node_modules/dexie/dist/dexie.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||
|
||
/*
|
||
* Dexie.js - a minimalistic wrapper for IndexedDB
|
||
* ===============================================
|
||
*
|
||
* By David Fahlander, david.fahlander@gmail.com
|
||
*
|
||
* Version 4.2.1, Sat Oct 04 2025
|
||
*
|
||
* https://dexie.org
|
||
*
|
||
* Apache License Version 2.0, January 2004, http://www.apache.org/licenses/
|
||
*/ (function(global, factory) {
|
||
("TURBOPACK compile-time truthy", 1) ? module.exports = factory() : "TURBOPACK unreachable";
|
||
})(/*TURBOPACK member replacement*/ __turbopack_context__.e, function() {
|
||
'use strict';
|
||
/*! *****************************************************************************
|
||
Copyright (c) Microsoft Corporation.
|
||
Permission to use, copy, modify, and/or distribute this software for any
|
||
purpose with or without fee is hereby granted.
|
||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||
PERFORMANCE OF THIS SOFTWARE.
|
||
***************************************************************************** */ var extendStatics = function(d, b) {
|
||
extendStatics = Object.setPrototypeOf || ({
|
||
__proto__: []
|
||
}) instanceof Array && function(d, b) {
|
||
d.__proto__ = b;
|
||
} || function(d, b) {
|
||
for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
||
};
|
||
return extendStatics(d, b);
|
||
};
|
||
function __extends(d, b) {
|
||
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||
extendStatics(d, b);
|
||
function __() {
|
||
this.constructor = d;
|
||
}
|
||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||
}
|
||
var __assign = function() {
|
||
__assign = Object.assign || function __assign(t) {
|
||
for(var s, i = 1, n = arguments.length; i < n; i++){
|
||
s = arguments[i];
|
||
for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
||
}
|
||
return t;
|
||
};
|
||
return __assign.apply(this, arguments);
|
||
};
|
||
function __spreadArray(to, from, pack) {
|
||
if (pack || arguments.length === 2) for(var i = 0, l = from.length, ar; i < l; i++){
|
||
if (ar || !(i in from)) {
|
||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||
ar[i] = from[i];
|
||
}
|
||
}
|
||
return to.concat(ar || Array.prototype.slice.call(from));
|
||
}
|
||
var _global = typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : /*TURBOPACK member replacement*/ __turbopack_context__.g;
|
||
var keys = Object.keys;
|
||
var isArray = Array.isArray;
|
||
if (typeof Promise !== 'undefined' && !_global.Promise) {
|
||
_global.Promise = Promise;
|
||
}
|
||
function extend(obj, extension) {
|
||
if (typeof extension !== 'object') return obj;
|
||
keys(extension).forEach(function(key) {
|
||
obj[key] = extension[key];
|
||
});
|
||
return obj;
|
||
}
|
||
var getProto = Object.getPrototypeOf;
|
||
var _hasOwn = {}.hasOwnProperty;
|
||
function hasOwn(obj, prop) {
|
||
return _hasOwn.call(obj, prop);
|
||
}
|
||
function props(proto, extension) {
|
||
if (typeof extension === 'function') extension = extension(getProto(proto));
|
||
(typeof Reflect === "undefined" ? keys : Reflect.ownKeys)(extension).forEach(function(key) {
|
||
setProp(proto, key, extension[key]);
|
||
});
|
||
}
|
||
var defineProperty = Object.defineProperty;
|
||
function setProp(obj, prop, functionOrGetSet, options) {
|
||
defineProperty(obj, prop, extend(functionOrGetSet && hasOwn(functionOrGetSet, "get") && typeof functionOrGetSet.get === 'function' ? {
|
||
get: functionOrGetSet.get,
|
||
set: functionOrGetSet.set,
|
||
configurable: true
|
||
} : {
|
||
value: functionOrGetSet,
|
||
configurable: true,
|
||
writable: true
|
||
}, options));
|
||
}
|
||
function derive(Child) {
|
||
return {
|
||
from: function(Parent) {
|
||
Child.prototype = Object.create(Parent.prototype);
|
||
setProp(Child.prototype, "constructor", Child);
|
||
return {
|
||
extend: props.bind(null, Child.prototype)
|
||
};
|
||
}
|
||
};
|
||
}
|
||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
function getPropertyDescriptor(obj, prop) {
|
||
var pd = getOwnPropertyDescriptor(obj, prop);
|
||
var proto;
|
||
return pd || (proto = getProto(obj)) && getPropertyDescriptor(proto, prop);
|
||
}
|
||
var _slice = [].slice;
|
||
function slice(args, start, end) {
|
||
return _slice.call(args, start, end);
|
||
}
|
||
function override(origFunc, overridedFactory) {
|
||
return overridedFactory(origFunc);
|
||
}
|
||
function assert(b) {
|
||
if (!b) throw new Error("Assertion Failed");
|
||
}
|
||
function asap$1(fn) {
|
||
if (_global.setImmediate) setImmediate(fn);
|
||
else setTimeout(fn, 0);
|
||
}
|
||
function arrayToObject(array, extractor) {
|
||
return array.reduce(function(result, item, i) {
|
||
var nameAndValue = extractor(item, i);
|
||
if (nameAndValue) result[nameAndValue[0]] = nameAndValue[1];
|
||
return result;
|
||
}, {});
|
||
}
|
||
function getByKeyPath(obj, keyPath) {
|
||
if (typeof keyPath === 'string' && hasOwn(obj, keyPath)) return obj[keyPath];
|
||
if (!keyPath) return obj;
|
||
if (typeof keyPath !== 'string') {
|
||
var rv = [];
|
||
for(var i = 0, l = keyPath.length; i < l; ++i){
|
||
var val = getByKeyPath(obj, keyPath[i]);
|
||
rv.push(val);
|
||
}
|
||
return rv;
|
||
}
|
||
var period = keyPath.indexOf('.');
|
||
if (period !== -1) {
|
||
var innerObj = obj[keyPath.substr(0, period)];
|
||
return innerObj == null ? undefined : getByKeyPath(innerObj, keyPath.substr(period + 1));
|
||
}
|
||
return undefined;
|
||
}
|
||
function setByKeyPath(obj, keyPath, value) {
|
||
if (!obj || keyPath === undefined) return;
|
||
if ('isFrozen' in Object && Object.isFrozen(obj)) return;
|
||
if (typeof keyPath !== 'string' && 'length' in keyPath) {
|
||
assert(typeof value !== 'string' && 'length' in value);
|
||
for(var i = 0, l = keyPath.length; i < l; ++i){
|
||
setByKeyPath(obj, keyPath[i], value[i]);
|
||
}
|
||
} else {
|
||
var period = keyPath.indexOf('.');
|
||
if (period !== -1) {
|
||
var currentKeyPath = keyPath.substr(0, period);
|
||
var remainingKeyPath = keyPath.substr(period + 1);
|
||
if (remainingKeyPath === "") if (value === undefined) {
|
||
if (isArray(obj) && !isNaN(parseInt(currentKeyPath))) obj.splice(currentKeyPath, 1);
|
||
else delete obj[currentKeyPath];
|
||
} else obj[currentKeyPath] = value;
|
||
else {
|
||
var innerObj = obj[currentKeyPath];
|
||
if (!innerObj || !hasOwn(obj, currentKeyPath)) innerObj = obj[currentKeyPath] = {};
|
||
setByKeyPath(innerObj, remainingKeyPath, value);
|
||
}
|
||
} else {
|
||
if (value === undefined) {
|
||
if (isArray(obj) && !isNaN(parseInt(keyPath))) obj.splice(keyPath, 1);
|
||
else delete obj[keyPath];
|
||
} else obj[keyPath] = value;
|
||
}
|
||
}
|
||
}
|
||
function delByKeyPath(obj, keyPath) {
|
||
if (typeof keyPath === 'string') setByKeyPath(obj, keyPath, undefined);
|
||
else if ('length' in keyPath) [].map.call(keyPath, function(kp) {
|
||
setByKeyPath(obj, kp, undefined);
|
||
});
|
||
}
|
||
function shallowClone(obj) {
|
||
var rv = {};
|
||
for(var m in obj){
|
||
if (hasOwn(obj, m)) rv[m] = obj[m];
|
||
}
|
||
return rv;
|
||
}
|
||
var concat = [].concat;
|
||
function flatten(a) {
|
||
return concat.apply([], a);
|
||
}
|
||
var intrinsicTypeNames = "BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(',').concat(flatten([
|
||
8,
|
||
16,
|
||
32,
|
||
64
|
||
].map(function(num) {
|
||
return [
|
||
"Int",
|
||
"Uint",
|
||
"Float"
|
||
].map(function(t) {
|
||
return t + num + "Array";
|
||
});
|
||
}))).filter(function(t) {
|
||
return _global[t];
|
||
});
|
||
var intrinsicTypes = new Set(intrinsicTypeNames.map(function(t) {
|
||
return _global[t];
|
||
}));
|
||
function cloneSimpleObjectTree(o) {
|
||
var rv = {};
|
||
for(var k in o)if (hasOwn(o, k)) {
|
||
var v = o[k];
|
||
rv[k] = !v || typeof v !== 'object' || intrinsicTypes.has(v.constructor) ? v : cloneSimpleObjectTree(v);
|
||
}
|
||
return rv;
|
||
}
|
||
function objectIsEmpty(o) {
|
||
for(var k in o)if (hasOwn(o, k)) return false;
|
||
return true;
|
||
}
|
||
var circularRefs = null;
|
||
function deepClone(any) {
|
||
circularRefs = new WeakMap();
|
||
var rv = innerDeepClone(any);
|
||
circularRefs = null;
|
||
return rv;
|
||
}
|
||
function innerDeepClone(x) {
|
||
if (!x || typeof x !== 'object') return x;
|
||
var rv = circularRefs.get(x);
|
||
if (rv) return rv;
|
||
if (isArray(x)) {
|
||
rv = [];
|
||
circularRefs.set(x, rv);
|
||
for(var i = 0, l = x.length; i < l; ++i){
|
||
rv.push(innerDeepClone(x[i]));
|
||
}
|
||
} else if (intrinsicTypes.has(x.constructor)) {
|
||
rv = x;
|
||
} else {
|
||
var proto = getProto(x);
|
||
rv = proto === Object.prototype ? {} : Object.create(proto);
|
||
circularRefs.set(x, rv);
|
||
for(var prop in x){
|
||
if (hasOwn(x, prop)) {
|
||
rv[prop] = innerDeepClone(x[prop]);
|
||
}
|
||
}
|
||
}
|
||
return rv;
|
||
}
|
||
var toString = {}.toString;
|
||
function toStringTag(o) {
|
||
return toString.call(o).slice(8, -1);
|
||
}
|
||
var iteratorSymbol = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';
|
||
var getIteratorOf = typeof iteratorSymbol === "symbol" ? function(x) {
|
||
var i;
|
||
return x != null && (i = x[iteratorSymbol]) && i.apply(x);
|
||
} : function() {
|
||
return null;
|
||
};
|
||
function delArrayItem(a, x) {
|
||
var i = a.indexOf(x);
|
||
if (i >= 0) a.splice(i, 1);
|
||
return i >= 0;
|
||
}
|
||
var NO_CHAR_ARRAY = {};
|
||
function getArrayOf(arrayLike) {
|
||
var i, a, x, it;
|
||
if (arguments.length === 1) {
|
||
if (isArray(arrayLike)) return arrayLike.slice();
|
||
if (this === NO_CHAR_ARRAY && typeof arrayLike === 'string') return [
|
||
arrayLike
|
||
];
|
||
if (it = getIteratorOf(arrayLike)) {
|
||
a = [];
|
||
while(x = it.next(), !x.done)a.push(x.value);
|
||
return a;
|
||
}
|
||
if (arrayLike == null) return [
|
||
arrayLike
|
||
];
|
||
i = arrayLike.length;
|
||
if (typeof i === 'number') {
|
||
a = new Array(i);
|
||
while(i--)a[i] = arrayLike[i];
|
||
return a;
|
||
}
|
||
return [
|
||
arrayLike
|
||
];
|
||
}
|
||
i = arguments.length;
|
||
a = new Array(i);
|
||
while(i--)a[i] = arguments[i];
|
||
return a;
|
||
}
|
||
var isAsyncFunction = typeof Symbol !== 'undefined' ? function(fn) {
|
||
return fn[Symbol.toStringTag] === 'AsyncFunction';
|
||
} : function() {
|
||
return false;
|
||
};
|
||
var dexieErrorNames = [
|
||
'Modify',
|
||
'Bulk',
|
||
'OpenFailed',
|
||
'VersionChange',
|
||
'Schema',
|
||
'Upgrade',
|
||
'InvalidTable',
|
||
'MissingAPI',
|
||
'NoSuchDatabase',
|
||
'InvalidArgument',
|
||
'SubTransaction',
|
||
'Unsupported',
|
||
'Internal',
|
||
'DatabaseClosed',
|
||
'PrematureCommit',
|
||
'ForeignAwait'
|
||
];
|
||
var idbDomErrorNames = [
|
||
'Unknown',
|
||
'Constraint',
|
||
'Data',
|
||
'TransactionInactive',
|
||
'ReadOnly',
|
||
'Version',
|
||
'NotFound',
|
||
'InvalidState',
|
||
'InvalidAccess',
|
||
'Abort',
|
||
'Timeout',
|
||
'QuotaExceeded',
|
||
'Syntax',
|
||
'DataClone'
|
||
];
|
||
var errorList = dexieErrorNames.concat(idbDomErrorNames);
|
||
var defaultTexts = {
|
||
VersionChanged: "Database version changed by other database connection",
|
||
DatabaseClosed: "Database has been closed",
|
||
Abort: "Transaction aborted",
|
||
TransactionInactive: "Transaction has already completed or failed",
|
||
MissingAPI: "IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"
|
||
};
|
||
function DexieError(name, msg) {
|
||
this.name = name;
|
||
this.message = msg;
|
||
}
|
||
derive(DexieError).from(Error).extend({
|
||
toString: function() {
|
||
return this.name + ": " + this.message;
|
||
}
|
||
});
|
||
function getMultiErrorMessage(msg, failures) {
|
||
return msg + ". Errors: " + Object.keys(failures).map(function(key) {
|
||
return failures[key].toString();
|
||
}).filter(function(v, i, s) {
|
||
return s.indexOf(v) === i;
|
||
}).join('\n');
|
||
}
|
||
function ModifyError(msg, failures, successCount, failedKeys) {
|
||
this.failures = failures;
|
||
this.failedKeys = failedKeys;
|
||
this.successCount = successCount;
|
||
this.message = getMultiErrorMessage(msg, failures);
|
||
}
|
||
derive(ModifyError).from(DexieError);
|
||
function BulkError(msg, failures) {
|
||
this.name = "BulkError";
|
||
this.failures = Object.keys(failures).map(function(pos) {
|
||
return failures[pos];
|
||
});
|
||
this.failuresByPos = failures;
|
||
this.message = getMultiErrorMessage(msg, this.failures);
|
||
}
|
||
derive(BulkError).from(DexieError);
|
||
var errnames = errorList.reduce(function(obj, name) {
|
||
return obj[name] = name + "Error", obj;
|
||
}, {});
|
||
var BaseException = DexieError;
|
||
var exceptions = errorList.reduce(function(obj, name) {
|
||
var fullName = name + "Error";
|
||
function DexieError(msgOrInner, inner) {
|
||
this.name = fullName;
|
||
if (!msgOrInner) {
|
||
this.message = defaultTexts[name] || fullName;
|
||
this.inner = null;
|
||
} else if (typeof msgOrInner === 'string') {
|
||
this.message = "".concat(msgOrInner).concat(!inner ? '' : '\n ' + inner);
|
||
this.inner = inner || null;
|
||
} else if (typeof msgOrInner === 'object') {
|
||
this.message = "".concat(msgOrInner.name, " ").concat(msgOrInner.message);
|
||
this.inner = msgOrInner;
|
||
}
|
||
}
|
||
derive(DexieError).from(BaseException);
|
||
obj[name] = DexieError;
|
||
return obj;
|
||
}, {});
|
||
exceptions.Syntax = SyntaxError;
|
||
exceptions.Type = TypeError;
|
||
exceptions.Range = RangeError;
|
||
var exceptionMap = idbDomErrorNames.reduce(function(obj, name) {
|
||
obj[name + "Error"] = exceptions[name];
|
||
return obj;
|
||
}, {});
|
||
function mapError(domError, message) {
|
||
if (!domError || domError instanceof DexieError || domError instanceof TypeError || domError instanceof SyntaxError || !domError.name || !exceptionMap[domError.name]) return domError;
|
||
var rv = new exceptionMap[domError.name](message || domError.message, domError);
|
||
if ("stack" in domError) {
|
||
setProp(rv, "stack", {
|
||
get: function() {
|
||
return this.inner.stack;
|
||
}
|
||
});
|
||
}
|
||
return rv;
|
||
}
|
||
var fullNameExceptions = errorList.reduce(function(obj, name) {
|
||
if ([
|
||
"Syntax",
|
||
"Type",
|
||
"Range"
|
||
].indexOf(name) === -1) obj[name + "Error"] = exceptions[name];
|
||
return obj;
|
||
}, {});
|
||
fullNameExceptions.ModifyError = ModifyError;
|
||
fullNameExceptions.DexieError = DexieError;
|
||
fullNameExceptions.BulkError = BulkError;
|
||
function nop() {}
|
||
function mirror(val) {
|
||
return val;
|
||
}
|
||
function pureFunctionChain(f1, f2) {
|
||
if (f1 == null || f1 === mirror) return f2;
|
||
return function(val) {
|
||
return f2(f1(val));
|
||
};
|
||
}
|
||
function callBoth(on1, on2) {
|
||
return function() {
|
||
on1.apply(this, arguments);
|
||
on2.apply(this, arguments);
|
||
};
|
||
}
|
||
function hookCreatingChain(f1, f2) {
|
||
if (f1 === nop) return f2;
|
||
return function() {
|
||
var res = f1.apply(this, arguments);
|
||
if (res !== undefined) arguments[0] = res;
|
||
var onsuccess = this.onsuccess, onerror = this.onerror;
|
||
this.onsuccess = null;
|
||
this.onerror = null;
|
||
var res2 = f2.apply(this, arguments);
|
||
if (onsuccess) this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;
|
||
if (onerror) this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;
|
||
return res2 !== undefined ? res2 : res;
|
||
};
|
||
}
|
||
function hookDeletingChain(f1, f2) {
|
||
if (f1 === nop) return f2;
|
||
return function() {
|
||
f1.apply(this, arguments);
|
||
var onsuccess = this.onsuccess, onerror = this.onerror;
|
||
this.onsuccess = this.onerror = null;
|
||
f2.apply(this, arguments);
|
||
if (onsuccess) this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;
|
||
if (onerror) this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;
|
||
};
|
||
}
|
||
function hookUpdatingChain(f1, f2) {
|
||
if (f1 === nop) return f2;
|
||
return function(modifications) {
|
||
var res = f1.apply(this, arguments);
|
||
extend(modifications, res);
|
||
var onsuccess = this.onsuccess, onerror = this.onerror;
|
||
this.onsuccess = null;
|
||
this.onerror = null;
|
||
var res2 = f2.apply(this, arguments);
|
||
if (onsuccess) this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;
|
||
if (onerror) this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;
|
||
return res === undefined ? res2 === undefined ? undefined : res2 : extend(res, res2);
|
||
};
|
||
}
|
||
function reverseStoppableEventChain(f1, f2) {
|
||
if (f1 === nop) return f2;
|
||
return function() {
|
||
if (f2.apply(this, arguments) === false) return false;
|
||
return f1.apply(this, arguments);
|
||
};
|
||
}
|
||
function promisableChain(f1, f2) {
|
||
if (f1 === nop) return f2;
|
||
return function() {
|
||
var res = f1.apply(this, arguments);
|
||
if (res && typeof res.then === 'function') {
|
||
var thiz = this, i = arguments.length, args = new Array(i);
|
||
while(i--)args[i] = arguments[i];
|
||
return res.then(function() {
|
||
return f2.apply(thiz, args);
|
||
});
|
||
}
|
||
return f2.apply(this, arguments);
|
||
};
|
||
}
|
||
var debug = typeof location !== 'undefined' && /^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);
|
||
function setDebug(value, filter) {
|
||
debug = value;
|
||
}
|
||
var INTERNAL = {};
|
||
var ZONE_ECHO_LIMIT = 100, _a$1 = typeof Promise === 'undefined' ? [] : function() {
|
||
var globalP = Promise.resolve();
|
||
if (typeof crypto === 'undefined' || !crypto.subtle) return [
|
||
globalP,
|
||
getProto(globalP),
|
||
globalP
|
||
];
|
||
var nativeP = crypto.subtle.digest("SHA-512", new Uint8Array([
|
||
0
|
||
]));
|
||
return [
|
||
nativeP,
|
||
getProto(nativeP),
|
||
globalP
|
||
];
|
||
}(), resolvedNativePromise = _a$1[0], nativePromiseProto = _a$1[1], resolvedGlobalPromise = _a$1[2], nativePromiseThen = nativePromiseProto && nativePromiseProto.then;
|
||
var NativePromise = resolvedNativePromise && resolvedNativePromise.constructor;
|
||
var patchGlobalPromise = !!resolvedGlobalPromise;
|
||
function schedulePhysicalTick() {
|
||
queueMicrotask(physicalTick);
|
||
}
|
||
var asap = function(callback, args) {
|
||
microtickQueue.push([
|
||
callback,
|
||
args
|
||
]);
|
||
if (needsNewPhysicalTick) {
|
||
schedulePhysicalTick();
|
||
needsNewPhysicalTick = false;
|
||
}
|
||
};
|
||
var isOutsideMicroTick = true, needsNewPhysicalTick = true, unhandledErrors = [], rejectingErrors = [], rejectionMapper = mirror;
|
||
var globalPSD = {
|
||
id: 'global',
|
||
global: true,
|
||
ref: 0,
|
||
unhandleds: [],
|
||
onunhandled: nop,
|
||
pgp: false,
|
||
env: {},
|
||
finalize: nop
|
||
};
|
||
var PSD = globalPSD;
|
||
var microtickQueue = [];
|
||
var numScheduledCalls = 0;
|
||
var tickFinalizers = [];
|
||
function DexiePromise(fn) {
|
||
if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new');
|
||
this._listeners = [];
|
||
this._lib = false;
|
||
var psd = this._PSD = PSD;
|
||
if (typeof fn !== 'function') {
|
||
if (fn !== INTERNAL) throw new TypeError('Not a function');
|
||
this._state = arguments[1];
|
||
this._value = arguments[2];
|
||
if (this._state === false) handleRejection(this, this._value);
|
||
return;
|
||
}
|
||
this._state = null;
|
||
this._value = null;
|
||
++psd.ref;
|
||
executePromiseTask(this, fn);
|
||
}
|
||
var thenProp = {
|
||
get: function() {
|
||
var psd = PSD, microTaskId = totalEchoes;
|
||
function then(onFulfilled, onRejected) {
|
||
var _this = this;
|
||
var possibleAwait = !psd.global && (psd !== PSD || microTaskId !== totalEchoes);
|
||
var cleanup = possibleAwait && !decrementExpectedAwaits();
|
||
var rv = new DexiePromise(function(resolve, reject) {
|
||
propagateToListener(_this, new Listener(nativeAwaitCompatibleWrap(onFulfilled, psd, possibleAwait, cleanup), nativeAwaitCompatibleWrap(onRejected, psd, possibleAwait, cleanup), resolve, reject, psd));
|
||
});
|
||
if (this._consoleTask) rv._consoleTask = this._consoleTask;
|
||
return rv;
|
||
}
|
||
then.prototype = INTERNAL;
|
||
return then;
|
||
},
|
||
set: function(value) {
|
||
setProp(this, 'then', value && value.prototype === INTERNAL ? thenProp : {
|
||
get: function() {
|
||
return value;
|
||
},
|
||
set: thenProp.set
|
||
});
|
||
}
|
||
};
|
||
props(DexiePromise.prototype, {
|
||
then: thenProp,
|
||
_then: function(onFulfilled, onRejected) {
|
||
propagateToListener(this, new Listener(null, null, onFulfilled, onRejected, PSD));
|
||
},
|
||
catch: function(onRejected) {
|
||
if (arguments.length === 1) return this.then(null, onRejected);
|
||
var type = arguments[0], handler = arguments[1];
|
||
return typeof type === 'function' ? this.then(null, function(err) {
|
||
return err instanceof type ? handler(err) : PromiseReject(err);
|
||
}) : this.then(null, function(err) {
|
||
return err && err.name === type ? handler(err) : PromiseReject(err);
|
||
});
|
||
},
|
||
finally: function(onFinally) {
|
||
return this.then(function(value) {
|
||
return DexiePromise.resolve(onFinally()).then(function() {
|
||
return value;
|
||
});
|
||
}, function(err) {
|
||
return DexiePromise.resolve(onFinally()).then(function() {
|
||
return PromiseReject(err);
|
||
});
|
||
});
|
||
},
|
||
timeout: function(ms, msg) {
|
||
var _this = this;
|
||
return ms < Infinity ? new DexiePromise(function(resolve, reject) {
|
||
var handle = setTimeout(function() {
|
||
return reject(new exceptions.Timeout(msg));
|
||
}, ms);
|
||
_this.then(resolve, reject).finally(clearTimeout.bind(null, handle));
|
||
}) : this;
|
||
}
|
||
});
|
||
if (typeof Symbol !== 'undefined' && Symbol.toStringTag) setProp(DexiePromise.prototype, Symbol.toStringTag, 'Dexie.Promise');
|
||
globalPSD.env = snapShot();
|
||
function Listener(onFulfilled, onRejected, resolve, reject, zone) {
|
||
this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
|
||
this.onRejected = typeof onRejected === 'function' ? onRejected : null;
|
||
this.resolve = resolve;
|
||
this.reject = reject;
|
||
this.psd = zone;
|
||
}
|
||
props(DexiePromise, {
|
||
all: function() {
|
||
var values = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);
|
||
return new DexiePromise(function(resolve, reject) {
|
||
if (values.length === 0) resolve([]);
|
||
var remaining = values.length;
|
||
values.forEach(function(a, i) {
|
||
return DexiePromise.resolve(a).then(function(x) {
|
||
values[i] = x;
|
||
if (!--remaining) resolve(values);
|
||
}, reject);
|
||
});
|
||
});
|
||
},
|
||
resolve: function(value) {
|
||
if (value instanceof DexiePromise) return value;
|
||
if (value && typeof value.then === 'function') return new DexiePromise(function(resolve, reject) {
|
||
value.then(resolve, reject);
|
||
});
|
||
var rv = new DexiePromise(INTERNAL, true, value);
|
||
return rv;
|
||
},
|
||
reject: PromiseReject,
|
||
race: function() {
|
||
var values = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);
|
||
return new DexiePromise(function(resolve, reject) {
|
||
values.map(function(value) {
|
||
return DexiePromise.resolve(value).then(resolve, reject);
|
||
});
|
||
});
|
||
},
|
||
PSD: {
|
||
get: function() {
|
||
return PSD;
|
||
},
|
||
set: function(value) {
|
||
return PSD = value;
|
||
}
|
||
},
|
||
totalEchoes: {
|
||
get: function() {
|
||
return totalEchoes;
|
||
}
|
||
},
|
||
newPSD: newScope,
|
||
usePSD: usePSD,
|
||
scheduler: {
|
||
get: function() {
|
||
return asap;
|
||
},
|
||
set: function(value) {
|
||
asap = value;
|
||
}
|
||
},
|
||
rejectionMapper: {
|
||
get: function() {
|
||
return rejectionMapper;
|
||
},
|
||
set: function(value) {
|
||
rejectionMapper = value;
|
||
}
|
||
},
|
||
follow: function(fn, zoneProps) {
|
||
return new DexiePromise(function(resolve, reject) {
|
||
return newScope(function(resolve, reject) {
|
||
var psd = PSD;
|
||
psd.unhandleds = [];
|
||
psd.onunhandled = reject;
|
||
psd.finalize = callBoth(function() {
|
||
var _this = this;
|
||
run_at_end_of_this_or_next_physical_tick(function() {
|
||
_this.unhandleds.length === 0 ? resolve() : reject(_this.unhandleds[0]);
|
||
});
|
||
}, psd.finalize);
|
||
fn();
|
||
}, zoneProps, resolve, reject);
|
||
});
|
||
}
|
||
});
|
||
if (NativePromise) {
|
||
if (NativePromise.allSettled) setProp(DexiePromise, "allSettled", function() {
|
||
var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);
|
||
return new DexiePromise(function(resolve) {
|
||
if (possiblePromises.length === 0) resolve([]);
|
||
var remaining = possiblePromises.length;
|
||
var results = new Array(remaining);
|
||
possiblePromises.forEach(function(p, i) {
|
||
return DexiePromise.resolve(p).then(function(value) {
|
||
return results[i] = {
|
||
status: "fulfilled",
|
||
value: value
|
||
};
|
||
}, function(reason) {
|
||
return results[i] = {
|
||
status: "rejected",
|
||
reason: reason
|
||
};
|
||
}).then(function() {
|
||
return --remaining || resolve(results);
|
||
});
|
||
});
|
||
});
|
||
});
|
||
if (NativePromise.any && typeof AggregateError !== 'undefined') setProp(DexiePromise, "any", function() {
|
||
var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);
|
||
return new DexiePromise(function(resolve, reject) {
|
||
if (possiblePromises.length === 0) reject(new AggregateError([]));
|
||
var remaining = possiblePromises.length;
|
||
var failures = new Array(remaining);
|
||
possiblePromises.forEach(function(p, i) {
|
||
return DexiePromise.resolve(p).then(function(value) {
|
||
return resolve(value);
|
||
}, function(failure) {
|
||
failures[i] = failure;
|
||
if (!--remaining) reject(new AggregateError(failures));
|
||
});
|
||
});
|
||
});
|
||
});
|
||
if (NativePromise.withResolvers) DexiePromise.withResolvers = NativePromise.withResolvers;
|
||
}
|
||
function executePromiseTask(promise, fn) {
|
||
try {
|
||
fn(function(value) {
|
||
if (promise._state !== null) return;
|
||
if (value === promise) throw new TypeError('A promise cannot be resolved with itself.');
|
||
var shouldExecuteTick = promise._lib && beginMicroTickScope();
|
||
if (value && typeof value.then === 'function') {
|
||
executePromiseTask(promise, function(resolve, reject) {
|
||
value instanceof DexiePromise ? value._then(resolve, reject) : value.then(resolve, reject);
|
||
});
|
||
} else {
|
||
promise._state = true;
|
||
promise._value = value;
|
||
propagateAllListeners(promise);
|
||
}
|
||
if (shouldExecuteTick) endMicroTickScope();
|
||
}, handleRejection.bind(null, promise));
|
||
} catch (ex) {
|
||
handleRejection(promise, ex);
|
||
}
|
||
}
|
||
function handleRejection(promise, reason) {
|
||
rejectingErrors.push(reason);
|
||
if (promise._state !== null) return;
|
||
var shouldExecuteTick = promise._lib && beginMicroTickScope();
|
||
reason = rejectionMapper(reason);
|
||
promise._state = false;
|
||
promise._value = reason;
|
||
addPossiblyUnhandledError(promise);
|
||
propagateAllListeners(promise);
|
||
if (shouldExecuteTick) endMicroTickScope();
|
||
}
|
||
function propagateAllListeners(promise) {
|
||
var listeners = promise._listeners;
|
||
promise._listeners = [];
|
||
for(var i = 0, len = listeners.length; i < len; ++i){
|
||
propagateToListener(promise, listeners[i]);
|
||
}
|
||
var psd = promise._PSD;
|
||
--psd.ref || psd.finalize();
|
||
if (numScheduledCalls === 0) {
|
||
++numScheduledCalls;
|
||
asap(function() {
|
||
if (--numScheduledCalls === 0) finalizePhysicalTick();
|
||
}, []);
|
||
}
|
||
}
|
||
function propagateToListener(promise, listener) {
|
||
if (promise._state === null) {
|
||
promise._listeners.push(listener);
|
||
return;
|
||
}
|
||
var cb = promise._state ? listener.onFulfilled : listener.onRejected;
|
||
if (cb === null) {
|
||
return (promise._state ? listener.resolve : listener.reject)(promise._value);
|
||
}
|
||
++listener.psd.ref;
|
||
++numScheduledCalls;
|
||
asap(callListener, [
|
||
cb,
|
||
promise,
|
||
listener
|
||
]);
|
||
}
|
||
function callListener(cb, promise, listener) {
|
||
try {
|
||
var ret, value = promise._value;
|
||
if (!promise._state && rejectingErrors.length) rejectingErrors = [];
|
||
ret = debug && promise._consoleTask ? promise._consoleTask.run(function() {
|
||
return cb(value);
|
||
}) : cb(value);
|
||
if (!promise._state && rejectingErrors.indexOf(value) === -1) {
|
||
markErrorAsHandled(promise);
|
||
}
|
||
listener.resolve(ret);
|
||
} catch (e) {
|
||
listener.reject(e);
|
||
} finally{
|
||
if (--numScheduledCalls === 0) finalizePhysicalTick();
|
||
--listener.psd.ref || listener.psd.finalize();
|
||
}
|
||
}
|
||
function physicalTick() {
|
||
usePSD(globalPSD, {
|
||
"physicalTick.usePSD": function() {
|
||
beginMicroTickScope() && endMicroTickScope();
|
||
}
|
||
}["physicalTick.usePSD"]);
|
||
}
|
||
function beginMicroTickScope() {
|
||
var wasRootExec = isOutsideMicroTick;
|
||
isOutsideMicroTick = false;
|
||
needsNewPhysicalTick = false;
|
||
return wasRootExec;
|
||
}
|
||
function endMicroTickScope() {
|
||
var callbacks, i, l;
|
||
do {
|
||
while(microtickQueue.length > 0){
|
||
callbacks = microtickQueue;
|
||
microtickQueue = [];
|
||
l = callbacks.length;
|
||
for(i = 0; i < l; ++i){
|
||
var item = callbacks[i];
|
||
item[0].apply(null, item[1]);
|
||
}
|
||
}
|
||
}while (microtickQueue.length > 0)
|
||
isOutsideMicroTick = true;
|
||
needsNewPhysicalTick = true;
|
||
}
|
||
function finalizePhysicalTick() {
|
||
var unhandledErrs = unhandledErrors;
|
||
unhandledErrors = [];
|
||
unhandledErrs.forEach(function(p) {
|
||
p._PSD.onunhandled.call(null, p._value, p);
|
||
});
|
||
var finalizers = tickFinalizers.slice(0);
|
||
var i = finalizers.length;
|
||
while(i)finalizers[--i]();
|
||
}
|
||
function run_at_end_of_this_or_next_physical_tick(fn) {
|
||
function finalizer() {
|
||
fn();
|
||
tickFinalizers.splice(tickFinalizers.indexOf(finalizer), 1);
|
||
}
|
||
tickFinalizers.push(finalizer);
|
||
++numScheduledCalls;
|
||
asap(function() {
|
||
if (--numScheduledCalls === 0) finalizePhysicalTick();
|
||
}, []);
|
||
}
|
||
function addPossiblyUnhandledError(promise) {
|
||
if (!unhandledErrors.some(function(p) {
|
||
return p._value === promise._value;
|
||
})) unhandledErrors.push(promise);
|
||
}
|
||
function markErrorAsHandled(promise) {
|
||
var i = unhandledErrors.length;
|
||
while(i)if (unhandledErrors[--i]._value === promise._value) {
|
||
unhandledErrors.splice(i, 1);
|
||
return;
|
||
}
|
||
}
|
||
function PromiseReject(reason) {
|
||
return new DexiePromise(INTERNAL, false, reason);
|
||
}
|
||
function wrap(fn, errorCatcher) {
|
||
var psd = PSD;
|
||
return function() {
|
||
var wasRootExec = beginMicroTickScope(), outerScope = PSD;
|
||
try {
|
||
switchToZone(psd, true);
|
||
return fn.apply(this, arguments);
|
||
} catch (e) {
|
||
errorCatcher && errorCatcher(e);
|
||
} finally{
|
||
switchToZone(outerScope, false);
|
||
if (wasRootExec) endMicroTickScope();
|
||
}
|
||
};
|
||
}
|
||
var task = {
|
||
awaits: 0,
|
||
echoes: 0,
|
||
id: 0
|
||
};
|
||
var taskCounter = 0;
|
||
var zoneStack = [];
|
||
var zoneEchoes = 0;
|
||
var totalEchoes = 0;
|
||
var zone_id_counter = 0;
|
||
function newScope(fn, props, a1, a2) {
|
||
var parent = PSD, psd = Object.create(parent);
|
||
psd.parent = parent;
|
||
psd.ref = 0;
|
||
psd.global = false;
|
||
psd.id = ++zone_id_counter;
|
||
globalPSD.env;
|
||
psd.env = patchGlobalPromise ? {
|
||
Promise: DexiePromise,
|
||
PromiseProp: {
|
||
value: DexiePromise,
|
||
configurable: true,
|
||
writable: true
|
||
},
|
||
all: DexiePromise.all,
|
||
race: DexiePromise.race,
|
||
allSettled: DexiePromise.allSettled,
|
||
any: DexiePromise.any,
|
||
resolve: DexiePromise.resolve,
|
||
reject: DexiePromise.reject
|
||
} : {};
|
||
if (props) extend(psd, props);
|
||
++parent.ref;
|
||
psd.finalize = function() {
|
||
--this.parent.ref || this.parent.finalize();
|
||
};
|
||
var rv = usePSD(psd, fn, a1, a2);
|
||
if (psd.ref === 0) psd.finalize();
|
||
return rv;
|
||
}
|
||
function incrementExpectedAwaits() {
|
||
if (!task.id) task.id = ++taskCounter;
|
||
++task.awaits;
|
||
task.echoes += ZONE_ECHO_LIMIT;
|
||
return task.id;
|
||
}
|
||
function decrementExpectedAwaits() {
|
||
if (!task.awaits) return false;
|
||
if (--task.awaits === 0) task.id = 0;
|
||
task.echoes = task.awaits * ZONE_ECHO_LIMIT;
|
||
return true;
|
||
}
|
||
if (('' + nativePromiseThen).indexOf('[native code]') === -1) {
|
||
incrementExpectedAwaits = decrementExpectedAwaits = nop;
|
||
}
|
||
function onPossibleParallellAsync(possiblePromise) {
|
||
if (task.echoes && possiblePromise && possiblePromise.constructor === NativePromise) {
|
||
incrementExpectedAwaits();
|
||
return possiblePromise.then(function(x) {
|
||
decrementExpectedAwaits();
|
||
return x;
|
||
}, function(e) {
|
||
decrementExpectedAwaits();
|
||
return rejection(e);
|
||
});
|
||
}
|
||
return possiblePromise;
|
||
}
|
||
function zoneEnterEcho(targetZone) {
|
||
++totalEchoes;
|
||
if (!task.echoes || --task.echoes === 0) {
|
||
task.echoes = task.awaits = task.id = 0;
|
||
}
|
||
zoneStack.push(PSD);
|
||
switchToZone(targetZone, true);
|
||
}
|
||
function zoneLeaveEcho() {
|
||
var zone = zoneStack[zoneStack.length - 1];
|
||
zoneStack.pop();
|
||
switchToZone(zone, false);
|
||
}
|
||
function switchToZone(targetZone, bEnteringZone) {
|
||
var currentZone = PSD;
|
||
if (bEnteringZone ? task.echoes && (!zoneEchoes++ || targetZone !== PSD) : zoneEchoes && (!--zoneEchoes || targetZone !== PSD)) {
|
||
queueMicrotask(bEnteringZone ? zoneEnterEcho.bind(null, targetZone) : zoneLeaveEcho);
|
||
}
|
||
if (targetZone === PSD) return;
|
||
PSD = targetZone;
|
||
if (currentZone === globalPSD) globalPSD.env = snapShot();
|
||
if (patchGlobalPromise) {
|
||
var GlobalPromise = globalPSD.env.Promise;
|
||
var targetEnv = targetZone.env;
|
||
if (currentZone.global || targetZone.global) {
|
||
Object.defineProperty(_global, 'Promise', targetEnv.PromiseProp);
|
||
GlobalPromise.all = targetEnv.all;
|
||
GlobalPromise.race = targetEnv.race;
|
||
GlobalPromise.resolve = targetEnv.resolve;
|
||
GlobalPromise.reject = targetEnv.reject;
|
||
if (targetEnv.allSettled) GlobalPromise.allSettled = targetEnv.allSettled;
|
||
if (targetEnv.any) GlobalPromise.any = targetEnv.any;
|
||
}
|
||
}
|
||
}
|
||
function snapShot() {
|
||
var GlobalPromise = _global.Promise;
|
||
return patchGlobalPromise ? {
|
||
Promise: GlobalPromise,
|
||
PromiseProp: Object.getOwnPropertyDescriptor(_global, "Promise"),
|
||
all: GlobalPromise.all,
|
||
race: GlobalPromise.race,
|
||
allSettled: GlobalPromise.allSettled,
|
||
any: GlobalPromise.any,
|
||
resolve: GlobalPromise.resolve,
|
||
reject: GlobalPromise.reject
|
||
} : {};
|
||
}
|
||
function usePSD(psd, fn, a1, a2, a3) {
|
||
var outerScope = PSD;
|
||
try {
|
||
switchToZone(psd, true);
|
||
return fn(a1, a2, a3);
|
||
} finally{
|
||
switchToZone(outerScope, false);
|
||
}
|
||
}
|
||
function nativeAwaitCompatibleWrap(fn, zone, possibleAwait, cleanup) {
|
||
return typeof fn !== 'function' ? fn : function() {
|
||
var outerZone = PSD;
|
||
if (possibleAwait) incrementExpectedAwaits();
|
||
switchToZone(zone, true);
|
||
try {
|
||
return fn.apply(this, arguments);
|
||
} finally{
|
||
switchToZone(outerZone, false);
|
||
if (cleanup) queueMicrotask(decrementExpectedAwaits);
|
||
}
|
||
};
|
||
}
|
||
function execInGlobalContext(cb) {
|
||
if (Promise === NativePromise && task.echoes === 0) {
|
||
if (zoneEchoes === 0) {
|
||
cb();
|
||
} else {
|
||
enqueueNativeMicroTask(cb);
|
||
}
|
||
} else {
|
||
setTimeout(cb, 0);
|
||
}
|
||
}
|
||
var rejection = DexiePromise.reject;
|
||
function tempTransaction(db, mode, storeNames, fn) {
|
||
if (!db.idbdb || !db._state.openComplete && !PSD.letThrough && !db._vip) {
|
||
if (db._state.openComplete) {
|
||
return rejection(new exceptions.DatabaseClosed(db._state.dbOpenError));
|
||
}
|
||
if (!db._state.isBeingOpened) {
|
||
if (!db._state.autoOpen) return rejection(new exceptions.DatabaseClosed());
|
||
db.open().catch(nop);
|
||
}
|
||
return db._state.dbReadyPromise.then(function() {
|
||
return tempTransaction(db, mode, storeNames, fn);
|
||
});
|
||
} else {
|
||
var trans = db._createTransaction(mode, storeNames, db._dbSchema);
|
||
try {
|
||
trans.create();
|
||
db._state.PR1398_maxLoop = 3;
|
||
} catch (ex) {
|
||
if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {
|
||
console.warn('Dexie: Need to reopen db');
|
||
db.close({
|
||
disableAutoOpen: false
|
||
});
|
||
return db.open().then(function() {
|
||
return tempTransaction(db, mode, storeNames, fn);
|
||
});
|
||
}
|
||
return rejection(ex);
|
||
}
|
||
return trans._promise(mode, function(resolve, reject) {
|
||
return newScope(function() {
|
||
PSD.trans = trans;
|
||
return fn(resolve, reject, trans);
|
||
});
|
||
}).then(function(result) {
|
||
if (mode === 'readwrite') try {
|
||
trans.idbtrans.commit();
|
||
} catch (_a) {}
|
||
return mode === 'readonly' ? result : trans._completion.then(function() {
|
||
return result;
|
||
});
|
||
});
|
||
}
|
||
}
|
||
var DEXIE_VERSION = '4.2.1';
|
||
var maxString = String.fromCharCode(65535);
|
||
var minKey = -Infinity;
|
||
var INVALID_KEY_ARGUMENT = "Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.";
|
||
var STRING_EXPECTED = "String expected.";
|
||
var connections = [];
|
||
var DBNAMES_DB = '__dbnames';
|
||
var READONLY = 'readonly';
|
||
var READWRITE = 'readwrite';
|
||
function combine(filter1, filter2) {
|
||
return filter1 ? filter2 ? function() {
|
||
return filter1.apply(this, arguments) && filter2.apply(this, arguments);
|
||
} : filter1 : filter2;
|
||
}
|
||
var AnyRange = {
|
||
type: 3,
|
||
lower: -Infinity,
|
||
lowerOpen: false,
|
||
upper: [
|
||
[]
|
||
],
|
||
upperOpen: false
|
||
};
|
||
function workaroundForUndefinedPrimKey(keyPath) {
|
||
return typeof keyPath === "string" && !/\./.test(keyPath) ? function(obj) {
|
||
if (obj[keyPath] === undefined && keyPath in obj) {
|
||
obj = deepClone(obj);
|
||
delete obj[keyPath];
|
||
}
|
||
return obj;
|
||
} : function(obj) {
|
||
return obj;
|
||
};
|
||
}
|
||
function Entity() {
|
||
throw exceptions.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.");
|
||
}
|
||
function cmp(a, b) {
|
||
try {
|
||
var ta = type(a);
|
||
var tb = type(b);
|
||
if (ta !== tb) {
|
||
if (ta === 'Array') return 1;
|
||
if (tb === 'Array') return -1;
|
||
if (ta === 'binary') return 1;
|
||
if (tb === 'binary') return -1;
|
||
if (ta === 'string') return 1;
|
||
if (tb === 'string') return -1;
|
||
if (ta === 'Date') return 1;
|
||
if (tb !== 'Date') return NaN;
|
||
return -1;
|
||
}
|
||
switch(ta){
|
||
case 'number':
|
||
case 'Date':
|
||
case 'string':
|
||
return a > b ? 1 : a < b ? -1 : 0;
|
||
case 'binary':
|
||
{
|
||
return compareUint8Arrays(getUint8Array(a), getUint8Array(b));
|
||
}
|
||
case 'Array':
|
||
return compareArrays(a, b);
|
||
}
|
||
} catch (_a) {}
|
||
return NaN;
|
||
}
|
||
function compareArrays(a, b) {
|
||
var al = a.length;
|
||
var bl = b.length;
|
||
var l = al < bl ? al : bl;
|
||
for(var i = 0; i < l; ++i){
|
||
var res = cmp(a[i], b[i]);
|
||
if (res !== 0) return res;
|
||
}
|
||
return al === bl ? 0 : al < bl ? -1 : 1;
|
||
}
|
||
function compareUint8Arrays(a, b) {
|
||
var al = a.length;
|
||
var bl = b.length;
|
||
var l = al < bl ? al : bl;
|
||
for(var i = 0; i < l; ++i){
|
||
if (a[i] !== b[i]) return a[i] < b[i] ? -1 : 1;
|
||
}
|
||
return al === bl ? 0 : al < bl ? -1 : 1;
|
||
}
|
||
function type(x) {
|
||
var t = typeof x;
|
||
if (t !== 'object') return t;
|
||
if (ArrayBuffer.isView(x)) return 'binary';
|
||
var tsTag = toStringTag(x);
|
||
return tsTag === 'ArrayBuffer' ? 'binary' : tsTag;
|
||
}
|
||
function getUint8Array(a) {
|
||
if (a instanceof Uint8Array) return a;
|
||
if (ArrayBuffer.isView(a)) return new Uint8Array(a.buffer, a.byteOffset, a.byteLength);
|
||
return new Uint8Array(a);
|
||
}
|
||
function builtInDeletionTrigger(table, keys, res) {
|
||
var yProps = table.schema.yProps;
|
||
if (!yProps) return res;
|
||
if (keys && res.numFailures > 0) keys = keys.filter(function(_, i) {
|
||
return !res.failures[i];
|
||
});
|
||
return Promise.all(yProps.map(function(_a) {
|
||
var updatesTable = _a.updatesTable;
|
||
return keys ? table.db.table(updatesTable).where('k').anyOf(keys).delete() : table.db.table(updatesTable).clear();
|
||
})).then(function() {
|
||
return res;
|
||
});
|
||
}
|
||
var PropModification = function() {
|
||
function PropModification(spec) {
|
||
this["@@propmod"] = spec;
|
||
}
|
||
PropModification.prototype.execute = function(value) {
|
||
var _a;
|
||
var spec = this["@@propmod"];
|
||
if (spec.add !== undefined) {
|
||
var term = spec.add;
|
||
if (isArray(term)) {
|
||
return __spreadArray(__spreadArray([], isArray(value) ? value : [], true), term, true).sort();
|
||
}
|
||
if (typeof term === 'number') return (Number(value) || 0) + term;
|
||
if (typeof term === 'bigint') {
|
||
try {
|
||
return BigInt(value) + term;
|
||
} catch (_b) {
|
||
return BigInt(0) + term;
|
||
}
|
||
}
|
||
throw new TypeError("Invalid term ".concat(term));
|
||
}
|
||
if (spec.remove !== undefined) {
|
||
var subtrahend_1 = spec.remove;
|
||
if (isArray(subtrahend_1)) {
|
||
return isArray(value) ? value.filter(function(item) {
|
||
return !subtrahend_1.includes(item);
|
||
}).sort() : [];
|
||
}
|
||
if (typeof subtrahend_1 === 'number') return Number(value) - subtrahend_1;
|
||
if (typeof subtrahend_1 === 'bigint') {
|
||
try {
|
||
return BigInt(value) - subtrahend_1;
|
||
} catch (_c) {
|
||
return BigInt(0) - subtrahend_1;
|
||
}
|
||
}
|
||
throw new TypeError("Invalid subtrahend ".concat(subtrahend_1));
|
||
}
|
||
var prefixToReplace = (_a = spec.replacePrefix) === null || _a === void 0 ? void 0 : _a[0];
|
||
if (prefixToReplace && typeof value === 'string' && value.startsWith(prefixToReplace)) {
|
||
return spec.replacePrefix[1] + value.substring(prefixToReplace.length);
|
||
}
|
||
return value;
|
||
};
|
||
return PropModification;
|
||
}();
|
||
function applyUpdateSpec(obj, changes) {
|
||
var keyPaths = keys(changes);
|
||
var numKeys = keyPaths.length;
|
||
var anythingModified = false;
|
||
for(var i = 0; i < numKeys; ++i){
|
||
var keyPath = keyPaths[i];
|
||
var value = changes[keyPath];
|
||
var origValue = getByKeyPath(obj, keyPath);
|
||
if (value instanceof PropModification) {
|
||
setByKeyPath(obj, keyPath, value.execute(origValue));
|
||
anythingModified = true;
|
||
} else if (origValue !== value) {
|
||
setByKeyPath(obj, keyPath, value);
|
||
anythingModified = true;
|
||
}
|
||
}
|
||
return anythingModified;
|
||
}
|
||
var Table = function() {
|
||
function Table() {}
|
||
Table.prototype._trans = function(mode, fn, writeLocked) {
|
||
var trans = this._tx || PSD.trans;
|
||
var tableName = this.name;
|
||
var task = debug && typeof console !== 'undefined' && console.createTask && console.createTask("Dexie: ".concat(mode === 'readonly' ? 'read' : 'write', " ").concat(this.name));
|
||
function checkTableInTransaction(resolve, reject, trans) {
|
||
if (!trans.schema[tableName]) throw new exceptions.NotFound("Table " + tableName + " not part of transaction");
|
||
return fn(trans.idbtrans, trans);
|
||
}
|
||
var wasRootExec = beginMicroTickScope();
|
||
try {
|
||
var p = trans && trans.db._novip === this.db._novip ? trans === PSD.trans ? trans._promise(mode, checkTableInTransaction, writeLocked) : newScope(function() {
|
||
return trans._promise(mode, checkTableInTransaction, writeLocked);
|
||
}, {
|
||
trans: trans,
|
||
transless: PSD.transless || PSD
|
||
}) : tempTransaction(this.db, mode, [
|
||
this.name
|
||
], checkTableInTransaction);
|
||
if (task) {
|
||
p._consoleTask = task;
|
||
p = p.catch(function(err) {
|
||
console.trace(err);
|
||
return rejection(err);
|
||
});
|
||
}
|
||
return p;
|
||
} finally{
|
||
if (wasRootExec) endMicroTickScope();
|
||
}
|
||
};
|
||
Table.prototype.get = function(keyOrCrit, cb) {
|
||
var _this = this;
|
||
if (keyOrCrit && keyOrCrit.constructor === Object) return this.where(keyOrCrit).first(cb);
|
||
if (keyOrCrit == null) return rejection(new exceptions.Type("Invalid argument to Table.get()"));
|
||
return this._trans('readonly', function(trans) {
|
||
return _this.core.get({
|
||
trans: trans,
|
||
key: keyOrCrit
|
||
}).then(function(res) {
|
||
return _this.hook.reading.fire(res);
|
||
});
|
||
}).then(cb);
|
||
};
|
||
Table.prototype.where = function(indexOrCrit) {
|
||
if (typeof indexOrCrit === 'string') return new this.db.WhereClause(this, indexOrCrit);
|
||
if (isArray(indexOrCrit)) return new this.db.WhereClause(this, "[".concat(indexOrCrit.join('+'), "]"));
|
||
var keyPaths = keys(indexOrCrit);
|
||
if (keyPaths.length === 1) return this.where(keyPaths[0]).equals(indexOrCrit[keyPaths[0]]);
|
||
var compoundIndex = this.schema.indexes.concat(this.schema.primKey).filter(function(ix) {
|
||
if (ix.compound && keyPaths.every(function(keyPath) {
|
||
return ix.keyPath.indexOf(keyPath) >= 0;
|
||
})) {
|
||
for(var i = 0; i < keyPaths.length; ++i){
|
||
if (keyPaths.indexOf(ix.keyPath[i]) === -1) return false;
|
||
}
|
||
return true;
|
||
}
|
||
return false;
|
||
}).sort(function(a, b) {
|
||
return a.keyPath.length - b.keyPath.length;
|
||
})[0];
|
||
if (compoundIndex && this.db._maxKey !== maxString) {
|
||
var keyPathsInValidOrder = compoundIndex.keyPath.slice(0, keyPaths.length);
|
||
return this.where(keyPathsInValidOrder).equals(keyPathsInValidOrder.map(function(kp) {
|
||
return indexOrCrit[kp];
|
||
}));
|
||
}
|
||
if (!compoundIndex && debug) console.warn("The query ".concat(JSON.stringify(indexOrCrit), " on ").concat(this.name, " would benefit from a ") + "compound index [".concat(keyPaths.join('+'), "]"));
|
||
var idxByName = this.schema.idxByName;
|
||
function equals(a, b) {
|
||
return cmp(a, b) === 0;
|
||
}
|
||
var _a = keyPaths.reduce(function(_a, keyPath) {
|
||
var prevIndex = _a[0], prevFilterFn = _a[1];
|
||
var index = idxByName[keyPath];
|
||
var value = indexOrCrit[keyPath];
|
||
return [
|
||
prevIndex || index,
|
||
prevIndex || !index ? combine(prevFilterFn, index && index.multi ? function(x) {
|
||
var prop = getByKeyPath(x, keyPath);
|
||
return isArray(prop) && prop.some(function(item) {
|
||
return equals(value, item);
|
||
});
|
||
} : function(x) {
|
||
return equals(value, getByKeyPath(x, keyPath));
|
||
}) : prevFilterFn
|
||
];
|
||
}, [
|
||
null,
|
||
null
|
||
]), idx = _a[0], filterFunction = _a[1];
|
||
return idx ? this.where(idx.name).equals(indexOrCrit[idx.keyPath]).filter(filterFunction) : compoundIndex ? this.filter(filterFunction) : this.where(keyPaths).equals('');
|
||
};
|
||
Table.prototype.filter = function(filterFunction) {
|
||
return this.toCollection().and(filterFunction);
|
||
};
|
||
Table.prototype.count = function(thenShortcut) {
|
||
return this.toCollection().count(thenShortcut);
|
||
};
|
||
Table.prototype.offset = function(offset) {
|
||
return this.toCollection().offset(offset);
|
||
};
|
||
Table.prototype.limit = function(numRows) {
|
||
return this.toCollection().limit(numRows);
|
||
};
|
||
Table.prototype.each = function(callback) {
|
||
return this.toCollection().each(callback);
|
||
};
|
||
Table.prototype.toArray = function(thenShortcut) {
|
||
return this.toCollection().toArray(thenShortcut);
|
||
};
|
||
Table.prototype.toCollection = function() {
|
||
return new this.db.Collection(new this.db.WhereClause(this));
|
||
};
|
||
Table.prototype.orderBy = function(index) {
|
||
return new this.db.Collection(new this.db.WhereClause(this, isArray(index) ? "[".concat(index.join('+'), "]") : index));
|
||
};
|
||
Table.prototype.reverse = function() {
|
||
return this.toCollection().reverse();
|
||
};
|
||
Table.prototype.mapToClass = function(constructor) {
|
||
var _a = this, db = _a.db, tableName = _a.name;
|
||
this.schema.mappedClass = constructor;
|
||
if (constructor.prototype instanceof Entity) {
|
||
constructor = function(_super) {
|
||
__extends(class_1, _super);
|
||
function class_1() {
|
||
return _super !== null && _super.apply(this, arguments) || this;
|
||
}
|
||
Object.defineProperty(class_1.prototype, "db", {
|
||
get: function() {
|
||
return db;
|
||
},
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
class_1.prototype.table = function() {
|
||
return tableName;
|
||
};
|
||
return class_1;
|
||
}(constructor);
|
||
}
|
||
var inheritedProps = new Set();
|
||
for(var proto = constructor.prototype; proto; proto = getProto(proto)){
|
||
Object.getOwnPropertyNames(proto).forEach(function(propName) {
|
||
return inheritedProps.add(propName);
|
||
});
|
||
}
|
||
var readHook = function(obj) {
|
||
if (!obj) return obj;
|
||
var res = Object.create(constructor.prototype);
|
||
for(var m in obj)if (!inheritedProps.has(m)) try {
|
||
res[m] = obj[m];
|
||
} catch (_) {}
|
||
return res;
|
||
};
|
||
if (this.schema.readHook) {
|
||
this.hook.reading.unsubscribe(this.schema.readHook);
|
||
}
|
||
this.schema.readHook = readHook;
|
||
this.hook("reading", readHook);
|
||
return constructor;
|
||
};
|
||
Table.prototype.defineClass = function() {
|
||
function Class(content) {
|
||
extend(this, content);
|
||
}
|
||
return this.mapToClass(Class);
|
||
};
|
||
Table.prototype.add = function(obj, key) {
|
||
var _this = this;
|
||
var _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;
|
||
var objToAdd = obj;
|
||
if (keyPath && auto) {
|
||
objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);
|
||
}
|
||
return this._trans('readwrite', function(trans) {
|
||
return _this.core.mutate({
|
||
trans: trans,
|
||
type: 'add',
|
||
keys: key != null ? [
|
||
key
|
||
] : null,
|
||
values: [
|
||
objToAdd
|
||
]
|
||
});
|
||
}).then(function(res) {
|
||
return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult;
|
||
}).then(function(lastResult) {
|
||
if (keyPath) {
|
||
try {
|
||
setByKeyPath(obj, keyPath, lastResult);
|
||
} catch (_) {}
|
||
}
|
||
return lastResult;
|
||
});
|
||
};
|
||
Table.prototype.upsert = function(key, modifications) {
|
||
var _this = this;
|
||
var keyPath = this.schema.primKey.keyPath;
|
||
return this._trans('readwrite', function(trans) {
|
||
return _this.core.get({
|
||
trans: trans,
|
||
key: key
|
||
}).then(function(existing) {
|
||
var obj = existing !== null && existing !== void 0 ? existing : {};
|
||
applyUpdateSpec(obj, modifications);
|
||
if (keyPath) setByKeyPath(obj, keyPath, key);
|
||
return _this.core.mutate({
|
||
trans: trans,
|
||
type: 'put',
|
||
values: [
|
||
obj
|
||
],
|
||
keys: [
|
||
key
|
||
],
|
||
upsert: true,
|
||
updates: {
|
||
keys: [
|
||
key
|
||
],
|
||
changeSpecs: [
|
||
modifications
|
||
]
|
||
}
|
||
}).then(function(res) {
|
||
return res.numFailures ? DexiePromise.reject(res.failures[0]) : !!existing;
|
||
});
|
||
});
|
||
});
|
||
};
|
||
Table.prototype.update = function(keyOrObject, modifications) {
|
||
if (typeof keyOrObject === 'object' && !isArray(keyOrObject)) {
|
||
var key = getByKeyPath(keyOrObject, this.schema.primKey.keyPath);
|
||
if (key === undefined) return rejection(new exceptions.InvalidArgument("Given object does not contain its primary key"));
|
||
return this.where(":id").equals(key).modify(modifications);
|
||
} else {
|
||
return this.where(":id").equals(keyOrObject).modify(modifications);
|
||
}
|
||
};
|
||
Table.prototype.put = function(obj, key) {
|
||
var _this = this;
|
||
var _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;
|
||
var objToAdd = obj;
|
||
if (keyPath && auto) {
|
||
objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);
|
||
}
|
||
return this._trans('readwrite', function(trans) {
|
||
return _this.core.mutate({
|
||
trans: trans,
|
||
type: 'put',
|
||
values: [
|
||
objToAdd
|
||
],
|
||
keys: key != null ? [
|
||
key
|
||
] : null
|
||
});
|
||
}).then(function(res) {
|
||
return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult;
|
||
}).then(function(lastResult) {
|
||
if (keyPath) {
|
||
try {
|
||
setByKeyPath(obj, keyPath, lastResult);
|
||
} catch (_) {}
|
||
}
|
||
return lastResult;
|
||
});
|
||
};
|
||
Table.prototype.delete = function(key) {
|
||
var _this = this;
|
||
return this._trans('readwrite', function(trans) {
|
||
return _this.core.mutate({
|
||
trans: trans,
|
||
type: 'delete',
|
||
keys: [
|
||
key
|
||
]
|
||
}).then(function(res) {
|
||
return builtInDeletionTrigger(_this, [
|
||
key
|
||
], res);
|
||
}).then(function(res) {
|
||
return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined;
|
||
});
|
||
});
|
||
};
|
||
Table.prototype.clear = function() {
|
||
var _this = this;
|
||
return this._trans('readwrite', function(trans) {
|
||
return _this.core.mutate({
|
||
trans: trans,
|
||
type: 'deleteRange',
|
||
range: AnyRange
|
||
}).then(function(res) {
|
||
return builtInDeletionTrigger(_this, null, res);
|
||
});
|
||
}).then(function(res) {
|
||
return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined;
|
||
});
|
||
};
|
||
Table.prototype.bulkGet = function(keys) {
|
||
var _this = this;
|
||
return this._trans('readonly', function(trans) {
|
||
return _this.core.getMany({
|
||
keys: keys,
|
||
trans: trans
|
||
}).then(function(result) {
|
||
return result.map(function(res) {
|
||
return _this.hook.reading.fire(res);
|
||
});
|
||
});
|
||
});
|
||
};
|
||
Table.prototype.bulkAdd = function(objects, keysOrOptions, options) {
|
||
var _this = this;
|
||
var keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;
|
||
options = options || (keys ? undefined : keysOrOptions);
|
||
var wantResults = options ? options.allKeys : undefined;
|
||
return this._trans('readwrite', function(trans) {
|
||
var _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;
|
||
if (keyPath && keys) throw new exceptions.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");
|
||
if (keys && keys.length !== objects.length) throw new exceptions.InvalidArgument("Arguments objects and keys must have the same length");
|
||
var numObjects = objects.length;
|
||
var objectsToAdd = keyPath && auto ? objects.map(workaroundForUndefinedPrimKey(keyPath)) : objects;
|
||
return _this.core.mutate({
|
||
trans: trans,
|
||
type: 'add',
|
||
keys: keys,
|
||
values: objectsToAdd,
|
||
wantResults: wantResults
|
||
}).then(function(_a) {
|
||
var numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;
|
||
var result = wantResults ? results : lastResult;
|
||
if (numFailures === 0) return result;
|
||
throw new BulkError("".concat(_this.name, ".bulkAdd(): ").concat(numFailures, " of ").concat(numObjects, " operations failed"), failures);
|
||
});
|
||
});
|
||
};
|
||
Table.prototype.bulkPut = function(objects, keysOrOptions, options) {
|
||
var _this = this;
|
||
var keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;
|
||
options = options || (keys ? undefined : keysOrOptions);
|
||
var wantResults = options ? options.allKeys : undefined;
|
||
return this._trans('readwrite', function(trans) {
|
||
var _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;
|
||
if (keyPath && keys) throw new exceptions.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");
|
||
if (keys && keys.length !== objects.length) throw new exceptions.InvalidArgument("Arguments objects and keys must have the same length");
|
||
var numObjects = objects.length;
|
||
var objectsToPut = keyPath && auto ? objects.map(workaroundForUndefinedPrimKey(keyPath)) : objects;
|
||
return _this.core.mutate({
|
||
trans: trans,
|
||
type: 'put',
|
||
keys: keys,
|
||
values: objectsToPut,
|
||
wantResults: wantResults
|
||
}).then(function(_a) {
|
||
var numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;
|
||
var result = wantResults ? results : lastResult;
|
||
if (numFailures === 0) return result;
|
||
throw new BulkError("".concat(_this.name, ".bulkPut(): ").concat(numFailures, " of ").concat(numObjects, " operations failed"), failures);
|
||
});
|
||
});
|
||
};
|
||
Table.prototype.bulkUpdate = function(keysAndChanges) {
|
||
var _this = this;
|
||
var coreTable = this.core;
|
||
var keys = keysAndChanges.map(function(entry) {
|
||
return entry.key;
|
||
});
|
||
var changeSpecs = keysAndChanges.map(function(entry) {
|
||
return entry.changes;
|
||
});
|
||
var offsetMap = [];
|
||
return this._trans('readwrite', function(trans) {
|
||
return coreTable.getMany({
|
||
trans: trans,
|
||
keys: keys,
|
||
cache: 'clone'
|
||
}).then(function(objs) {
|
||
var resultKeys = [];
|
||
var resultObjs = [];
|
||
keysAndChanges.forEach(function(_a, idx) {
|
||
var key = _a.key, changes = _a.changes;
|
||
var obj = objs[idx];
|
||
if (obj) {
|
||
for(var _i = 0, _b = Object.keys(changes); _i < _b.length; _i++){
|
||
var keyPath = _b[_i];
|
||
var value = changes[keyPath];
|
||
if (keyPath === _this.schema.primKey.keyPath) {
|
||
if (cmp(value, key) !== 0) {
|
||
throw new exceptions.Constraint("Cannot update primary key in bulkUpdate()");
|
||
}
|
||
} else {
|
||
setByKeyPath(obj, keyPath, value);
|
||
}
|
||
}
|
||
offsetMap.push(idx);
|
||
resultKeys.push(key);
|
||
resultObjs.push(obj);
|
||
}
|
||
});
|
||
var numEntries = resultKeys.length;
|
||
return coreTable.mutate({
|
||
trans: trans,
|
||
type: 'put',
|
||
keys: resultKeys,
|
||
values: resultObjs,
|
||
updates: {
|
||
keys: keys,
|
||
changeSpecs: changeSpecs
|
||
}
|
||
}).then(function(_a) {
|
||
var numFailures = _a.numFailures, failures = _a.failures;
|
||
if (numFailures === 0) return numEntries;
|
||
for(var _i = 0, _b = Object.keys(failures); _i < _b.length; _i++){
|
||
var offset = _b[_i];
|
||
var mappedOffset = offsetMap[Number(offset)];
|
||
if (mappedOffset != null) {
|
||
var failure = failures[offset];
|
||
delete failures[offset];
|
||
failures[mappedOffset] = failure;
|
||
}
|
||
}
|
||
throw new BulkError("".concat(_this.name, ".bulkUpdate(): ").concat(numFailures, " of ").concat(numEntries, " operations failed"), failures);
|
||
});
|
||
});
|
||
});
|
||
};
|
||
Table.prototype.bulkDelete = function(keys) {
|
||
var _this = this;
|
||
var numKeys = keys.length;
|
||
return this._trans('readwrite', function(trans) {
|
||
return _this.core.mutate({
|
||
trans: trans,
|
||
type: 'delete',
|
||
keys: keys
|
||
}).then(function(res) {
|
||
return builtInDeletionTrigger(_this, keys, res);
|
||
});
|
||
}).then(function(_a) {
|
||
var numFailures = _a.numFailures, lastResult = _a.lastResult, failures = _a.failures;
|
||
if (numFailures === 0) return lastResult;
|
||
throw new BulkError("".concat(_this.name, ".bulkDelete(): ").concat(numFailures, " of ").concat(numKeys, " operations failed"), failures);
|
||
});
|
||
};
|
||
return Table;
|
||
}();
|
||
function Events(ctx) {
|
||
var evs = {};
|
||
var rv = function(eventName, subscriber) {
|
||
if (subscriber) {
|
||
var i = arguments.length, args = new Array(i - 1);
|
||
while(--i)args[i - 1] = arguments[i];
|
||
evs[eventName].subscribe.apply(null, args);
|
||
return ctx;
|
||
} else if (typeof eventName === 'string') {
|
||
return evs[eventName];
|
||
}
|
||
};
|
||
rv.addEventType = add;
|
||
for(var i = 1, l = arguments.length; i < l; ++i){
|
||
add(arguments[i]);
|
||
}
|
||
return rv;
|
||
//TURBOPACK unreachable
|
||
;
|
||
function add(eventName, chainFunction, defaultFunction) {
|
||
if (typeof eventName === 'object') return addConfiguredEvents(eventName);
|
||
if (!chainFunction) chainFunction = reverseStoppableEventChain;
|
||
if (!defaultFunction) defaultFunction = nop;
|
||
var context = {
|
||
subscribers: [],
|
||
fire: defaultFunction,
|
||
subscribe: function(cb) {
|
||
if (context.subscribers.indexOf(cb) === -1) {
|
||
context.subscribers.push(cb);
|
||
context.fire = chainFunction(context.fire, cb);
|
||
}
|
||
},
|
||
unsubscribe: function(cb) {
|
||
context.subscribers = context.subscribers.filter(function(fn) {
|
||
return fn !== cb;
|
||
});
|
||
context.fire = context.subscribers.reduce(chainFunction, defaultFunction);
|
||
}
|
||
};
|
||
evs[eventName] = rv[eventName] = context;
|
||
return context;
|
||
}
|
||
function addConfiguredEvents(cfg) {
|
||
keys(cfg).forEach(function(eventName) {
|
||
var args = cfg[eventName];
|
||
if (isArray(args)) {
|
||
add(eventName, cfg[eventName][0], cfg[eventName][1]);
|
||
} else if (args === 'asap') {
|
||
var context = add(eventName, mirror, function fire() {
|
||
var i = arguments.length, args = new Array(i);
|
||
while(i--)args[i] = arguments[i];
|
||
context.subscribers.forEach(function(fn) {
|
||
asap$1(function fireEvent() {
|
||
fn.apply(null, args);
|
||
});
|
||
});
|
||
});
|
||
} else throw new exceptions.InvalidArgument("Invalid event config");
|
||
});
|
||
}
|
||
}
|
||
function makeClassConstructor(prototype, constructor) {
|
||
derive(constructor).from({
|
||
prototype: prototype
|
||
});
|
||
return constructor;
|
||
}
|
||
function createTableConstructor(db) {
|
||
return makeClassConstructor(Table.prototype, function Table(name, tableSchema, trans) {
|
||
this.db = db;
|
||
this._tx = trans;
|
||
this.name = name;
|
||
this.schema = tableSchema;
|
||
this.hook = db._allTables[name] ? db._allTables[name].hook : Events(null, {
|
||
"creating": [
|
||
hookCreatingChain,
|
||
nop
|
||
],
|
||
"reading": [
|
||
pureFunctionChain,
|
||
mirror
|
||
],
|
||
"updating": [
|
||
hookUpdatingChain,
|
||
nop
|
||
],
|
||
"deleting": [
|
||
hookDeletingChain,
|
||
nop
|
||
]
|
||
});
|
||
});
|
||
}
|
||
function isPlainKeyRange(ctx, ignoreLimitFilter) {
|
||
return !(ctx.filter || ctx.algorithm || ctx.or) && (ignoreLimitFilter ? ctx.justLimit : !ctx.replayFilter);
|
||
}
|
||
function addFilter(ctx, fn) {
|
||
ctx.filter = combine(ctx.filter, fn);
|
||
}
|
||
function addReplayFilter(ctx, factory, isLimitFilter) {
|
||
var curr = ctx.replayFilter;
|
||
ctx.replayFilter = curr ? function() {
|
||
return combine(curr(), factory());
|
||
} : factory;
|
||
ctx.justLimit = isLimitFilter && !curr;
|
||
}
|
||
function addMatchFilter(ctx, fn) {
|
||
ctx.isMatch = combine(ctx.isMatch, fn);
|
||
}
|
||
function getIndexOrStore(ctx, coreSchema) {
|
||
if (ctx.isPrimKey) return coreSchema.primaryKey;
|
||
var index = coreSchema.getIndexByKeyPath(ctx.index);
|
||
if (!index) throw new exceptions.Schema("KeyPath " + ctx.index + " on object store " + coreSchema.name + " is not indexed");
|
||
return index;
|
||
}
|
||
function openCursor(ctx, coreTable, trans) {
|
||
var index = getIndexOrStore(ctx, coreTable.schema);
|
||
return coreTable.openCursor({
|
||
trans: trans,
|
||
values: !ctx.keysOnly,
|
||
reverse: ctx.dir === 'prev',
|
||
unique: !!ctx.unique,
|
||
query: {
|
||
index: index,
|
||
range: ctx.range
|
||
}
|
||
});
|
||
}
|
||
function iter(ctx, fn, coreTrans, coreTable) {
|
||
var filter = ctx.replayFilter ? combine(ctx.filter, ctx.replayFilter()) : ctx.filter;
|
||
if (!ctx.or) {
|
||
return iterate(openCursor(ctx, coreTable, coreTrans), combine(ctx.algorithm, filter), fn, !ctx.keysOnly && ctx.valueMapper);
|
||
} else {
|
||
var set_1 = {};
|
||
var union = function(item, cursor, advance) {
|
||
if (!filter || filter(cursor, advance, function(result) {
|
||
return cursor.stop(result);
|
||
}, function(err) {
|
||
return cursor.fail(err);
|
||
})) {
|
||
var primaryKey = cursor.primaryKey;
|
||
var key = '' + primaryKey;
|
||
if (key === '[object ArrayBuffer]') key = '' + new Uint8Array(primaryKey);
|
||
if (!hasOwn(set_1, key)) {
|
||
set_1[key] = true;
|
||
fn(item, cursor, advance);
|
||
}
|
||
}
|
||
};
|
||
return Promise.all([
|
||
ctx.or._iterate(union, coreTrans),
|
||
iterate(openCursor(ctx, coreTable, coreTrans), ctx.algorithm, union, !ctx.keysOnly && ctx.valueMapper)
|
||
]);
|
||
}
|
||
}
|
||
function iterate(cursorPromise, filter, fn, valueMapper) {
|
||
var mappedFn = valueMapper ? function(x, c, a) {
|
||
return fn(valueMapper(x), c, a);
|
||
} : fn;
|
||
var wrappedFn = wrap(mappedFn);
|
||
return cursorPromise.then(function(cursor) {
|
||
if (cursor) {
|
||
return cursor.start(function() {
|
||
var c = function() {
|
||
return cursor.continue();
|
||
};
|
||
if (!filter || filter(cursor, function(advancer) {
|
||
return c = advancer;
|
||
}, function(val) {
|
||
cursor.stop(val);
|
||
c = nop;
|
||
}, function(e) {
|
||
cursor.fail(e);
|
||
c = nop;
|
||
})) wrappedFn(cursor.value, cursor, function(advancer) {
|
||
return c = advancer;
|
||
});
|
||
c();
|
||
});
|
||
}
|
||
});
|
||
}
|
||
var Collection = function() {
|
||
function Collection() {}
|
||
Collection.prototype._read = function(fn, cb) {
|
||
var ctx = this._ctx;
|
||
return ctx.error ? ctx.table._trans(null, rejection.bind(null, ctx.error)) : ctx.table._trans('readonly', fn).then(cb);
|
||
};
|
||
Collection.prototype._write = function(fn) {
|
||
var ctx = this._ctx;
|
||
return ctx.error ? ctx.table._trans(null, rejection.bind(null, ctx.error)) : ctx.table._trans('readwrite', fn, "locked");
|
||
};
|
||
Collection.prototype._addAlgorithm = function(fn) {
|
||
var ctx = this._ctx;
|
||
ctx.algorithm = combine(ctx.algorithm, fn);
|
||
};
|
||
Collection.prototype._iterate = function(fn, coreTrans) {
|
||
return iter(this._ctx, fn, coreTrans, this._ctx.table.core);
|
||
};
|
||
Collection.prototype.clone = function(props) {
|
||
var rv = Object.create(this.constructor.prototype), ctx = Object.create(this._ctx);
|
||
if (props) extend(ctx, props);
|
||
rv._ctx = ctx;
|
||
return rv;
|
||
};
|
||
Collection.prototype.raw = function() {
|
||
this._ctx.valueMapper = null;
|
||
return this;
|
||
};
|
||
Collection.prototype.each = function(fn) {
|
||
var ctx = this._ctx;
|
||
return this._read(function(trans) {
|
||
return iter(ctx, fn, trans, ctx.table.core);
|
||
});
|
||
};
|
||
Collection.prototype.count = function(cb) {
|
||
var _this = this;
|
||
return this._read(function(trans) {
|
||
var ctx = _this._ctx;
|
||
var coreTable = ctx.table.core;
|
||
if (isPlainKeyRange(ctx, true)) {
|
||
return coreTable.count({
|
||
trans: trans,
|
||
query: {
|
||
index: getIndexOrStore(ctx, coreTable.schema),
|
||
range: ctx.range
|
||
}
|
||
}).then(function(count) {
|
||
return Math.min(count, ctx.limit);
|
||
});
|
||
} else {
|
||
var count = 0;
|
||
return iter(ctx, function() {
|
||
++count;
|
||
return false;
|
||
}, trans, coreTable).then(function() {
|
||
return count;
|
||
});
|
||
}
|
||
}).then(cb);
|
||
};
|
||
Collection.prototype.sortBy = function(keyPath, cb) {
|
||
var parts = keyPath.split('.').reverse(), lastPart = parts[0], lastIndex = parts.length - 1;
|
||
function getval(obj, i) {
|
||
if (i) return getval(obj[parts[i]], i - 1);
|
||
return obj[lastPart];
|
||
}
|
||
var order = this._ctx.dir === "next" ? 1 : -1;
|
||
function sorter(a, b) {
|
||
var aVal = getval(a, lastIndex), bVal = getval(b, lastIndex);
|
||
return cmp(aVal, bVal) * order;
|
||
}
|
||
return this.toArray(function(a) {
|
||
return a.sort(sorter);
|
||
}).then(cb);
|
||
};
|
||
Collection.prototype.toArray = function(cb) {
|
||
var _this = this;
|
||
return this._read(function(trans) {
|
||
var ctx = _this._ctx;
|
||
if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {
|
||
var valueMapper_1 = ctx.valueMapper;
|
||
var index = getIndexOrStore(ctx, ctx.table.core.schema);
|
||
return ctx.table.core.query({
|
||
trans: trans,
|
||
limit: ctx.limit,
|
||
values: true,
|
||
query: {
|
||
index: index,
|
||
range: ctx.range
|
||
}
|
||
}).then(function(_a) {
|
||
var result = _a.result;
|
||
return valueMapper_1 ? result.map(valueMapper_1) : result;
|
||
});
|
||
} else {
|
||
var a_1 = [];
|
||
return iter(ctx, function(item) {
|
||
return a_1.push(item);
|
||
}, trans, ctx.table.core).then(function() {
|
||
return a_1;
|
||
});
|
||
}
|
||
}, cb);
|
||
};
|
||
Collection.prototype.offset = function(offset) {
|
||
var ctx = this._ctx;
|
||
if (offset <= 0) return this;
|
||
ctx.offset += offset;
|
||
if (isPlainKeyRange(ctx)) {
|
||
addReplayFilter(ctx, function() {
|
||
var offsetLeft = offset;
|
||
return function(cursor, advance) {
|
||
if (offsetLeft === 0) return true;
|
||
if (offsetLeft === 1) {
|
||
--offsetLeft;
|
||
return false;
|
||
}
|
||
advance(function() {
|
||
cursor.advance(offsetLeft);
|
||
offsetLeft = 0;
|
||
});
|
||
return false;
|
||
};
|
||
});
|
||
} else {
|
||
addReplayFilter(ctx, function() {
|
||
var offsetLeft = offset;
|
||
return function() {
|
||
return --offsetLeft < 0;
|
||
};
|
||
});
|
||
}
|
||
return this;
|
||
};
|
||
Collection.prototype.limit = function(numRows) {
|
||
this._ctx.limit = Math.min(this._ctx.limit, numRows);
|
||
addReplayFilter(this._ctx, function() {
|
||
var rowsLeft = numRows;
|
||
return function(cursor, advance, resolve) {
|
||
if (--rowsLeft <= 0) advance(resolve);
|
||
return rowsLeft >= 0;
|
||
};
|
||
}, true);
|
||
return this;
|
||
};
|
||
Collection.prototype.until = function(filterFunction, bIncludeStopEntry) {
|
||
addFilter(this._ctx, function(cursor, advance, resolve) {
|
||
if (filterFunction(cursor.value)) {
|
||
advance(resolve);
|
||
return bIncludeStopEntry;
|
||
} else {
|
||
return true;
|
||
}
|
||
});
|
||
return this;
|
||
};
|
||
Collection.prototype.first = function(cb) {
|
||
return this.limit(1).toArray(function(a) {
|
||
return a[0];
|
||
}).then(cb);
|
||
};
|
||
Collection.prototype.last = function(cb) {
|
||
return this.reverse().first(cb);
|
||
};
|
||
Collection.prototype.filter = function(filterFunction) {
|
||
addFilter(this._ctx, function(cursor) {
|
||
return filterFunction(cursor.value);
|
||
});
|
||
addMatchFilter(this._ctx, filterFunction);
|
||
return this;
|
||
};
|
||
Collection.prototype.and = function(filter) {
|
||
return this.filter(filter);
|
||
};
|
||
Collection.prototype.or = function(indexName) {
|
||
return new this.db.WhereClause(this._ctx.table, indexName, this);
|
||
};
|
||
Collection.prototype.reverse = function() {
|
||
this._ctx.dir = this._ctx.dir === "prev" ? "next" : "prev";
|
||
if (this._ondirectionchange) this._ondirectionchange(this._ctx.dir);
|
||
return this;
|
||
};
|
||
Collection.prototype.desc = function() {
|
||
return this.reverse();
|
||
};
|
||
Collection.prototype.eachKey = function(cb) {
|
||
var ctx = this._ctx;
|
||
ctx.keysOnly = !ctx.isMatch;
|
||
return this.each(function(val, cursor) {
|
||
cb(cursor.key, cursor);
|
||
});
|
||
};
|
||
Collection.prototype.eachUniqueKey = function(cb) {
|
||
this._ctx.unique = "unique";
|
||
return this.eachKey(cb);
|
||
};
|
||
Collection.prototype.eachPrimaryKey = function(cb) {
|
||
var ctx = this._ctx;
|
||
ctx.keysOnly = !ctx.isMatch;
|
||
return this.each(function(val, cursor) {
|
||
cb(cursor.primaryKey, cursor);
|
||
});
|
||
};
|
||
Collection.prototype.keys = function(cb) {
|
||
var ctx = this._ctx;
|
||
ctx.keysOnly = !ctx.isMatch;
|
||
var a = [];
|
||
return this.each(function(item, cursor) {
|
||
a.push(cursor.key);
|
||
}).then(function() {
|
||
return a;
|
||
}).then(cb);
|
||
};
|
||
Collection.prototype.primaryKeys = function(cb) {
|
||
var ctx = this._ctx;
|
||
if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {
|
||
return this._read(function(trans) {
|
||
var index = getIndexOrStore(ctx, ctx.table.core.schema);
|
||
return ctx.table.core.query({
|
||
trans: trans,
|
||
values: false,
|
||
limit: ctx.limit,
|
||
query: {
|
||
index: index,
|
||
range: ctx.range
|
||
}
|
||
});
|
||
}).then(function(_a) {
|
||
var result = _a.result;
|
||
return result;
|
||
}).then(cb);
|
||
}
|
||
ctx.keysOnly = !ctx.isMatch;
|
||
var a = [];
|
||
return this.each(function(item, cursor) {
|
||
a.push(cursor.primaryKey);
|
||
}).then(function() {
|
||
return a;
|
||
}).then(cb);
|
||
};
|
||
Collection.prototype.uniqueKeys = function(cb) {
|
||
this._ctx.unique = "unique";
|
||
return this.keys(cb);
|
||
};
|
||
Collection.prototype.firstKey = function(cb) {
|
||
return this.limit(1).keys(function(a) {
|
||
return a[0];
|
||
}).then(cb);
|
||
};
|
||
Collection.prototype.lastKey = function(cb) {
|
||
return this.reverse().firstKey(cb);
|
||
};
|
||
Collection.prototype.distinct = function() {
|
||
var ctx = this._ctx, idx = ctx.index && ctx.table.schema.idxByName[ctx.index];
|
||
if (!idx || !idx.multi) return this;
|
||
var set = {};
|
||
addFilter(this._ctx, function(cursor) {
|
||
var strKey = cursor.primaryKey.toString();
|
||
var found = hasOwn(set, strKey);
|
||
set[strKey] = true;
|
||
return !found;
|
||
});
|
||
return this;
|
||
};
|
||
Collection.prototype.modify = function(changes) {
|
||
var _this = this;
|
||
var ctx = this._ctx;
|
||
return this._write(function(trans) {
|
||
var modifyer;
|
||
if (typeof changes === 'function') {
|
||
modifyer = changes;
|
||
} else {
|
||
modifyer = function(item) {
|
||
return applyUpdateSpec(item, changes);
|
||
};
|
||
}
|
||
var coreTable = ctx.table.core;
|
||
var _a = coreTable.schema.primaryKey, outbound = _a.outbound, extractKey = _a.extractKey;
|
||
var limit = 200;
|
||
var modifyChunkSize = _this.db._options.modifyChunkSize;
|
||
if (modifyChunkSize) {
|
||
if (typeof modifyChunkSize == 'object') {
|
||
limit = modifyChunkSize[coreTable.name] || modifyChunkSize['*'] || 200;
|
||
} else {
|
||
limit = modifyChunkSize;
|
||
}
|
||
}
|
||
var totalFailures = [];
|
||
var successCount = 0;
|
||
var failedKeys = [];
|
||
var applyMutateResult = function(expectedCount, res) {
|
||
var failures = res.failures, numFailures = res.numFailures;
|
||
successCount += expectedCount - numFailures;
|
||
for(var _i = 0, _a = keys(failures); _i < _a.length; _i++){
|
||
var pos = _a[_i];
|
||
totalFailures.push(failures[pos]);
|
||
}
|
||
};
|
||
var isUnconditionalDelete = changes === deleteCallback;
|
||
return _this.clone().primaryKeys().then(function(keys) {
|
||
var criteria = isPlainKeyRange(ctx) && ctx.limit === Infinity && (typeof changes !== 'function' || isUnconditionalDelete) && {
|
||
index: ctx.index,
|
||
range: ctx.range
|
||
};
|
||
var nextChunk = function(offset) {
|
||
var count = Math.min(limit, keys.length - offset);
|
||
var keysInChunk = keys.slice(offset, offset + count);
|
||
return (isUnconditionalDelete ? Promise.resolve([]) : coreTable.getMany({
|
||
trans: trans,
|
||
keys: keysInChunk,
|
||
cache: "immutable"
|
||
})).then(function(values) {
|
||
var addValues = [];
|
||
var putValues = [];
|
||
var putKeys = outbound ? [] : null;
|
||
var deleteKeys = isUnconditionalDelete ? keysInChunk : [];
|
||
if (!isUnconditionalDelete) for(var i = 0; i < count; ++i){
|
||
var origValue = values[i];
|
||
var ctx_1 = {
|
||
value: deepClone(origValue),
|
||
primKey: keys[offset + i]
|
||
};
|
||
if (modifyer.call(ctx_1, ctx_1.value, ctx_1) !== false) {
|
||
if (ctx_1.value == null) {
|
||
deleteKeys.push(keys[offset + i]);
|
||
} else if (!outbound && cmp(extractKey(origValue), extractKey(ctx_1.value)) !== 0) {
|
||
deleteKeys.push(keys[offset + i]);
|
||
addValues.push(ctx_1.value);
|
||
} else {
|
||
putValues.push(ctx_1.value);
|
||
if (outbound) putKeys.push(keys[offset + i]);
|
||
}
|
||
}
|
||
}
|
||
return Promise.resolve(addValues.length > 0 && coreTable.mutate({
|
||
trans: trans,
|
||
type: 'add',
|
||
values: addValues
|
||
}).then(function(res) {
|
||
for(var pos in res.failures){
|
||
deleteKeys.splice(parseInt(pos), 1);
|
||
}
|
||
applyMutateResult(addValues.length, res);
|
||
})).then(function() {
|
||
return (putValues.length > 0 || criteria && typeof changes === 'object') && coreTable.mutate({
|
||
trans: trans,
|
||
type: 'put',
|
||
keys: putKeys,
|
||
values: putValues,
|
||
criteria: criteria,
|
||
changeSpec: typeof changes !== 'function' && changes,
|
||
isAdditionalChunk: offset > 0
|
||
}).then(function(res) {
|
||
return applyMutateResult(putValues.length, res);
|
||
});
|
||
}).then(function() {
|
||
return (deleteKeys.length > 0 || criteria && isUnconditionalDelete) && coreTable.mutate({
|
||
trans: trans,
|
||
type: 'delete',
|
||
keys: deleteKeys,
|
||
criteria: criteria,
|
||
isAdditionalChunk: offset > 0
|
||
}).then(function(res) {
|
||
return builtInDeletionTrigger(ctx.table, deleteKeys, res);
|
||
}).then(function(res) {
|
||
return applyMutateResult(deleteKeys.length, res);
|
||
});
|
||
}).then(function() {
|
||
return keys.length > offset + count && nextChunk(offset + limit);
|
||
});
|
||
});
|
||
};
|
||
return nextChunk(0).then(function() {
|
||
if (totalFailures.length > 0) throw new ModifyError("Error modifying one or more objects", totalFailures, successCount, failedKeys);
|
||
return keys.length;
|
||
});
|
||
});
|
||
});
|
||
};
|
||
Collection.prototype.delete = function() {
|
||
var ctx = this._ctx, range = ctx.range;
|
||
if (isPlainKeyRange(ctx) && !ctx.table.schema.yProps && (ctx.isPrimKey || range.type === 3)) {
|
||
return this._write(function(trans) {
|
||
var primaryKey = ctx.table.core.schema.primaryKey;
|
||
var coreRange = range;
|
||
return ctx.table.core.count({
|
||
trans: trans,
|
||
query: {
|
||
index: primaryKey,
|
||
range: coreRange
|
||
}
|
||
}).then(function(count) {
|
||
return ctx.table.core.mutate({
|
||
trans: trans,
|
||
type: 'deleteRange',
|
||
range: coreRange
|
||
}).then(function(_a) {
|
||
var failures = _a.failures, numFailures = _a.numFailures;
|
||
if (numFailures) throw new ModifyError("Could not delete some values", Object.keys(failures).map(function(pos) {
|
||
return failures[pos];
|
||
}), count - numFailures);
|
||
return count - numFailures;
|
||
});
|
||
});
|
||
});
|
||
}
|
||
return this.modify(deleteCallback);
|
||
};
|
||
return Collection;
|
||
}();
|
||
var deleteCallback = function(value, ctx) {
|
||
return ctx.value = null;
|
||
};
|
||
function createCollectionConstructor(db) {
|
||
return makeClassConstructor(Collection.prototype, function Collection(whereClause, keyRangeGenerator) {
|
||
this.db = db;
|
||
var keyRange = AnyRange, error = null;
|
||
if (keyRangeGenerator) try {
|
||
keyRange = keyRangeGenerator();
|
||
} catch (ex) {
|
||
error = ex;
|
||
}
|
||
var whereCtx = whereClause._ctx;
|
||
var table = whereCtx.table;
|
||
var readingHook = table.hook.reading.fire;
|
||
this._ctx = {
|
||
table: table,
|
||
index: whereCtx.index,
|
||
isPrimKey: !whereCtx.index || table.schema.primKey.keyPath && whereCtx.index === table.schema.primKey.name,
|
||
range: keyRange,
|
||
keysOnly: false,
|
||
dir: "next",
|
||
unique: "",
|
||
algorithm: null,
|
||
filter: null,
|
||
replayFilter: null,
|
||
justLimit: true,
|
||
isMatch: null,
|
||
offset: 0,
|
||
limit: Infinity,
|
||
error: error,
|
||
or: whereCtx.or,
|
||
valueMapper: readingHook !== mirror ? readingHook : null
|
||
};
|
||
});
|
||
}
|
||
function simpleCompare(a, b) {
|
||
return a < b ? -1 : a === b ? 0 : 1;
|
||
}
|
||
function simpleCompareReverse(a, b) {
|
||
return a > b ? -1 : a === b ? 0 : 1;
|
||
}
|
||
function fail(collectionOrWhereClause, err, T) {
|
||
var collection = collectionOrWhereClause instanceof WhereClause ? new collectionOrWhereClause.Collection(collectionOrWhereClause) : collectionOrWhereClause;
|
||
collection._ctx.error = T ? new T(err) : new TypeError(err);
|
||
return collection;
|
||
}
|
||
function emptyCollection(whereClause) {
|
||
return new whereClause.Collection(whereClause, function() {
|
||
return rangeEqual("");
|
||
}).limit(0);
|
||
}
|
||
function upperFactory(dir) {
|
||
return dir === "next" ? function(s) {
|
||
return s.toUpperCase();
|
||
} : function(s) {
|
||
return s.toLowerCase();
|
||
};
|
||
}
|
||
function lowerFactory(dir) {
|
||
return dir === "next" ? function(s) {
|
||
return s.toLowerCase();
|
||
} : function(s) {
|
||
return s.toUpperCase();
|
||
};
|
||
}
|
||
function nextCasing(key, lowerKey, upperNeedle, lowerNeedle, cmp, dir) {
|
||
var length = Math.min(key.length, lowerNeedle.length);
|
||
var llp = -1;
|
||
for(var i = 0; i < length; ++i){
|
||
var lwrKeyChar = lowerKey[i];
|
||
if (lwrKeyChar !== lowerNeedle[i]) {
|
||
if (cmp(key[i], upperNeedle[i]) < 0) return key.substr(0, i) + upperNeedle[i] + upperNeedle.substr(i + 1);
|
||
if (cmp(key[i], lowerNeedle[i]) < 0) return key.substr(0, i) + lowerNeedle[i] + upperNeedle.substr(i + 1);
|
||
if (llp >= 0) return key.substr(0, llp) + lowerKey[llp] + upperNeedle.substr(llp + 1);
|
||
return null;
|
||
}
|
||
if (cmp(key[i], lwrKeyChar) < 0) llp = i;
|
||
}
|
||
if (length < lowerNeedle.length && dir === "next") return key + upperNeedle.substr(key.length);
|
||
if (length < key.length && dir === "prev") return key.substr(0, upperNeedle.length);
|
||
return llp < 0 ? null : key.substr(0, llp) + lowerNeedle[llp] + upperNeedle.substr(llp + 1);
|
||
}
|
||
function addIgnoreCaseAlgorithm(whereClause, match, needles, suffix) {
|
||
var upper, lower, compare, upperNeedles, lowerNeedles, direction, nextKeySuffix, needlesLen = needles.length;
|
||
if (!needles.every(function(s) {
|
||
return typeof s === 'string';
|
||
})) {
|
||
return fail(whereClause, STRING_EXPECTED);
|
||
}
|
||
function initDirection(dir) {
|
||
upper = upperFactory(dir);
|
||
lower = lowerFactory(dir);
|
||
compare = dir === "next" ? simpleCompare : simpleCompareReverse;
|
||
var needleBounds = needles.map(function(needle) {
|
||
return {
|
||
lower: lower(needle),
|
||
upper: upper(needle)
|
||
};
|
||
}).sort(function(a, b) {
|
||
return compare(a.lower, b.lower);
|
||
});
|
||
upperNeedles = needleBounds.map(function(nb) {
|
||
return nb.upper;
|
||
});
|
||
lowerNeedles = needleBounds.map(function(nb) {
|
||
return nb.lower;
|
||
});
|
||
direction = dir;
|
||
nextKeySuffix = dir === "next" ? "" : suffix;
|
||
}
|
||
initDirection("next");
|
||
var c = new whereClause.Collection(whereClause, function() {
|
||
return createRange(upperNeedles[0], lowerNeedles[needlesLen - 1] + suffix);
|
||
});
|
||
c._ondirectionchange = function(direction) {
|
||
initDirection(direction);
|
||
};
|
||
var firstPossibleNeedle = 0;
|
||
c._addAlgorithm(function(cursor, advance, resolve) {
|
||
var key = cursor.key;
|
||
if (typeof key !== 'string') return false;
|
||
var lowerKey = lower(key);
|
||
if (match(lowerKey, lowerNeedles, firstPossibleNeedle)) {
|
||
return true;
|
||
} else {
|
||
var lowestPossibleCasing = null;
|
||
for(var i = firstPossibleNeedle; i < needlesLen; ++i){
|
||
var casing = nextCasing(key, lowerKey, upperNeedles[i], lowerNeedles[i], compare, direction);
|
||
if (casing === null && lowestPossibleCasing === null) firstPossibleNeedle = i + 1;
|
||
else if (lowestPossibleCasing === null || compare(lowestPossibleCasing, casing) > 0) {
|
||
lowestPossibleCasing = casing;
|
||
}
|
||
}
|
||
if (lowestPossibleCasing !== null) {
|
||
advance(function() {
|
||
cursor.continue(lowestPossibleCasing + nextKeySuffix);
|
||
});
|
||
} else {
|
||
advance(resolve);
|
||
}
|
||
return false;
|
||
}
|
||
});
|
||
return c;
|
||
}
|
||
function createRange(lower, upper, lowerOpen, upperOpen) {
|
||
return {
|
||
type: 2,
|
||
lower: lower,
|
||
upper: upper,
|
||
lowerOpen: lowerOpen,
|
||
upperOpen: upperOpen
|
||
};
|
||
}
|
||
function rangeEqual(value) {
|
||
return {
|
||
type: 1,
|
||
lower: value,
|
||
upper: value
|
||
};
|
||
}
|
||
var WhereClause = function() {
|
||
function WhereClause() {}
|
||
Object.defineProperty(WhereClause.prototype, "Collection", {
|
||
get: function() {
|
||
return this._ctx.table.db.Collection;
|
||
},
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
WhereClause.prototype.between = function(lower, upper, includeLower, includeUpper) {
|
||
includeLower = includeLower !== false;
|
||
includeUpper = includeUpper === true;
|
||
try {
|
||
if (this._cmp(lower, upper) > 0 || this._cmp(lower, upper) === 0 && (includeLower || includeUpper) && !(includeLower && includeUpper)) return emptyCollection(this);
|
||
return new this.Collection(this, function() {
|
||
return createRange(lower, upper, !includeLower, !includeUpper);
|
||
});
|
||
} catch (e) {
|
||
return fail(this, INVALID_KEY_ARGUMENT);
|
||
}
|
||
};
|
||
WhereClause.prototype.equals = function(value) {
|
||
if (value == null) return fail(this, INVALID_KEY_ARGUMENT);
|
||
return new this.Collection(this, function() {
|
||
return rangeEqual(value);
|
||
});
|
||
};
|
||
WhereClause.prototype.above = function(value) {
|
||
if (value == null) return fail(this, INVALID_KEY_ARGUMENT);
|
||
return new this.Collection(this, function() {
|
||
return createRange(value, undefined, true);
|
||
});
|
||
};
|
||
WhereClause.prototype.aboveOrEqual = function(value) {
|
||
if (value == null) return fail(this, INVALID_KEY_ARGUMENT);
|
||
return new this.Collection(this, function() {
|
||
return createRange(value, undefined, false);
|
||
});
|
||
};
|
||
WhereClause.prototype.below = function(value) {
|
||
if (value == null) return fail(this, INVALID_KEY_ARGUMENT);
|
||
return new this.Collection(this, function() {
|
||
return createRange(undefined, value, false, true);
|
||
});
|
||
};
|
||
WhereClause.prototype.belowOrEqual = function(value) {
|
||
if (value == null) return fail(this, INVALID_KEY_ARGUMENT);
|
||
return new this.Collection(this, function() {
|
||
return createRange(undefined, value);
|
||
});
|
||
};
|
||
WhereClause.prototype.startsWith = function(str) {
|
||
if (typeof str !== 'string') return fail(this, STRING_EXPECTED);
|
||
return this.between(str, str + maxString, true, true);
|
||
};
|
||
WhereClause.prototype.startsWithIgnoreCase = function(str) {
|
||
if (str === "") return this.startsWith(str);
|
||
return addIgnoreCaseAlgorithm(this, function(x, a) {
|
||
return x.indexOf(a[0]) === 0;
|
||
}, [
|
||
str
|
||
], maxString);
|
||
};
|
||
WhereClause.prototype.equalsIgnoreCase = function(str) {
|
||
return addIgnoreCaseAlgorithm(this, function(x, a) {
|
||
return x === a[0];
|
||
}, [
|
||
str
|
||
], "");
|
||
};
|
||
WhereClause.prototype.anyOfIgnoreCase = function() {
|
||
var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);
|
||
if (set.length === 0) return emptyCollection(this);
|
||
return addIgnoreCaseAlgorithm(this, function(x, a) {
|
||
return a.indexOf(x) !== -1;
|
||
}, set, "");
|
||
};
|
||
WhereClause.prototype.startsWithAnyOfIgnoreCase = function() {
|
||
var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);
|
||
if (set.length === 0) return emptyCollection(this);
|
||
return addIgnoreCaseAlgorithm(this, function(x, a) {
|
||
return a.some(function(n) {
|
||
return x.indexOf(n) === 0;
|
||
});
|
||
}, set, maxString);
|
||
};
|
||
WhereClause.prototype.anyOf = function() {
|
||
var _this = this;
|
||
var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);
|
||
var compare = this._cmp;
|
||
try {
|
||
set.sort(compare);
|
||
} catch (e) {
|
||
return fail(this, INVALID_KEY_ARGUMENT);
|
||
}
|
||
if (set.length === 0) return emptyCollection(this);
|
||
var c = new this.Collection(this, function() {
|
||
return createRange(set[0], set[set.length - 1]);
|
||
});
|
||
c._ondirectionchange = function(direction) {
|
||
compare = direction === "next" ? _this._ascending : _this._descending;
|
||
set.sort(compare);
|
||
};
|
||
var i = 0;
|
||
c._addAlgorithm(function(cursor, advance, resolve) {
|
||
var key = cursor.key;
|
||
while(compare(key, set[i]) > 0){
|
||
++i;
|
||
if (i === set.length) {
|
||
advance(resolve);
|
||
return false;
|
||
}
|
||
}
|
||
if (compare(key, set[i]) === 0) {
|
||
return true;
|
||
} else {
|
||
advance(function() {
|
||
cursor.continue(set[i]);
|
||
});
|
||
return false;
|
||
}
|
||
});
|
||
return c;
|
||
};
|
||
WhereClause.prototype.notEqual = function(value) {
|
||
return this.inAnyRange([
|
||
[
|
||
minKey,
|
||
value
|
||
],
|
||
[
|
||
value,
|
||
this.db._maxKey
|
||
]
|
||
], {
|
||
includeLowers: false,
|
||
includeUppers: false
|
||
});
|
||
};
|
||
WhereClause.prototype.noneOf = function() {
|
||
var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);
|
||
if (set.length === 0) return new this.Collection(this);
|
||
try {
|
||
set.sort(this._ascending);
|
||
} catch (e) {
|
||
return fail(this, INVALID_KEY_ARGUMENT);
|
||
}
|
||
var ranges = set.reduce(function(res, val) {
|
||
return res ? res.concat([
|
||
[
|
||
res[res.length - 1][1],
|
||
val
|
||
]
|
||
]) : [
|
||
[
|
||
minKey,
|
||
val
|
||
]
|
||
];
|
||
}, null);
|
||
ranges.push([
|
||
set[set.length - 1],
|
||
this.db._maxKey
|
||
]);
|
||
return this.inAnyRange(ranges, {
|
||
includeLowers: false,
|
||
includeUppers: false
|
||
});
|
||
};
|
||
WhereClause.prototype.inAnyRange = function(ranges, options) {
|
||
var _this = this;
|
||
var cmp = this._cmp, ascending = this._ascending, descending = this._descending, min = this._min, max = this._max;
|
||
if (ranges.length === 0) return emptyCollection(this);
|
||
if (!ranges.every(function(range) {
|
||
return range[0] !== undefined && range[1] !== undefined && ascending(range[0], range[1]) <= 0;
|
||
})) {
|
||
return fail(this, "First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower", exceptions.InvalidArgument);
|
||
}
|
||
var includeLowers = !options || options.includeLowers !== false;
|
||
var includeUppers = options && options.includeUppers === true;
|
||
function addRange(ranges, newRange) {
|
||
var i = 0, l = ranges.length;
|
||
for(; i < l; ++i){
|
||
var range = ranges[i];
|
||
if (cmp(newRange[0], range[1]) < 0 && cmp(newRange[1], range[0]) > 0) {
|
||
range[0] = min(range[0], newRange[0]);
|
||
range[1] = max(range[1], newRange[1]);
|
||
break;
|
||
}
|
||
}
|
||
if (i === l) ranges.push(newRange);
|
||
return ranges;
|
||
}
|
||
var sortDirection = ascending;
|
||
function rangeSorter(a, b) {
|
||
return sortDirection(a[0], b[0]);
|
||
}
|
||
var set;
|
||
try {
|
||
set = ranges.reduce(addRange, []);
|
||
set.sort(rangeSorter);
|
||
} catch (ex) {
|
||
return fail(this, INVALID_KEY_ARGUMENT);
|
||
}
|
||
var rangePos = 0;
|
||
var keyIsBeyondCurrentEntry = includeUppers ? function(key) {
|
||
return ascending(key, set[rangePos][1]) > 0;
|
||
} : function(key) {
|
||
return ascending(key, set[rangePos][1]) >= 0;
|
||
};
|
||
var keyIsBeforeCurrentEntry = includeLowers ? function(key) {
|
||
return descending(key, set[rangePos][0]) > 0;
|
||
} : function(key) {
|
||
return descending(key, set[rangePos][0]) >= 0;
|
||
};
|
||
function keyWithinCurrentRange(key) {
|
||
return !keyIsBeyondCurrentEntry(key) && !keyIsBeforeCurrentEntry(key);
|
||
}
|
||
var checkKey = keyIsBeyondCurrentEntry;
|
||
var c = new this.Collection(this, function() {
|
||
return createRange(set[0][0], set[set.length - 1][1], !includeLowers, !includeUppers);
|
||
});
|
||
c._ondirectionchange = function(direction) {
|
||
if (direction === "next") {
|
||
checkKey = keyIsBeyondCurrentEntry;
|
||
sortDirection = ascending;
|
||
} else {
|
||
checkKey = keyIsBeforeCurrentEntry;
|
||
sortDirection = descending;
|
||
}
|
||
set.sort(rangeSorter);
|
||
};
|
||
c._addAlgorithm(function(cursor, advance, resolve) {
|
||
var key = cursor.key;
|
||
while(checkKey(key)){
|
||
++rangePos;
|
||
if (rangePos === set.length) {
|
||
advance(resolve);
|
||
return false;
|
||
}
|
||
}
|
||
if (keyWithinCurrentRange(key)) {
|
||
return true;
|
||
} else if (_this._cmp(key, set[rangePos][1]) === 0 || _this._cmp(key, set[rangePos][0]) === 0) {
|
||
return false;
|
||
} else {
|
||
advance(function() {
|
||
if (sortDirection === ascending) cursor.continue(set[rangePos][0]);
|
||
else cursor.continue(set[rangePos][1]);
|
||
});
|
||
return false;
|
||
}
|
||
});
|
||
return c;
|
||
};
|
||
WhereClause.prototype.startsWithAnyOf = function() {
|
||
var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);
|
||
if (!set.every(function(s) {
|
||
return typeof s === 'string';
|
||
})) {
|
||
return fail(this, "startsWithAnyOf() only works with strings");
|
||
}
|
||
if (set.length === 0) return emptyCollection(this);
|
||
return this.inAnyRange(set.map(function(str) {
|
||
return [
|
||
str,
|
||
str + maxString
|
||
];
|
||
}));
|
||
};
|
||
return WhereClause;
|
||
}();
|
||
function createWhereClauseConstructor(db) {
|
||
return makeClassConstructor(WhereClause.prototype, function WhereClause(table, index, orCollection) {
|
||
this.db = db;
|
||
this._ctx = {
|
||
table: table,
|
||
index: index === ":id" ? null : index,
|
||
or: orCollection
|
||
};
|
||
this._cmp = this._ascending = cmp;
|
||
this._descending = function(a, b) {
|
||
return cmp(b, a);
|
||
};
|
||
this._max = function(a, b) {
|
||
return cmp(a, b) > 0 ? a : b;
|
||
};
|
||
this._min = function(a, b) {
|
||
return cmp(a, b) < 0 ? a : b;
|
||
};
|
||
this._IDBKeyRange = db._deps.IDBKeyRange;
|
||
if (!this._IDBKeyRange) throw new exceptions.MissingAPI();
|
||
});
|
||
}
|
||
function eventRejectHandler(reject) {
|
||
return wrap(function(event) {
|
||
preventDefault(event);
|
||
reject(event.target.error);
|
||
return false;
|
||
});
|
||
}
|
||
function preventDefault(event) {
|
||
if (event.stopPropagation) event.stopPropagation();
|
||
if (event.preventDefault) event.preventDefault();
|
||
}
|
||
var DEXIE_STORAGE_MUTATED_EVENT_NAME = 'storagemutated';
|
||
var STORAGE_MUTATED_DOM_EVENT_NAME = 'x-storagemutated-1';
|
||
var globalEvents = Events(null, DEXIE_STORAGE_MUTATED_EVENT_NAME);
|
||
var Transaction = function() {
|
||
function Transaction() {}
|
||
Transaction.prototype._lock = function() {
|
||
assert(!PSD.global);
|
||
++this._reculock;
|
||
if (this._reculock === 1 && !PSD.global) PSD.lockOwnerFor = this;
|
||
return this;
|
||
};
|
||
Transaction.prototype._unlock = function() {
|
||
assert(!PSD.global);
|
||
if (--this._reculock === 0) {
|
||
if (!PSD.global) PSD.lockOwnerFor = null;
|
||
while(this._blockedFuncs.length > 0 && !this._locked()){
|
||
var fnAndPSD = this._blockedFuncs.shift();
|
||
try {
|
||
usePSD(fnAndPSD[1], fnAndPSD[0]);
|
||
} catch (e) {}
|
||
}
|
||
}
|
||
return this;
|
||
};
|
||
Transaction.prototype._locked = function() {
|
||
return this._reculock && PSD.lockOwnerFor !== this;
|
||
};
|
||
Transaction.prototype.create = function(idbtrans) {
|
||
var _this = this;
|
||
if (!this.mode) return this;
|
||
var idbdb = this.db.idbdb;
|
||
var dbOpenError = this.db._state.dbOpenError;
|
||
assert(!this.idbtrans);
|
||
if (!idbtrans && !idbdb) {
|
||
switch(dbOpenError && dbOpenError.name){
|
||
case "DatabaseClosedError":
|
||
throw new exceptions.DatabaseClosed(dbOpenError);
|
||
case "MissingAPIError":
|
||
throw new exceptions.MissingAPI(dbOpenError.message, dbOpenError);
|
||
default:
|
||
throw new exceptions.OpenFailed(dbOpenError);
|
||
}
|
||
}
|
||
if (!this.active) throw new exceptions.TransactionInactive();
|
||
assert(this._completion._state === null);
|
||
idbtrans = this.idbtrans = idbtrans || (this.db.core ? this.db.core.transaction(this.storeNames, this.mode, {
|
||
durability: this.chromeTransactionDurability
|
||
}) : idbdb.transaction(this.storeNames, this.mode, {
|
||
durability: this.chromeTransactionDurability
|
||
}));
|
||
idbtrans.onerror = wrap(function(ev) {
|
||
preventDefault(ev);
|
||
_this._reject(idbtrans.error);
|
||
});
|
||
idbtrans.onabort = wrap(function(ev) {
|
||
preventDefault(ev);
|
||
_this.active && _this._reject(new exceptions.Abort(idbtrans.error));
|
||
_this.active = false;
|
||
_this.on("abort").fire(ev);
|
||
});
|
||
idbtrans.oncomplete = wrap(function() {
|
||
_this.active = false;
|
||
_this._resolve();
|
||
if ('mutatedParts' in idbtrans) {
|
||
globalEvents.storagemutated.fire(idbtrans["mutatedParts"]);
|
||
}
|
||
});
|
||
return this;
|
||
};
|
||
Transaction.prototype._promise = function(mode, fn, bWriteLock) {
|
||
var _this = this;
|
||
if (mode === 'readwrite' && this.mode !== 'readwrite') return rejection(new exceptions.ReadOnly("Transaction is readonly"));
|
||
if (!this.active) return rejection(new exceptions.TransactionInactive());
|
||
if (this._locked()) {
|
||
return new DexiePromise(function(resolve, reject) {
|
||
_this._blockedFuncs.push([
|
||
function() {
|
||
_this._promise(mode, fn, bWriteLock).then(resolve, reject);
|
||
},
|
||
PSD
|
||
]);
|
||
});
|
||
} else if (bWriteLock) {
|
||
return newScope(function() {
|
||
var p = new DexiePromise(function(resolve, reject) {
|
||
_this._lock();
|
||
var rv = fn(resolve, reject, _this);
|
||
if (rv && rv.then) rv.then(resolve, reject);
|
||
});
|
||
p.finally(function() {
|
||
return _this._unlock();
|
||
});
|
||
p._lib = true;
|
||
return p;
|
||
});
|
||
} else {
|
||
var p = new DexiePromise(function(resolve, reject) {
|
||
var rv = fn(resolve, reject, _this);
|
||
if (rv && rv.then) rv.then(resolve, reject);
|
||
});
|
||
p._lib = true;
|
||
return p;
|
||
}
|
||
};
|
||
Transaction.prototype._root = function() {
|
||
return this.parent ? this.parent._root() : this;
|
||
};
|
||
Transaction.prototype.waitFor = function(promiseLike) {
|
||
var root = this._root();
|
||
var promise = DexiePromise.resolve(promiseLike);
|
||
if (root._waitingFor) {
|
||
root._waitingFor = root._waitingFor.then(function() {
|
||
return promise;
|
||
});
|
||
} else {
|
||
root._waitingFor = promise;
|
||
root._waitingQueue = [];
|
||
var store = root.idbtrans.objectStore(root.storeNames[0]);
|
||
(function spin() {
|
||
++root._spinCount;
|
||
while(root._waitingQueue.length)root._waitingQueue.shift()();
|
||
if (root._waitingFor) store.get(-Infinity).onsuccess = spin;
|
||
})();
|
||
}
|
||
var currentWaitPromise = root._waitingFor;
|
||
return new DexiePromise(function(resolve, reject) {
|
||
promise.then(function(res) {
|
||
return root._waitingQueue.push(wrap(resolve.bind(null, res)));
|
||
}, function(err) {
|
||
return root._waitingQueue.push(wrap(reject.bind(null, err)));
|
||
}).finally(function() {
|
||
if (root._waitingFor === currentWaitPromise) {
|
||
root._waitingFor = null;
|
||
}
|
||
});
|
||
});
|
||
};
|
||
Transaction.prototype.abort = function() {
|
||
if (this.active) {
|
||
this.active = false;
|
||
if (this.idbtrans) this.idbtrans.abort();
|
||
this._reject(new exceptions.Abort());
|
||
}
|
||
};
|
||
Transaction.prototype.table = function(tableName) {
|
||
var memoizedTables = this._memoizedTables || (this._memoizedTables = {});
|
||
if (hasOwn(memoizedTables, tableName)) return memoizedTables[tableName];
|
||
var tableSchema = this.schema[tableName];
|
||
if (!tableSchema) {
|
||
throw new exceptions.NotFound("Table " + tableName + " not part of transaction");
|
||
}
|
||
var transactionBoundTable = new this.db.Table(tableName, tableSchema, this);
|
||
transactionBoundTable.core = this.db.core.table(tableName);
|
||
memoizedTables[tableName] = transactionBoundTable;
|
||
return transactionBoundTable;
|
||
};
|
||
return Transaction;
|
||
}();
|
||
function createTransactionConstructor(db) {
|
||
return makeClassConstructor(Transaction.prototype, function Transaction(mode, storeNames, dbschema, chromeTransactionDurability, parent) {
|
||
var _this = this;
|
||
if (mode !== 'readonly') storeNames.forEach(function(storeName) {
|
||
var _a;
|
||
var yProps = (_a = dbschema[storeName]) === null || _a === void 0 ? void 0 : _a.yProps;
|
||
if (yProps) storeNames = storeNames.concat(yProps.map(function(p) {
|
||
return p.updatesTable;
|
||
}));
|
||
});
|
||
this.db = db;
|
||
this.mode = mode;
|
||
this.storeNames = storeNames;
|
||
this.schema = dbschema;
|
||
this.chromeTransactionDurability = chromeTransactionDurability;
|
||
this.idbtrans = null;
|
||
this.on = Events(this, "complete", "error", "abort");
|
||
this.parent = parent || null;
|
||
this.active = true;
|
||
this._reculock = 0;
|
||
this._blockedFuncs = [];
|
||
this._resolve = null;
|
||
this._reject = null;
|
||
this._waitingFor = null;
|
||
this._waitingQueue = null;
|
||
this._spinCount = 0;
|
||
this._completion = new DexiePromise(function(resolve, reject) {
|
||
_this._resolve = resolve;
|
||
_this._reject = reject;
|
||
});
|
||
this._completion.then(function() {
|
||
_this.active = false;
|
||
_this.on.complete.fire();
|
||
}, function(e) {
|
||
var wasActive = _this.active;
|
||
_this.active = false;
|
||
_this.on.error.fire(e);
|
||
_this.parent ? _this.parent._reject(e) : wasActive && _this.idbtrans && _this.idbtrans.abort();
|
||
return rejection(e);
|
||
});
|
||
});
|
||
}
|
||
function createIndexSpec(name, keyPath, unique, multi, auto, compound, isPrimKey, type) {
|
||
return {
|
||
name: name,
|
||
keyPath: keyPath,
|
||
unique: unique,
|
||
multi: multi,
|
||
auto: auto,
|
||
compound: compound,
|
||
src: (unique && !isPrimKey ? '&' : '') + (multi ? '*' : '') + (auto ? "++" : "") + nameFromKeyPath(keyPath),
|
||
type: type
|
||
};
|
||
}
|
||
function nameFromKeyPath(keyPath) {
|
||
return typeof keyPath === 'string' ? keyPath : keyPath ? '[' + [].join.call(keyPath, '+') + ']' : "";
|
||
}
|
||
function createTableSchema(name, primKey, indexes) {
|
||
return {
|
||
name: name,
|
||
primKey: primKey,
|
||
indexes: indexes,
|
||
mappedClass: null,
|
||
idxByName: arrayToObject(indexes, function(index) {
|
||
return [
|
||
index.name,
|
||
index
|
||
];
|
||
})
|
||
};
|
||
}
|
||
function safariMultiStoreFix(storeNames) {
|
||
return storeNames.length === 1 ? storeNames[0] : storeNames;
|
||
}
|
||
var getMaxKey = function(IdbKeyRange) {
|
||
try {
|
||
IdbKeyRange.only([
|
||
[]
|
||
]);
|
||
getMaxKey = function() {
|
||
return [
|
||
[]
|
||
];
|
||
};
|
||
return [
|
||
[]
|
||
];
|
||
} catch (e) {
|
||
getMaxKey = function() {
|
||
return maxString;
|
||
};
|
||
return maxString;
|
||
}
|
||
};
|
||
function getKeyExtractor(keyPath) {
|
||
if (keyPath == null) {
|
||
return function() {
|
||
return undefined;
|
||
};
|
||
} else if (typeof keyPath === 'string') {
|
||
return getSinglePathKeyExtractor(keyPath);
|
||
} else {
|
||
return function(obj) {
|
||
return getByKeyPath(obj, keyPath);
|
||
};
|
||
}
|
||
}
|
||
function getSinglePathKeyExtractor(keyPath) {
|
||
var split = keyPath.split('.');
|
||
if (split.length === 1) {
|
||
return function(obj) {
|
||
return obj[keyPath];
|
||
};
|
||
} else {
|
||
return function(obj) {
|
||
return getByKeyPath(obj, keyPath);
|
||
};
|
||
}
|
||
}
|
||
function arrayify(arrayLike) {
|
||
return [].slice.call(arrayLike);
|
||
}
|
||
var _id_counter = 0;
|
||
function getKeyPathAlias(keyPath) {
|
||
return keyPath == null ? ":id" : typeof keyPath === 'string' ? keyPath : "[".concat(keyPath.join('+'), "]");
|
||
}
|
||
function createDBCore(db, IdbKeyRange, tmpTrans) {
|
||
function extractSchema(db, trans) {
|
||
var tables = arrayify(db.objectStoreNames);
|
||
return {
|
||
schema: {
|
||
name: db.name,
|
||
tables: tables.map(function(table) {
|
||
return trans.objectStore(table);
|
||
}).map(function(store) {
|
||
var keyPath = store.keyPath, autoIncrement = store.autoIncrement;
|
||
var compound = isArray(keyPath);
|
||
var outbound = keyPath == null;
|
||
var indexByKeyPath = {};
|
||
var result = {
|
||
name: store.name,
|
||
primaryKey: {
|
||
name: null,
|
||
isPrimaryKey: true,
|
||
outbound: outbound,
|
||
compound: compound,
|
||
keyPath: keyPath,
|
||
autoIncrement: autoIncrement,
|
||
unique: true,
|
||
extractKey: getKeyExtractor(keyPath)
|
||
},
|
||
indexes: arrayify(store.indexNames).map(function(indexName) {
|
||
return store.index(indexName);
|
||
}).map(function(index) {
|
||
var name = index.name, unique = index.unique, multiEntry = index.multiEntry, keyPath = index.keyPath;
|
||
var compound = isArray(keyPath);
|
||
var result = {
|
||
name: name,
|
||
compound: compound,
|
||
keyPath: keyPath,
|
||
unique: unique,
|
||
multiEntry: multiEntry,
|
||
extractKey: getKeyExtractor(keyPath)
|
||
};
|
||
indexByKeyPath[getKeyPathAlias(keyPath)] = result;
|
||
return result;
|
||
}),
|
||
getIndexByKeyPath: function(keyPath) {
|
||
return indexByKeyPath[getKeyPathAlias(keyPath)];
|
||
}
|
||
};
|
||
indexByKeyPath[":id"] = result.primaryKey;
|
||
if (keyPath != null) {
|
||
indexByKeyPath[getKeyPathAlias(keyPath)] = result.primaryKey;
|
||
}
|
||
return result;
|
||
})
|
||
},
|
||
hasGetAll: tables.length > 0 && 'getAll' in trans.objectStore(tables[0]) && !(typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604)
|
||
};
|
||
}
|
||
function makeIDBKeyRange(range) {
|
||
if (range.type === 3) return null;
|
||
if (range.type === 4) throw new Error("Cannot convert never type to IDBKeyRange");
|
||
var lower = range.lower, upper = range.upper, lowerOpen = range.lowerOpen, upperOpen = range.upperOpen;
|
||
var idbRange = lower === undefined ? upper === undefined ? null : IdbKeyRange.upperBound(upper, !!upperOpen) : upper === undefined ? IdbKeyRange.lowerBound(lower, !!lowerOpen) : IdbKeyRange.bound(lower, upper, !!lowerOpen, !!upperOpen);
|
||
return idbRange;
|
||
}
|
||
function createDbCoreTable(tableSchema) {
|
||
var tableName = tableSchema.name;
|
||
function mutate(_a) {
|
||
var trans = _a.trans, type = _a.type, keys = _a.keys, values = _a.values, range = _a.range;
|
||
return new Promise(function(resolve, reject) {
|
||
resolve = wrap(resolve);
|
||
var store = trans.objectStore(tableName);
|
||
var outbound = store.keyPath == null;
|
||
var isAddOrPut = type === "put" || type === "add";
|
||
if (!isAddOrPut && type !== 'delete' && type !== 'deleteRange') throw new Error("Invalid operation type: " + type);
|
||
var length = (keys || values || {
|
||
length: 1
|
||
}).length;
|
||
if (keys && values && keys.length !== values.length) {
|
||
throw new Error("Given keys array must have same length as given values array.");
|
||
}
|
||
if (length === 0) return resolve({
|
||
numFailures: 0,
|
||
failures: {},
|
||
results: [],
|
||
lastResult: undefined
|
||
});
|
||
var req;
|
||
var reqs = [];
|
||
var failures = [];
|
||
var numFailures = 0;
|
||
var errorHandler = function(event) {
|
||
++numFailures;
|
||
preventDefault(event);
|
||
};
|
||
if (type === 'deleteRange') {
|
||
if (range.type === 4) return resolve({
|
||
numFailures: numFailures,
|
||
failures: failures,
|
||
results: [],
|
||
lastResult: undefined
|
||
});
|
||
if (range.type === 3) reqs.push(req = store.clear());
|
||
else reqs.push(req = store.delete(makeIDBKeyRange(range)));
|
||
} else {
|
||
var _a = isAddOrPut ? outbound ? [
|
||
values,
|
||
keys
|
||
] : [
|
||
values,
|
||
null
|
||
] : [
|
||
keys,
|
||
null
|
||
], args1 = _a[0], args2 = _a[1];
|
||
if (isAddOrPut) {
|
||
for(var i = 0; i < length; ++i){
|
||
reqs.push(req = args2 && args2[i] !== undefined ? store[type](args1[i], args2[i]) : store[type](args1[i]));
|
||
req.onerror = errorHandler;
|
||
}
|
||
} else {
|
||
for(var i = 0; i < length; ++i){
|
||
reqs.push(req = store[type](args1[i]));
|
||
req.onerror = errorHandler;
|
||
}
|
||
}
|
||
}
|
||
var done = function(event) {
|
||
var lastResult = event.target.result;
|
||
reqs.forEach(function(req, i) {
|
||
return req.error != null && (failures[i] = req.error);
|
||
});
|
||
resolve({
|
||
numFailures: numFailures,
|
||
failures: failures,
|
||
results: type === "delete" ? keys : reqs.map(function(req) {
|
||
return req.result;
|
||
}),
|
||
lastResult: lastResult
|
||
});
|
||
};
|
||
req.onerror = function(event) {
|
||
errorHandler(event);
|
||
done(event);
|
||
};
|
||
req.onsuccess = done;
|
||
});
|
||
}
|
||
function openCursor(_a) {
|
||
var trans = _a.trans, values = _a.values, query = _a.query, reverse = _a.reverse, unique = _a.unique;
|
||
return new Promise(function(resolve, reject) {
|
||
resolve = wrap(resolve);
|
||
var index = query.index, range = query.range;
|
||
var store = trans.objectStore(tableName);
|
||
var source = index.isPrimaryKey ? store : store.index(index.name);
|
||
var direction = reverse ? unique ? "prevunique" : "prev" : unique ? "nextunique" : "next";
|
||
var req = values || !('openKeyCursor' in source) ? source.openCursor(makeIDBKeyRange(range), direction) : source.openKeyCursor(makeIDBKeyRange(range), direction);
|
||
req.onerror = eventRejectHandler(reject);
|
||
req.onsuccess = wrap(function(ev) {
|
||
var cursor = req.result;
|
||
if (!cursor) {
|
||
resolve(null);
|
||
return;
|
||
}
|
||
cursor.___id = ++_id_counter;
|
||
cursor.done = false;
|
||
var _cursorContinue = cursor.continue.bind(cursor);
|
||
var _cursorContinuePrimaryKey = cursor.continuePrimaryKey;
|
||
if (_cursorContinuePrimaryKey) _cursorContinuePrimaryKey = _cursorContinuePrimaryKey.bind(cursor);
|
||
var _cursorAdvance = cursor.advance.bind(cursor);
|
||
var doThrowCursorIsNotStarted = function() {
|
||
throw new Error("Cursor not started");
|
||
};
|
||
var doThrowCursorIsStopped = function() {
|
||
throw new Error("Cursor not stopped");
|
||
};
|
||
cursor.trans = trans;
|
||
cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsNotStarted;
|
||
cursor.fail = wrap(reject);
|
||
cursor.next = function() {
|
||
var _this = this;
|
||
var gotOne = 1;
|
||
return this.start(function() {
|
||
return gotOne-- ? _this.continue() : _this.stop();
|
||
}).then(function() {
|
||
return _this;
|
||
});
|
||
};
|
||
cursor.start = function(callback) {
|
||
var iterationPromise = new Promise(function(resolveIteration, rejectIteration) {
|
||
resolveIteration = wrap(resolveIteration);
|
||
req.onerror = eventRejectHandler(rejectIteration);
|
||
cursor.fail = rejectIteration;
|
||
cursor.stop = function(value) {
|
||
cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsStopped;
|
||
resolveIteration(value);
|
||
};
|
||
});
|
||
var guardedCallback = function() {
|
||
if (req.result) {
|
||
try {
|
||
callback();
|
||
} catch (err) {
|
||
cursor.fail(err);
|
||
}
|
||
} else {
|
||
cursor.done = true;
|
||
cursor.start = function() {
|
||
throw new Error("Cursor behind last entry");
|
||
};
|
||
cursor.stop();
|
||
}
|
||
};
|
||
req.onsuccess = wrap(function(ev) {
|
||
req.onsuccess = guardedCallback;
|
||
guardedCallback();
|
||
});
|
||
cursor.continue = _cursorContinue;
|
||
cursor.continuePrimaryKey = _cursorContinuePrimaryKey;
|
||
cursor.advance = _cursorAdvance;
|
||
guardedCallback();
|
||
return iterationPromise;
|
||
};
|
||
resolve(cursor);
|
||
}, reject);
|
||
});
|
||
}
|
||
function query(hasGetAll) {
|
||
return function(request) {
|
||
return new Promise(function(resolve, reject) {
|
||
resolve = wrap(resolve);
|
||
var trans = request.trans, values = request.values, limit = request.limit, query = request.query;
|
||
var nonInfinitLimit = limit === Infinity ? undefined : limit;
|
||
var index = query.index, range = query.range;
|
||
var store = trans.objectStore(tableName);
|
||
var source = index.isPrimaryKey ? store : store.index(index.name);
|
||
var idbKeyRange = makeIDBKeyRange(range);
|
||
if (limit === 0) return resolve({
|
||
result: []
|
||
});
|
||
if (hasGetAll) {
|
||
var req = values ? source.getAll(idbKeyRange, nonInfinitLimit) : source.getAllKeys(idbKeyRange, nonInfinitLimit);
|
||
req.onsuccess = function(event) {
|
||
return resolve({
|
||
result: event.target.result
|
||
});
|
||
};
|
||
req.onerror = eventRejectHandler(reject);
|
||
} else {
|
||
var count_1 = 0;
|
||
var req_1 = values || !('openKeyCursor' in source) ? source.openCursor(idbKeyRange) : source.openKeyCursor(idbKeyRange);
|
||
var result_1 = [];
|
||
req_1.onsuccess = function(event) {
|
||
var cursor = req_1.result;
|
||
if (!cursor) return resolve({
|
||
result: result_1
|
||
});
|
||
result_1.push(values ? cursor.value : cursor.primaryKey);
|
||
if (++count_1 === limit) return resolve({
|
||
result: result_1
|
||
});
|
||
cursor.continue();
|
||
};
|
||
req_1.onerror = eventRejectHandler(reject);
|
||
}
|
||
});
|
||
};
|
||
}
|
||
return {
|
||
name: tableName,
|
||
schema: tableSchema,
|
||
mutate: mutate,
|
||
getMany: function(_a) {
|
||
var trans = _a.trans, keys = _a.keys;
|
||
return new Promise(function(resolve, reject) {
|
||
resolve = wrap(resolve);
|
||
var store = trans.objectStore(tableName);
|
||
var length = keys.length;
|
||
var result = new Array(length);
|
||
var keyCount = 0;
|
||
var callbackCount = 0;
|
||
var req;
|
||
var successHandler = function(event) {
|
||
var req = event.target;
|
||
if ((result[req._pos] = req.result) != null) ;
|
||
if (++callbackCount === keyCount) resolve(result);
|
||
};
|
||
var errorHandler = eventRejectHandler(reject);
|
||
for(var i = 0; i < length; ++i){
|
||
var key = keys[i];
|
||
if (key != null) {
|
||
req = store.get(keys[i]);
|
||
req._pos = i;
|
||
req.onsuccess = successHandler;
|
||
req.onerror = errorHandler;
|
||
++keyCount;
|
||
}
|
||
}
|
||
if (keyCount === 0) resolve(result);
|
||
});
|
||
},
|
||
get: function(_a) {
|
||
var trans = _a.trans, key = _a.key;
|
||
return new Promise(function(resolve, reject) {
|
||
resolve = wrap(resolve);
|
||
var store = trans.objectStore(tableName);
|
||
var req = store.get(key);
|
||
req.onsuccess = function(event) {
|
||
return resolve(event.target.result);
|
||
};
|
||
req.onerror = eventRejectHandler(reject);
|
||
});
|
||
},
|
||
query: query(hasGetAll),
|
||
openCursor: openCursor,
|
||
count: function(_a) {
|
||
var query = _a.query, trans = _a.trans;
|
||
var index = query.index, range = query.range;
|
||
return new Promise(function(resolve, reject) {
|
||
var store = trans.objectStore(tableName);
|
||
var source = index.isPrimaryKey ? store : store.index(index.name);
|
||
var idbKeyRange = makeIDBKeyRange(range);
|
||
var req = idbKeyRange ? source.count(idbKeyRange) : source.count();
|
||
req.onsuccess = wrap(function(ev) {
|
||
return resolve(ev.target.result);
|
||
});
|
||
req.onerror = eventRejectHandler(reject);
|
||
});
|
||
}
|
||
};
|
||
}
|
||
var _a = extractSchema(db, tmpTrans), schema = _a.schema, hasGetAll = _a.hasGetAll;
|
||
var tables = schema.tables.map(function(tableSchema) {
|
||
return createDbCoreTable(tableSchema);
|
||
});
|
||
var tableMap = {};
|
||
tables.forEach(function(table) {
|
||
return tableMap[table.name] = table;
|
||
});
|
||
return {
|
||
stack: "dbcore",
|
||
transaction: db.transaction.bind(db),
|
||
table: function(name) {
|
||
var result = tableMap[name];
|
||
if (!result) throw new Error("Table '".concat(name, "' not found"));
|
||
return tableMap[name];
|
||
},
|
||
MIN_KEY: -Infinity,
|
||
MAX_KEY: getMaxKey(IdbKeyRange),
|
||
schema: schema
|
||
};
|
||
}
|
||
function createMiddlewareStack(stackImpl, middlewares) {
|
||
return middlewares.reduce(function(down, _a) {
|
||
var create = _a.create;
|
||
return __assign(__assign({}, down), create(down));
|
||
}, stackImpl);
|
||
}
|
||
function createMiddlewareStacks(middlewares, idbdb, _a, tmpTrans) {
|
||
var IDBKeyRange = _a.IDBKeyRange;
|
||
_a.indexedDB;
|
||
var dbcore = createMiddlewareStack(createDBCore(idbdb, IDBKeyRange, tmpTrans), middlewares.dbcore);
|
||
return {
|
||
dbcore: dbcore
|
||
};
|
||
}
|
||
function generateMiddlewareStacks(db, tmpTrans) {
|
||
var idbdb = tmpTrans.db;
|
||
var stacks = createMiddlewareStacks(db._middlewares, idbdb, db._deps, tmpTrans);
|
||
db.core = stacks.dbcore;
|
||
db.tables.forEach(function(table) {
|
||
var tableName = table.name;
|
||
if (db.core.schema.tables.some(function(tbl) {
|
||
return tbl.name === tableName;
|
||
})) {
|
||
table.core = db.core.table(tableName);
|
||
if (db[tableName] instanceof db.Table) {
|
||
db[tableName].core = table.core;
|
||
}
|
||
}
|
||
});
|
||
}
|
||
function setApiOnPlace(db, objs, tableNames, dbschema) {
|
||
tableNames.forEach(function(tableName) {
|
||
var schema = dbschema[tableName];
|
||
objs.forEach(function(obj) {
|
||
var propDesc = getPropertyDescriptor(obj, tableName);
|
||
if (!propDesc || "value" in propDesc && propDesc.value === undefined) {
|
||
if (obj === db.Transaction.prototype || obj instanceof db.Transaction) {
|
||
setProp(obj, tableName, {
|
||
get: function() {
|
||
return this.table(tableName);
|
||
},
|
||
set: function(value) {
|
||
defineProperty(this, tableName, {
|
||
value: value,
|
||
writable: true,
|
||
configurable: true,
|
||
enumerable: true
|
||
});
|
||
}
|
||
});
|
||
} else {
|
||
obj[tableName] = new db.Table(tableName, schema);
|
||
}
|
||
}
|
||
});
|
||
});
|
||
}
|
||
function removeTablesApi(db, objs) {
|
||
objs.forEach(function(obj) {
|
||
for(var key in obj){
|
||
if (obj[key] instanceof db.Table) delete obj[key];
|
||
}
|
||
});
|
||
}
|
||
function lowerVersionFirst(a, b) {
|
||
return a._cfg.version - b._cfg.version;
|
||
}
|
||
function runUpgraders(db, oldVersion, idbUpgradeTrans, reject) {
|
||
var globalSchema = db._dbSchema;
|
||
if (idbUpgradeTrans.objectStoreNames.contains('$meta') && !globalSchema.$meta) {
|
||
globalSchema.$meta = createTableSchema("$meta", parseIndexSyntax("")[0], []);
|
||
db._storeNames.push('$meta');
|
||
}
|
||
var trans = db._createTransaction('readwrite', db._storeNames, globalSchema);
|
||
trans.create(idbUpgradeTrans);
|
||
trans._completion.catch(reject);
|
||
var rejectTransaction = trans._reject.bind(trans);
|
||
var transless = PSD.transless || PSD;
|
||
newScope(function() {
|
||
PSD.trans = trans;
|
||
PSD.transless = transless;
|
||
if (oldVersion === 0) {
|
||
keys(globalSchema).forEach(function(tableName) {
|
||
createTable(idbUpgradeTrans, tableName, globalSchema[tableName].primKey, globalSchema[tableName].indexes);
|
||
});
|
||
generateMiddlewareStacks(db, idbUpgradeTrans);
|
||
DexiePromise.follow(function() {
|
||
return db.on.populate.fire(trans);
|
||
}).catch(rejectTransaction);
|
||
} else {
|
||
generateMiddlewareStacks(db, idbUpgradeTrans);
|
||
return getExistingVersion(db, trans, oldVersion).then(function(oldVersion) {
|
||
return updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans);
|
||
}).catch(rejectTransaction);
|
||
}
|
||
});
|
||
}
|
||
function patchCurrentVersion(db, idbUpgradeTrans) {
|
||
createMissingTables(db._dbSchema, idbUpgradeTrans);
|
||
if (idbUpgradeTrans.db.version % 10 === 0 && !idbUpgradeTrans.objectStoreNames.contains('$meta')) {
|
||
idbUpgradeTrans.db.createObjectStore('$meta').add(Math.ceil(idbUpgradeTrans.db.version / 10 - 1), 'version');
|
||
}
|
||
var globalSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);
|
||
adjustToExistingIndexNames(db, db._dbSchema, idbUpgradeTrans);
|
||
var diff = getSchemaDiff(globalSchema, db._dbSchema);
|
||
var _loop_1 = function(tableChange) {
|
||
if (tableChange.change.length || tableChange.recreate) {
|
||
console.warn("Unable to patch indexes of table ".concat(tableChange.name, " because it has changes on the type of index or primary key."));
|
||
return {
|
||
value: void 0
|
||
};
|
||
}
|
||
var store = idbUpgradeTrans.objectStore(tableChange.name);
|
||
tableChange.add.forEach(function(idx) {
|
||
if (debug) console.debug("Dexie upgrade patch: Creating missing index ".concat(tableChange.name, ".").concat(idx.src));
|
||
addIndex(store, idx);
|
||
});
|
||
};
|
||
for(var _i = 0, _a = diff.change; _i < _a.length; _i++){
|
||
var tableChange = _a[_i];
|
||
var state_1 = _loop_1(tableChange);
|
||
if (typeof state_1 === "object") return state_1.value;
|
||
}
|
||
}
|
||
function getExistingVersion(db, trans, oldVersion) {
|
||
if (trans.storeNames.includes('$meta')) {
|
||
return trans.table('$meta').get('version').then(function(metaVersion) {
|
||
return metaVersion != null ? metaVersion : oldVersion;
|
||
});
|
||
} else {
|
||
return DexiePromise.resolve(oldVersion);
|
||
}
|
||
}
|
||
function updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans) {
|
||
var queue = [];
|
||
var versions = db._versions;
|
||
var globalSchema = db._dbSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);
|
||
var versToRun = versions.filter(function(v) {
|
||
return v._cfg.version >= oldVersion;
|
||
});
|
||
if (versToRun.length === 0) {
|
||
return DexiePromise.resolve();
|
||
}
|
||
versToRun.forEach(function(version) {
|
||
queue.push(function() {
|
||
var oldSchema = globalSchema;
|
||
var newSchema = version._cfg.dbschema;
|
||
adjustToExistingIndexNames(db, oldSchema, idbUpgradeTrans);
|
||
adjustToExistingIndexNames(db, newSchema, idbUpgradeTrans);
|
||
globalSchema = db._dbSchema = newSchema;
|
||
var diff = getSchemaDiff(oldSchema, newSchema);
|
||
diff.add.forEach(function(tuple) {
|
||
createTable(idbUpgradeTrans, tuple[0], tuple[1].primKey, tuple[1].indexes);
|
||
});
|
||
diff.change.forEach(function(change) {
|
||
if (change.recreate) {
|
||
throw new exceptions.Upgrade("Not yet support for changing primary key");
|
||
} else {
|
||
var store_1 = idbUpgradeTrans.objectStore(change.name);
|
||
change.add.forEach(function(idx) {
|
||
return addIndex(store_1, idx);
|
||
});
|
||
change.change.forEach(function(idx) {
|
||
store_1.deleteIndex(idx.name);
|
||
addIndex(store_1, idx);
|
||
});
|
||
change.del.forEach(function(idxName) {
|
||
return store_1.deleteIndex(idxName);
|
||
});
|
||
}
|
||
});
|
||
var contentUpgrade = version._cfg.contentUpgrade;
|
||
if (contentUpgrade && version._cfg.version > oldVersion) {
|
||
generateMiddlewareStacks(db, idbUpgradeTrans);
|
||
trans._memoizedTables = {};
|
||
var upgradeSchema_1 = shallowClone(newSchema);
|
||
diff.del.forEach(function(table) {
|
||
upgradeSchema_1[table] = oldSchema[table];
|
||
});
|
||
removeTablesApi(db, [
|
||
db.Transaction.prototype
|
||
]);
|
||
setApiOnPlace(db, [
|
||
db.Transaction.prototype
|
||
], keys(upgradeSchema_1), upgradeSchema_1);
|
||
trans.schema = upgradeSchema_1;
|
||
var contentUpgradeIsAsync_1 = isAsyncFunction(contentUpgrade);
|
||
if (contentUpgradeIsAsync_1) {
|
||
incrementExpectedAwaits();
|
||
}
|
||
var returnValue_1;
|
||
var promiseFollowed = DexiePromise.follow(function() {
|
||
returnValue_1 = contentUpgrade(trans);
|
||
if (returnValue_1) {
|
||
if (contentUpgradeIsAsync_1) {
|
||
var decrementor = decrementExpectedAwaits.bind(null, null);
|
||
returnValue_1.then(decrementor, decrementor);
|
||
}
|
||
}
|
||
});
|
||
return returnValue_1 && typeof returnValue_1.then === 'function' ? DexiePromise.resolve(returnValue_1) : promiseFollowed.then(function() {
|
||
return returnValue_1;
|
||
});
|
||
}
|
||
});
|
||
queue.push(function(idbtrans) {
|
||
var newSchema = version._cfg.dbschema;
|
||
deleteRemovedTables(newSchema, idbtrans);
|
||
removeTablesApi(db, [
|
||
db.Transaction.prototype
|
||
]);
|
||
setApiOnPlace(db, [
|
||
db.Transaction.prototype
|
||
], db._storeNames, db._dbSchema);
|
||
trans.schema = db._dbSchema;
|
||
});
|
||
queue.push(function(idbtrans) {
|
||
if (db.idbdb.objectStoreNames.contains('$meta')) {
|
||
if (Math.ceil(db.idbdb.version / 10) === version._cfg.version) {
|
||
db.idbdb.deleteObjectStore('$meta');
|
||
delete db._dbSchema.$meta;
|
||
db._storeNames = db._storeNames.filter(function(name) {
|
||
return name !== '$meta';
|
||
});
|
||
} else {
|
||
idbtrans.objectStore('$meta').put(version._cfg.version, 'version');
|
||
}
|
||
}
|
||
});
|
||
});
|
||
function runQueue() {
|
||
return queue.length ? DexiePromise.resolve(queue.shift()(trans.idbtrans)).then(runQueue) : DexiePromise.resolve();
|
||
}
|
||
return runQueue().then(function() {
|
||
createMissingTables(globalSchema, idbUpgradeTrans);
|
||
});
|
||
}
|
||
function getSchemaDiff(oldSchema, newSchema) {
|
||
var diff = {
|
||
del: [],
|
||
add: [],
|
||
change: []
|
||
};
|
||
var table;
|
||
for(table in oldSchema){
|
||
if (!newSchema[table]) diff.del.push(table);
|
||
}
|
||
for(table in newSchema){
|
||
var oldDef = oldSchema[table], newDef = newSchema[table];
|
||
if (!oldDef) {
|
||
diff.add.push([
|
||
table,
|
||
newDef
|
||
]);
|
||
} else {
|
||
var change = {
|
||
name: table,
|
||
def: newDef,
|
||
recreate: false,
|
||
del: [],
|
||
add: [],
|
||
change: []
|
||
};
|
||
if ('' + (oldDef.primKey.keyPath || '') !== '' + (newDef.primKey.keyPath || '') || oldDef.primKey.auto !== newDef.primKey.auto) {
|
||
change.recreate = true;
|
||
diff.change.push(change);
|
||
} else {
|
||
var oldIndexes = oldDef.idxByName;
|
||
var newIndexes = newDef.idxByName;
|
||
var idxName = void 0;
|
||
for(idxName in oldIndexes){
|
||
if (!newIndexes[idxName]) change.del.push(idxName);
|
||
}
|
||
for(idxName in newIndexes){
|
||
var oldIdx = oldIndexes[idxName], newIdx = newIndexes[idxName];
|
||
if (!oldIdx) change.add.push(newIdx);
|
||
else if (oldIdx.src !== newIdx.src) change.change.push(newIdx);
|
||
}
|
||
if (change.del.length > 0 || change.add.length > 0 || change.change.length > 0) {
|
||
diff.change.push(change);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
return diff;
|
||
}
|
||
function createTable(idbtrans, tableName, primKey, indexes) {
|
||
var store = idbtrans.db.createObjectStore(tableName, primKey.keyPath ? {
|
||
keyPath: primKey.keyPath,
|
||
autoIncrement: primKey.auto
|
||
} : {
|
||
autoIncrement: primKey.auto
|
||
});
|
||
indexes.forEach(function(idx) {
|
||
return addIndex(store, idx);
|
||
});
|
||
return store;
|
||
}
|
||
function createMissingTables(newSchema, idbtrans) {
|
||
keys(newSchema).forEach(function(tableName) {
|
||
if (!idbtrans.db.objectStoreNames.contains(tableName)) {
|
||
if (debug) console.debug('Dexie: Creating missing table', tableName);
|
||
createTable(idbtrans, tableName, newSchema[tableName].primKey, newSchema[tableName].indexes);
|
||
}
|
||
});
|
||
}
|
||
function deleteRemovedTables(newSchema, idbtrans) {
|
||
[].slice.call(idbtrans.db.objectStoreNames).forEach(function(storeName) {
|
||
return newSchema[storeName] == null && idbtrans.db.deleteObjectStore(storeName);
|
||
});
|
||
}
|
||
function addIndex(store, idx) {
|
||
store.createIndex(idx.name, idx.keyPath, {
|
||
unique: idx.unique,
|
||
multiEntry: idx.multi
|
||
});
|
||
}
|
||
function buildGlobalSchema(db, idbdb, tmpTrans) {
|
||
var globalSchema = {};
|
||
var dbStoreNames = slice(idbdb.objectStoreNames, 0);
|
||
dbStoreNames.forEach(function(storeName) {
|
||
var store = tmpTrans.objectStore(storeName);
|
||
var keyPath = store.keyPath;
|
||
var primKey = createIndexSpec(nameFromKeyPath(keyPath), keyPath || "", true, false, !!store.autoIncrement, keyPath && typeof keyPath !== "string", true);
|
||
var indexes = [];
|
||
for(var j = 0; j < store.indexNames.length; ++j){
|
||
var idbindex = store.index(store.indexNames[j]);
|
||
keyPath = idbindex.keyPath;
|
||
var index = createIndexSpec(idbindex.name, keyPath, !!idbindex.unique, !!idbindex.multiEntry, false, keyPath && typeof keyPath !== "string", false);
|
||
indexes.push(index);
|
||
}
|
||
globalSchema[storeName] = createTableSchema(storeName, primKey, indexes);
|
||
});
|
||
return globalSchema;
|
||
}
|
||
function readGlobalSchema(db, idbdb, tmpTrans) {
|
||
db.verno = idbdb.version / 10;
|
||
var globalSchema = db._dbSchema = buildGlobalSchema(db, idbdb, tmpTrans);
|
||
db._storeNames = slice(idbdb.objectStoreNames, 0);
|
||
setApiOnPlace(db, [
|
||
db._allTables
|
||
], keys(globalSchema), globalSchema);
|
||
}
|
||
function verifyInstalledSchema(db, tmpTrans) {
|
||
var installedSchema = buildGlobalSchema(db, db.idbdb, tmpTrans);
|
||
var diff = getSchemaDiff(installedSchema, db._dbSchema);
|
||
return !(diff.add.length || diff.change.some(function(ch) {
|
||
return ch.add.length || ch.change.length;
|
||
}));
|
||
}
|
||
function adjustToExistingIndexNames(db, schema, idbtrans) {
|
||
var storeNames = idbtrans.db.objectStoreNames;
|
||
for(var i = 0; i < storeNames.length; ++i){
|
||
var storeName = storeNames[i];
|
||
var store = idbtrans.objectStore(storeName);
|
||
db._hasGetAll = 'getAll' in store;
|
||
for(var j = 0; j < store.indexNames.length; ++j){
|
||
var indexName = store.indexNames[j];
|
||
var keyPath = store.index(indexName).keyPath;
|
||
var dexieName = typeof keyPath === 'string' ? keyPath : "[" + slice(keyPath).join('+') + "]";
|
||
if (schema[storeName]) {
|
||
var indexSpec = schema[storeName].idxByName[dexieName];
|
||
if (indexSpec) {
|
||
indexSpec.name = indexName;
|
||
delete schema[storeName].idxByName[dexieName];
|
||
schema[storeName].idxByName[indexName] = indexSpec;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && _global.WorkerGlobalScope && _global instanceof _global.WorkerGlobalScope && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604) {
|
||
db._hasGetAll = false;
|
||
}
|
||
}
|
||
function parseIndexSyntax(primKeyAndIndexes) {
|
||
return primKeyAndIndexes.split(',').map(function(index, indexNum) {
|
||
var _a;
|
||
var typeSplit = index.split(':');
|
||
var type = (_a = typeSplit[1]) === null || _a === void 0 ? void 0 : _a.trim();
|
||
index = typeSplit[0].trim();
|
||
var name = index.replace(/([&*]|\+\+)/g, "");
|
||
var keyPath = /^\[/.test(name) ? name.match(/^\[(.*)\]$/)[1].split('+') : name;
|
||
return createIndexSpec(name, keyPath || null, /\&/.test(index), /\*/.test(index), /\+\+/.test(index), isArray(keyPath), indexNum === 0, type);
|
||
});
|
||
}
|
||
var Version = function() {
|
||
function Version() {}
|
||
Version.prototype._createTableSchema = function(name, primKey, indexes) {
|
||
return createTableSchema(name, primKey, indexes);
|
||
};
|
||
Version.prototype._parseIndexSyntax = function(primKeyAndIndexes) {
|
||
return parseIndexSyntax(primKeyAndIndexes);
|
||
};
|
||
Version.prototype._parseStoresSpec = function(stores, outSchema) {
|
||
var _this = this;
|
||
keys(stores).forEach(function(tableName) {
|
||
if (stores[tableName] !== null) {
|
||
var indexes = _this._parseIndexSyntax(stores[tableName]);
|
||
var primKey = indexes.shift();
|
||
if (!primKey) {
|
||
throw new exceptions.Schema('Invalid schema for table ' + tableName + ': ' + stores[tableName]);
|
||
}
|
||
primKey.unique = true;
|
||
if (primKey.multi) throw new exceptions.Schema('Primary key cannot be multiEntry*');
|
||
indexes.forEach(function(idx) {
|
||
if (idx.auto) throw new exceptions.Schema('Only primary key can be marked as autoIncrement (++)');
|
||
if (!idx.keyPath) throw new exceptions.Schema('Index must have a name and cannot be an empty string');
|
||
});
|
||
var tblSchema = _this._createTableSchema(tableName, primKey, indexes);
|
||
outSchema[tableName] = tblSchema;
|
||
}
|
||
});
|
||
};
|
||
Version.prototype.stores = function(stores) {
|
||
var db = this.db;
|
||
this._cfg.storesSource = this._cfg.storesSource ? extend(this._cfg.storesSource, stores) : stores;
|
||
var versions = db._versions;
|
||
var storesSpec = {};
|
||
var dbschema = {};
|
||
versions.forEach(function(version) {
|
||
extend(storesSpec, version._cfg.storesSource);
|
||
dbschema = version._cfg.dbschema = {};
|
||
version._parseStoresSpec(storesSpec, dbschema);
|
||
});
|
||
db._dbSchema = dbschema;
|
||
removeTablesApi(db, [
|
||
db._allTables,
|
||
db,
|
||
db.Transaction.prototype
|
||
]);
|
||
setApiOnPlace(db, [
|
||
db._allTables,
|
||
db,
|
||
db.Transaction.prototype,
|
||
this._cfg.tables
|
||
], keys(dbschema), dbschema);
|
||
db._storeNames = keys(dbschema);
|
||
return this;
|
||
};
|
||
Version.prototype.upgrade = function(upgradeFunction) {
|
||
this._cfg.contentUpgrade = promisableChain(this._cfg.contentUpgrade || nop, upgradeFunction);
|
||
return this;
|
||
};
|
||
return Version;
|
||
}();
|
||
function createVersionConstructor(db) {
|
||
return makeClassConstructor(Version.prototype, function Version(versionNumber) {
|
||
this.db = db;
|
||
this._cfg = {
|
||
version: versionNumber,
|
||
storesSource: null,
|
||
dbschema: {},
|
||
tables: {},
|
||
contentUpgrade: null
|
||
};
|
||
});
|
||
}
|
||
function getDbNamesTable(indexedDB1, IDBKeyRange) {
|
||
var dbNamesDB = indexedDB1["_dbNamesDB"];
|
||
if (!dbNamesDB) {
|
||
dbNamesDB = indexedDB1["_dbNamesDB"] = new Dexie$1(DBNAMES_DB, {
|
||
addons: [],
|
||
indexedDB: indexedDB1,
|
||
IDBKeyRange: IDBKeyRange
|
||
});
|
||
dbNamesDB.version(1).stores({
|
||
dbnames: "name"
|
||
});
|
||
}
|
||
return dbNamesDB.table("dbnames");
|
||
}
|
||
function hasDatabasesNative(indexedDB1) {
|
||
return indexedDB1 && typeof indexedDB1.databases === "function";
|
||
}
|
||
function getDatabaseNames(_a) {
|
||
var indexedDB1 = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;
|
||
return hasDatabasesNative(indexedDB1) ? Promise.resolve(indexedDB1.databases()).then(function(infos) {
|
||
return infos.map(function(info) {
|
||
return info.name;
|
||
}).filter(function(name) {
|
||
return name !== DBNAMES_DB;
|
||
});
|
||
}) : getDbNamesTable(indexedDB1, IDBKeyRange).toCollection().primaryKeys();
|
||
}
|
||
function _onDatabaseCreated(_a, name) {
|
||
var indexedDB1 = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;
|
||
!hasDatabasesNative(indexedDB1) && name !== DBNAMES_DB && getDbNamesTable(indexedDB1, IDBKeyRange).put({
|
||
name: name
|
||
}).catch(nop);
|
||
}
|
||
function _onDatabaseDeleted(_a, name) {
|
||
var indexedDB1 = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;
|
||
!hasDatabasesNative(indexedDB1) && name !== DBNAMES_DB && getDbNamesTable(indexedDB1, IDBKeyRange).delete(name).catch(nop);
|
||
}
|
||
function vip(fn) {
|
||
return newScope(function() {
|
||
PSD.letThrough = true;
|
||
return fn();
|
||
});
|
||
}
|
||
function idbReady() {
|
||
var isSafari = !navigator.userAgentData && /Safari\//.test(navigator.userAgent) && !/Chrom(e|ium)\//.test(navigator.userAgent);
|
||
if (!isSafari || !indexedDB.databases) return Promise.resolve();
|
||
var intervalId;
|
||
return new Promise(function(resolve) {
|
||
var tryIdb = function() {
|
||
return indexedDB.databases().finally(resolve);
|
||
};
|
||
intervalId = setInterval(tryIdb, 100);
|
||
tryIdb();
|
||
}).finally(function() {
|
||
return clearInterval(intervalId);
|
||
});
|
||
}
|
||
var _a;
|
||
function isEmptyRange(node) {
|
||
return !("from" in node);
|
||
}
|
||
var RangeSet = function(fromOrTree, to) {
|
||
if (this) {
|
||
extend(this, arguments.length ? {
|
||
d: 1,
|
||
from: fromOrTree,
|
||
to: arguments.length > 1 ? to : fromOrTree
|
||
} : {
|
||
d: 0
|
||
});
|
||
} else {
|
||
var rv = new RangeSet();
|
||
if (fromOrTree && "d" in fromOrTree) {
|
||
extend(rv, fromOrTree);
|
||
}
|
||
return rv;
|
||
}
|
||
};
|
||
props(RangeSet.prototype, (_a = {
|
||
add: function(rangeSet) {
|
||
mergeRanges(this, rangeSet);
|
||
return this;
|
||
},
|
||
addKey: function(key) {
|
||
addRange(this, key, key);
|
||
return this;
|
||
},
|
||
addKeys: function(keys) {
|
||
var _this = this;
|
||
keys.forEach(function(key) {
|
||
return addRange(_this, key, key);
|
||
});
|
||
return this;
|
||
},
|
||
hasKey: function(key) {
|
||
var node = getRangeSetIterator(this).next(key).value;
|
||
return node && cmp(node.from, key) <= 0 && cmp(node.to, key) >= 0;
|
||
}
|
||
}, _a[iteratorSymbol] = function() {
|
||
return getRangeSetIterator(this);
|
||
}, _a));
|
||
function addRange(target, from, to) {
|
||
var diff = cmp(from, to);
|
||
if (isNaN(diff)) return;
|
||
if (diff > 0) throw RangeError();
|
||
if (isEmptyRange(target)) return extend(target, {
|
||
from: from,
|
||
to: to,
|
||
d: 1
|
||
});
|
||
var left = target.l;
|
||
var right = target.r;
|
||
if (cmp(to, target.from) < 0) {
|
||
left ? addRange(left, from, to) : target.l = {
|
||
from: from,
|
||
to: to,
|
||
d: 1,
|
||
l: null,
|
||
r: null
|
||
};
|
||
return rebalance(target);
|
||
}
|
||
if (cmp(from, target.to) > 0) {
|
||
right ? addRange(right, from, to) : target.r = {
|
||
from: from,
|
||
to: to,
|
||
d: 1,
|
||
l: null,
|
||
r: null
|
||
};
|
||
return rebalance(target);
|
||
}
|
||
if (cmp(from, target.from) < 0) {
|
||
target.from = from;
|
||
target.l = null;
|
||
target.d = right ? right.d + 1 : 1;
|
||
}
|
||
if (cmp(to, target.to) > 0) {
|
||
target.to = to;
|
||
target.r = null;
|
||
target.d = target.l ? target.l.d + 1 : 1;
|
||
}
|
||
var rightWasCutOff = !target.r;
|
||
if (left && !target.l) {
|
||
mergeRanges(target, left);
|
||
}
|
||
if (right && rightWasCutOff) {
|
||
mergeRanges(target, right);
|
||
}
|
||
}
|
||
function mergeRanges(target, newSet) {
|
||
function _addRangeSet(target, _a) {
|
||
var from = _a.from, to = _a.to, l = _a.l, r = _a.r;
|
||
addRange(target, from, to);
|
||
if (l) _addRangeSet(target, l);
|
||
if (r) _addRangeSet(target, r);
|
||
}
|
||
if (!isEmptyRange(newSet)) _addRangeSet(target, newSet);
|
||
}
|
||
function rangesOverlap(rangeSet1, rangeSet2) {
|
||
var i1 = getRangeSetIterator(rangeSet2);
|
||
var nextResult1 = i1.next();
|
||
if (nextResult1.done) return false;
|
||
var a = nextResult1.value;
|
||
var i2 = getRangeSetIterator(rangeSet1);
|
||
var nextResult2 = i2.next(a.from);
|
||
var b = nextResult2.value;
|
||
while(!nextResult1.done && !nextResult2.done){
|
||
if (cmp(b.from, a.to) <= 0 && cmp(b.to, a.from) >= 0) return true;
|
||
cmp(a.from, b.from) < 0 ? a = (nextResult1 = i1.next(b.from)).value : b = (nextResult2 = i2.next(a.from)).value;
|
||
}
|
||
return false;
|
||
}
|
||
function getRangeSetIterator(node) {
|
||
var state = isEmptyRange(node) ? null : {
|
||
s: 0,
|
||
n: node
|
||
};
|
||
return {
|
||
next: function(key) {
|
||
var keyProvided = arguments.length > 0;
|
||
while(state){
|
||
switch(state.s){
|
||
case 0:
|
||
state.s = 1;
|
||
if (keyProvided) {
|
||
while(state.n.l && cmp(key, state.n.from) < 0)state = {
|
||
up: state,
|
||
n: state.n.l,
|
||
s: 1
|
||
};
|
||
} else {
|
||
while(state.n.l)state = {
|
||
up: state,
|
||
n: state.n.l,
|
||
s: 1
|
||
};
|
||
}
|
||
case 1:
|
||
state.s = 2;
|
||
if (!keyProvided || cmp(key, state.n.to) <= 0) return {
|
||
value: state.n,
|
||
done: false
|
||
};
|
||
case 2:
|
||
if (state.n.r) {
|
||
state.s = 3;
|
||
state = {
|
||
up: state,
|
||
n: state.n.r,
|
||
s: 0
|
||
};
|
||
continue;
|
||
}
|
||
case 3:
|
||
state = state.up;
|
||
}
|
||
}
|
||
return {
|
||
done: true
|
||
};
|
||
}
|
||
};
|
||
}
|
||
function rebalance(target) {
|
||
var _a, _b;
|
||
var diff = (((_a = target.r) === null || _a === void 0 ? void 0 : _a.d) || 0) - (((_b = target.l) === null || _b === void 0 ? void 0 : _b.d) || 0);
|
||
var r = diff > 1 ? "r" : diff < -1 ? "l" : "";
|
||
if (r) {
|
||
var l = r === "r" ? "l" : "r";
|
||
var rootClone = __assign({}, target);
|
||
var oldRootRight = target[r];
|
||
target.from = oldRootRight.from;
|
||
target.to = oldRootRight.to;
|
||
target[r] = oldRootRight[r];
|
||
rootClone[r] = oldRootRight[l];
|
||
target[l] = rootClone;
|
||
rootClone.d = computeDepth(rootClone);
|
||
}
|
||
target.d = computeDepth(target);
|
||
}
|
||
function computeDepth(_a) {
|
||
var r = _a.r, l = _a.l;
|
||
return (r ? l ? Math.max(r.d, l.d) : r.d : l ? l.d : 0) + 1;
|
||
}
|
||
function extendObservabilitySet(target, newSet) {
|
||
keys(newSet).forEach(function(part) {
|
||
if (target[part]) mergeRanges(target[part], newSet[part]);
|
||
else target[part] = cloneSimpleObjectTree(newSet[part]);
|
||
});
|
||
return target;
|
||
}
|
||
function obsSetsOverlap(os1, os2) {
|
||
return os1.all || os2.all || Object.keys(os1).some(function(key) {
|
||
return os2[key] && rangesOverlap(os2[key], os1[key]);
|
||
});
|
||
}
|
||
var cache = {};
|
||
var unsignaledParts = {};
|
||
var isTaskEnqueued = false;
|
||
function signalSubscribersLazily(part, optimistic) {
|
||
extendObservabilitySet(unsignaledParts, part);
|
||
if (!isTaskEnqueued) {
|
||
isTaskEnqueued = true;
|
||
setTimeout(function() {
|
||
isTaskEnqueued = false;
|
||
var parts = unsignaledParts;
|
||
unsignaledParts = {};
|
||
signalSubscribersNow(parts, false);
|
||
}, 0);
|
||
}
|
||
}
|
||
function signalSubscribersNow(updatedParts, deleteAffectedCacheEntries) {
|
||
if (deleteAffectedCacheEntries === void 0) {
|
||
deleteAffectedCacheEntries = false;
|
||
}
|
||
var queriesToSignal = new Set();
|
||
if (updatedParts.all) {
|
||
for(var _i = 0, _a = Object.values(cache); _i < _a.length; _i++){
|
||
var tblCache = _a[_i];
|
||
collectTableSubscribers(tblCache, updatedParts, queriesToSignal, deleteAffectedCacheEntries);
|
||
}
|
||
} else {
|
||
for(var key in updatedParts){
|
||
var parts = /^idb\:\/\/(.*)\/(.*)\//.exec(key);
|
||
if (parts) {
|
||
var dbName = parts[1], tableName = parts[2];
|
||
var tblCache = cache["idb://".concat(dbName, "/").concat(tableName)];
|
||
if (tblCache) collectTableSubscribers(tblCache, updatedParts, queriesToSignal, deleteAffectedCacheEntries);
|
||
}
|
||
}
|
||
}
|
||
queriesToSignal.forEach(function(requery) {
|
||
return requery();
|
||
});
|
||
}
|
||
function collectTableSubscribers(tblCache, updatedParts, outQueriesToSignal, deleteAffectedCacheEntries) {
|
||
var updatedEntryLists = [];
|
||
for(var _i = 0, _a = Object.entries(tblCache.queries.query); _i < _a.length; _i++){
|
||
var _b = _a[_i], indexName = _b[0], entries = _b[1];
|
||
var filteredEntries = [];
|
||
for(var _c = 0, entries_1 = entries; _c < entries_1.length; _c++){
|
||
var entry = entries_1[_c];
|
||
if (obsSetsOverlap(updatedParts, entry.obsSet)) {
|
||
entry.subscribers.forEach(function(requery) {
|
||
return outQueriesToSignal.add(requery);
|
||
});
|
||
} else if (deleteAffectedCacheEntries) {
|
||
filteredEntries.push(entry);
|
||
}
|
||
}
|
||
if (deleteAffectedCacheEntries) updatedEntryLists.push([
|
||
indexName,
|
||
filteredEntries
|
||
]);
|
||
}
|
||
if (deleteAffectedCacheEntries) {
|
||
for(var _d = 0, updatedEntryLists_1 = updatedEntryLists; _d < updatedEntryLists_1.length; _d++){
|
||
var _e = updatedEntryLists_1[_d], indexName = _e[0], filteredEntries = _e[1];
|
||
tblCache.queries.query[indexName] = filteredEntries;
|
||
}
|
||
}
|
||
}
|
||
function dexieOpen(db) {
|
||
var state = db._state;
|
||
var indexedDB1 = db._deps.indexedDB;
|
||
if (state.isBeingOpened || db.idbdb) return state.dbReadyPromise.then(function() {
|
||
return state.dbOpenError ? rejection(state.dbOpenError) : db;
|
||
});
|
||
state.isBeingOpened = true;
|
||
state.dbOpenError = null;
|
||
state.openComplete = false;
|
||
var openCanceller = state.openCanceller;
|
||
var nativeVerToOpen = Math.round(db.verno * 10);
|
||
var schemaPatchMode = false;
|
||
function throwIfCancelled() {
|
||
if (state.openCanceller !== openCanceller) throw new exceptions.DatabaseClosed('db.open() was cancelled');
|
||
}
|
||
var resolveDbReady = state.dbReadyResolve, upgradeTransaction = null, wasCreated = false;
|
||
var tryOpenDB = function() {
|
||
return new DexiePromise(function(resolve, reject) {
|
||
throwIfCancelled();
|
||
if (!indexedDB1) throw new exceptions.MissingAPI();
|
||
var dbName = db.name;
|
||
var req = state.autoSchema || !nativeVerToOpen ? indexedDB1.open(dbName) : indexedDB1.open(dbName, nativeVerToOpen);
|
||
if (!req) throw new exceptions.MissingAPI();
|
||
req.onerror = eventRejectHandler(reject);
|
||
req.onblocked = wrap(db._fireOnBlocked);
|
||
req.onupgradeneeded = wrap(function(e) {
|
||
upgradeTransaction = req.transaction;
|
||
if (state.autoSchema && !db._options.allowEmptyDB) {
|
||
req.onerror = preventDefault;
|
||
upgradeTransaction.abort();
|
||
req.result.close();
|
||
var delreq = indexedDB1.deleteDatabase(dbName);
|
||
delreq.onsuccess = delreq.onerror = wrap(function() {
|
||
reject(new exceptions.NoSuchDatabase("Database ".concat(dbName, " doesnt exist")));
|
||
});
|
||
} else {
|
||
upgradeTransaction.onerror = eventRejectHandler(reject);
|
||
var oldVer = e.oldVersion > Math.pow(2, 62) ? 0 : e.oldVersion;
|
||
wasCreated = oldVer < 1;
|
||
db.idbdb = req.result;
|
||
if (schemaPatchMode) {
|
||
patchCurrentVersion(db, upgradeTransaction);
|
||
}
|
||
runUpgraders(db, oldVer / 10, upgradeTransaction, reject);
|
||
}
|
||
}, reject);
|
||
req.onsuccess = wrap(function() {
|
||
upgradeTransaction = null;
|
||
var idbdb = db.idbdb = req.result;
|
||
var objectStoreNames = slice(idbdb.objectStoreNames);
|
||
if (objectStoreNames.length > 0) try {
|
||
var tmpTrans = idbdb.transaction(safariMultiStoreFix(objectStoreNames), 'readonly');
|
||
if (state.autoSchema) readGlobalSchema(db, idbdb, tmpTrans);
|
||
else {
|
||
adjustToExistingIndexNames(db, db._dbSchema, tmpTrans);
|
||
if (!verifyInstalledSchema(db, tmpTrans) && !schemaPatchMode) {
|
||
console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this.");
|
||
idbdb.close();
|
||
nativeVerToOpen = idbdb.version + 1;
|
||
schemaPatchMode = true;
|
||
return resolve(tryOpenDB());
|
||
}
|
||
}
|
||
generateMiddlewareStacks(db, tmpTrans);
|
||
} catch (e) {}
|
||
connections.push(db);
|
||
idbdb.onversionchange = wrap(function(ev) {
|
||
state.vcFired = true;
|
||
db.on("versionchange").fire(ev);
|
||
});
|
||
idbdb.onclose = wrap(function() {
|
||
db.close({
|
||
disableAutoOpen: false
|
||
});
|
||
});
|
||
if (wasCreated) _onDatabaseCreated(db._deps, dbName);
|
||
resolve();
|
||
}, reject);
|
||
}).catch(function(err) {
|
||
switch(err === null || err === void 0 ? void 0 : err.name){
|
||
case "UnknownError":
|
||
if (state.PR1398_maxLoop > 0) {
|
||
state.PR1398_maxLoop--;
|
||
console.warn('Dexie: Workaround for Chrome UnknownError on open()');
|
||
return tryOpenDB();
|
||
}
|
||
break;
|
||
case "VersionError":
|
||
if (nativeVerToOpen > 0) {
|
||
nativeVerToOpen = 0;
|
||
return tryOpenDB();
|
||
}
|
||
break;
|
||
}
|
||
return DexiePromise.reject(err);
|
||
});
|
||
};
|
||
return DexiePromise.race([
|
||
openCanceller,
|
||
(typeof navigator === 'undefined' ? DexiePromise.resolve() : idbReady()).then(tryOpenDB)
|
||
]).then(function() {
|
||
throwIfCancelled();
|
||
state.onReadyBeingFired = [];
|
||
return DexiePromise.resolve(vip(function() {
|
||
return db.on.ready.fire(db.vip);
|
||
})).then(function fireRemainders() {
|
||
if (state.onReadyBeingFired.length > 0) {
|
||
var remainders_1 = state.onReadyBeingFired.reduce(promisableChain, nop);
|
||
state.onReadyBeingFired = [];
|
||
return DexiePromise.resolve(vip(function() {
|
||
return remainders_1(db.vip);
|
||
})).then(fireRemainders);
|
||
}
|
||
});
|
||
}).finally(function() {
|
||
if (state.openCanceller === openCanceller) {
|
||
state.onReadyBeingFired = null;
|
||
state.isBeingOpened = false;
|
||
}
|
||
}).catch(function(err) {
|
||
state.dbOpenError = err;
|
||
try {
|
||
upgradeTransaction && upgradeTransaction.abort();
|
||
} catch (_a) {}
|
||
if (openCanceller === state.openCanceller) {
|
||
db._close();
|
||
}
|
||
return rejection(err);
|
||
}).finally(function() {
|
||
state.openComplete = true;
|
||
resolveDbReady();
|
||
}).then(function() {
|
||
if (wasCreated) {
|
||
var everything_1 = {};
|
||
db.tables.forEach(function(table) {
|
||
table.schema.indexes.forEach(function(idx) {
|
||
if (idx.name) everything_1["idb://".concat(db.name, "/").concat(table.name, "/").concat(idx.name)] = new RangeSet(-Infinity, [
|
||
[
|
||
[]
|
||
]
|
||
]);
|
||
});
|
||
everything_1["idb://".concat(db.name, "/").concat(table.name, "/")] = everything_1["idb://".concat(db.name, "/").concat(table.name, "/:dels")] = new RangeSet(-Infinity, [
|
||
[
|
||
[]
|
||
]
|
||
]);
|
||
});
|
||
globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME).fire(everything_1);
|
||
signalSubscribersNow(everything_1, true);
|
||
}
|
||
return db;
|
||
});
|
||
}
|
||
function awaitIterator(iterator) {
|
||
var callNext = function(result) {
|
||
return iterator.next(result);
|
||
}, doThrow = function(error) {
|
||
return iterator.throw(error);
|
||
}, onSuccess = step(callNext), onError = step(doThrow);
|
||
function step(getNext) {
|
||
return function(val) {
|
||
var next = getNext(val), value = next.value;
|
||
return next.done ? value : !value || typeof value.then !== 'function' ? isArray(value) ? Promise.all(value).then(onSuccess, onError) : onSuccess(value) : value.then(onSuccess, onError);
|
||
};
|
||
}
|
||
return step(callNext)();
|
||
}
|
||
function extractTransactionArgs(mode, _tableArgs_, scopeFunc) {
|
||
var i = arguments.length;
|
||
if (i < 2) throw new exceptions.InvalidArgument("Too few arguments");
|
||
var args = new Array(i - 1);
|
||
while(--i)args[i - 1] = arguments[i];
|
||
scopeFunc = args.pop();
|
||
var tables = flatten(args);
|
||
return [
|
||
mode,
|
||
tables,
|
||
scopeFunc
|
||
];
|
||
}
|
||
function enterTransactionScope(db, mode, storeNames, parentTransaction, scopeFunc) {
|
||
return DexiePromise.resolve().then(function() {
|
||
var transless = PSD.transless || PSD;
|
||
var trans = db._createTransaction(mode, storeNames, db._dbSchema, parentTransaction);
|
||
trans.explicit = true;
|
||
var zoneProps = {
|
||
trans: trans,
|
||
transless: transless
|
||
};
|
||
if (parentTransaction) {
|
||
trans.idbtrans = parentTransaction.idbtrans;
|
||
} else {
|
||
try {
|
||
trans.create();
|
||
trans.idbtrans._explicit = true;
|
||
db._state.PR1398_maxLoop = 3;
|
||
} catch (ex) {
|
||
if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {
|
||
console.warn('Dexie: Need to reopen db');
|
||
db.close({
|
||
disableAutoOpen: false
|
||
});
|
||
return db.open().then(function() {
|
||
return enterTransactionScope(db, mode, storeNames, null, scopeFunc);
|
||
});
|
||
}
|
||
return rejection(ex);
|
||
}
|
||
}
|
||
var scopeFuncIsAsync = isAsyncFunction(scopeFunc);
|
||
if (scopeFuncIsAsync) {
|
||
incrementExpectedAwaits();
|
||
}
|
||
var returnValue;
|
||
var promiseFollowed = DexiePromise.follow(function() {
|
||
returnValue = scopeFunc.call(trans, trans);
|
||
if (returnValue) {
|
||
if (scopeFuncIsAsync) {
|
||
var decrementor = decrementExpectedAwaits.bind(null, null);
|
||
returnValue.then(decrementor, decrementor);
|
||
} else if (typeof returnValue.next === 'function' && typeof returnValue.throw === 'function') {
|
||
returnValue = awaitIterator(returnValue);
|
||
}
|
||
}
|
||
}, zoneProps);
|
||
return (returnValue && typeof returnValue.then === 'function' ? DexiePromise.resolve(returnValue).then(function(x) {
|
||
return trans.active ? x : rejection(new exceptions.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"));
|
||
}) : promiseFollowed.then(function() {
|
||
return returnValue;
|
||
})).then(function(x) {
|
||
if (parentTransaction) trans._resolve();
|
||
return trans._completion.then(function() {
|
||
return x;
|
||
});
|
||
}).catch(function(e) {
|
||
trans._reject(e);
|
||
return rejection(e);
|
||
});
|
||
});
|
||
}
|
||
function pad(a, value, count) {
|
||
var result = isArray(a) ? a.slice() : [
|
||
a
|
||
];
|
||
for(var i = 0; i < count; ++i)result.push(value);
|
||
return result;
|
||
}
|
||
function createVirtualIndexMiddleware(down) {
|
||
return __assign(__assign({}, down), {
|
||
table: function(tableName) {
|
||
var table = down.table(tableName);
|
||
var schema = table.schema;
|
||
var indexLookup = {};
|
||
var allVirtualIndexes = [];
|
||
function addVirtualIndexes(keyPath, keyTail, lowLevelIndex) {
|
||
var keyPathAlias = getKeyPathAlias(keyPath);
|
||
var indexList = indexLookup[keyPathAlias] = indexLookup[keyPathAlias] || [];
|
||
var keyLength = keyPath == null ? 0 : typeof keyPath === 'string' ? 1 : keyPath.length;
|
||
var isVirtual = keyTail > 0;
|
||
var virtualIndex = __assign(__assign({}, lowLevelIndex), {
|
||
name: isVirtual ? "".concat(keyPathAlias, "(virtual-from:").concat(lowLevelIndex.name, ")") : lowLevelIndex.name,
|
||
lowLevelIndex: lowLevelIndex,
|
||
isVirtual: isVirtual,
|
||
keyTail: keyTail,
|
||
keyLength: keyLength,
|
||
extractKey: getKeyExtractor(keyPath),
|
||
unique: !isVirtual && lowLevelIndex.unique
|
||
});
|
||
indexList.push(virtualIndex);
|
||
if (!virtualIndex.isPrimaryKey) {
|
||
allVirtualIndexes.push(virtualIndex);
|
||
}
|
||
if (keyLength > 1) {
|
||
var virtualKeyPath = keyLength === 2 ? keyPath[0] : keyPath.slice(0, keyLength - 1);
|
||
addVirtualIndexes(virtualKeyPath, keyTail + 1, lowLevelIndex);
|
||
}
|
||
indexList.sort(function(a, b) {
|
||
return a.keyTail - b.keyTail;
|
||
});
|
||
return virtualIndex;
|
||
}
|
||
var primaryKey = addVirtualIndexes(schema.primaryKey.keyPath, 0, schema.primaryKey);
|
||
indexLookup[":id"] = [
|
||
primaryKey
|
||
];
|
||
for(var _i = 0, _a = schema.indexes; _i < _a.length; _i++){
|
||
var index = _a[_i];
|
||
addVirtualIndexes(index.keyPath, 0, index);
|
||
}
|
||
function findBestIndex(keyPath) {
|
||
var result = indexLookup[getKeyPathAlias(keyPath)];
|
||
return result && result[0];
|
||
}
|
||
function translateRange(range, keyTail) {
|
||
return {
|
||
type: range.type === 1 ? 2 : range.type,
|
||
lower: pad(range.lower, range.lowerOpen ? down.MAX_KEY : down.MIN_KEY, keyTail),
|
||
lowerOpen: true,
|
||
upper: pad(range.upper, range.upperOpen ? down.MIN_KEY : down.MAX_KEY, keyTail),
|
||
upperOpen: true
|
||
};
|
||
}
|
||
function translateRequest(req) {
|
||
var index = req.query.index;
|
||
return index.isVirtual ? __assign(__assign({}, req), {
|
||
query: {
|
||
index: index.lowLevelIndex,
|
||
range: translateRange(req.query.range, index.keyTail)
|
||
}
|
||
}) : req;
|
||
}
|
||
var result = __assign(__assign({}, table), {
|
||
schema: __assign(__assign({}, schema), {
|
||
primaryKey: primaryKey,
|
||
indexes: allVirtualIndexes,
|
||
getIndexByKeyPath: findBestIndex
|
||
}),
|
||
count: function(req) {
|
||
return table.count(translateRequest(req));
|
||
},
|
||
query: function(req) {
|
||
return table.query(translateRequest(req));
|
||
},
|
||
openCursor: function(req) {
|
||
var _a = req.query.index, keyTail = _a.keyTail, isVirtual = _a.isVirtual, keyLength = _a.keyLength;
|
||
if (!isVirtual) return table.openCursor(req);
|
||
function createVirtualCursor(cursor) {
|
||
function _continue(key) {
|
||
key != null ? cursor.continue(pad(key, req.reverse ? down.MAX_KEY : down.MIN_KEY, keyTail)) : req.unique ? cursor.continue(cursor.key.slice(0, keyLength).concat(req.reverse ? down.MIN_KEY : down.MAX_KEY, keyTail)) : cursor.continue();
|
||
}
|
||
var virtualCursor = Object.create(cursor, {
|
||
continue: {
|
||
value: _continue
|
||
},
|
||
continuePrimaryKey: {
|
||
value: function(key, primaryKey) {
|
||
cursor.continuePrimaryKey(pad(key, down.MAX_KEY, keyTail), primaryKey);
|
||
}
|
||
},
|
||
primaryKey: {
|
||
get: function() {
|
||
return cursor.primaryKey;
|
||
}
|
||
},
|
||
key: {
|
||
get: function() {
|
||
var key = cursor.key;
|
||
return keyLength === 1 ? key[0] : key.slice(0, keyLength);
|
||
}
|
||
},
|
||
value: {
|
||
get: function() {
|
||
return cursor.value;
|
||
}
|
||
}
|
||
});
|
||
return virtualCursor;
|
||
}
|
||
return table.openCursor(translateRequest(req)).then(function(cursor) {
|
||
return cursor && createVirtualCursor(cursor);
|
||
});
|
||
}
|
||
});
|
||
return result;
|
||
}
|
||
});
|
||
}
|
||
var virtualIndexMiddleware = {
|
||
stack: "dbcore",
|
||
name: "VirtualIndexMiddleware",
|
||
level: 1,
|
||
create: createVirtualIndexMiddleware
|
||
};
|
||
function getObjectDiff(a, b, rv, prfx) {
|
||
rv = rv || {};
|
||
prfx = prfx || '';
|
||
keys(a).forEach(function(prop) {
|
||
if (!hasOwn(b, prop)) {
|
||
rv[prfx + prop] = undefined;
|
||
} else {
|
||
var ap = a[prop], bp = b[prop];
|
||
if (typeof ap === 'object' && typeof bp === 'object' && ap && bp) {
|
||
var apTypeName = toStringTag(ap);
|
||
var bpTypeName = toStringTag(bp);
|
||
if (apTypeName !== bpTypeName) {
|
||
rv[prfx + prop] = b[prop];
|
||
} else if (apTypeName === 'Object') {
|
||
getObjectDiff(ap, bp, rv, prfx + prop + '.');
|
||
} else if (ap !== bp) {
|
||
rv[prfx + prop] = b[prop];
|
||
}
|
||
} else if (ap !== bp) rv[prfx + prop] = b[prop];
|
||
}
|
||
});
|
||
keys(b).forEach(function(prop) {
|
||
if (!hasOwn(a, prop)) {
|
||
rv[prfx + prop] = b[prop];
|
||
}
|
||
});
|
||
return rv;
|
||
}
|
||
function getEffectiveKeys(primaryKey, req) {
|
||
if (req.type === 'delete') return req.keys;
|
||
return req.keys || req.values.map(primaryKey.extractKey);
|
||
}
|
||
var hooksMiddleware = {
|
||
stack: "dbcore",
|
||
name: "HooksMiddleware",
|
||
level: 2,
|
||
create: function(downCore) {
|
||
return __assign(__assign({}, downCore), {
|
||
table: function(tableName) {
|
||
var downTable = downCore.table(tableName);
|
||
var primaryKey = downTable.schema.primaryKey;
|
||
var tableMiddleware = __assign(__assign({}, downTable), {
|
||
mutate: function(req) {
|
||
var dxTrans = PSD.trans;
|
||
var _a = dxTrans.table(tableName).hook, deleting = _a.deleting, creating = _a.creating, updating = _a.updating;
|
||
switch(req.type){
|
||
case 'add':
|
||
if (creating.fire === nop) break;
|
||
return dxTrans._promise('readwrite', function() {
|
||
return addPutOrDelete(req);
|
||
}, true);
|
||
case 'put':
|
||
if (creating.fire === nop && updating.fire === nop) break;
|
||
return dxTrans._promise('readwrite', function() {
|
||
return addPutOrDelete(req);
|
||
}, true);
|
||
case 'delete':
|
||
if (deleting.fire === nop) break;
|
||
return dxTrans._promise('readwrite', function() {
|
||
return addPutOrDelete(req);
|
||
}, true);
|
||
case 'deleteRange':
|
||
if (deleting.fire === nop) break;
|
||
return dxTrans._promise('readwrite', function() {
|
||
return deleteRange(req);
|
||
}, true);
|
||
}
|
||
return downTable.mutate(req);
|
||
//TURBOPACK unreachable
|
||
;
|
||
function addPutOrDelete(req) {
|
||
var dxTrans = PSD.trans;
|
||
var keys = req.keys || getEffectiveKeys(primaryKey, req);
|
||
if (!keys) throw new Error("Keys missing");
|
||
req = req.type === 'add' || req.type === 'put' ? __assign(__assign({}, req), {
|
||
keys: keys
|
||
}) : __assign({}, req);
|
||
if (req.type !== 'delete') req.values = __spreadArray([], req.values, true);
|
||
if (req.keys) req.keys = __spreadArray([], req.keys, true);
|
||
return getExistingValues(downTable, req, keys).then(function(existingValues) {
|
||
var contexts = keys.map(function(key, i) {
|
||
var existingValue = existingValues[i];
|
||
var ctx = {
|
||
onerror: null,
|
||
onsuccess: null
|
||
};
|
||
if (req.type === 'delete') {
|
||
deleting.fire.call(ctx, key, existingValue, dxTrans);
|
||
} else if (req.type === 'add' || existingValue === undefined) {
|
||
var generatedPrimaryKey = creating.fire.call(ctx, key, req.values[i], dxTrans);
|
||
if (key == null && generatedPrimaryKey != null) {
|
||
key = generatedPrimaryKey;
|
||
req.keys[i] = key;
|
||
if (!primaryKey.outbound) {
|
||
setByKeyPath(req.values[i], primaryKey.keyPath, key);
|
||
}
|
||
}
|
||
} else {
|
||
var objectDiff = getObjectDiff(existingValue, req.values[i]);
|
||
var additionalChanges_1 = updating.fire.call(ctx, objectDiff, key, existingValue, dxTrans);
|
||
if (additionalChanges_1) {
|
||
var requestedValue_1 = req.values[i];
|
||
Object.keys(additionalChanges_1).forEach(function(keyPath) {
|
||
if (hasOwn(requestedValue_1, keyPath)) {
|
||
requestedValue_1[keyPath] = additionalChanges_1[keyPath];
|
||
} else {
|
||
setByKeyPath(requestedValue_1, keyPath, additionalChanges_1[keyPath]);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
return ctx;
|
||
});
|
||
return downTable.mutate(req).then(function(_a) {
|
||
var failures = _a.failures, results = _a.results, numFailures = _a.numFailures, lastResult = _a.lastResult;
|
||
for(var i = 0; i < keys.length; ++i){
|
||
var primKey = results ? results[i] : keys[i];
|
||
var ctx = contexts[i];
|
||
if (primKey == null) {
|
||
ctx.onerror && ctx.onerror(failures[i]);
|
||
} else {
|
||
ctx.onsuccess && ctx.onsuccess(req.type === 'put' && existingValues[i] ? req.values[i] : primKey);
|
||
}
|
||
}
|
||
return {
|
||
failures: failures,
|
||
results: results,
|
||
numFailures: numFailures,
|
||
lastResult: lastResult
|
||
};
|
||
}).catch(function(error) {
|
||
contexts.forEach(function(ctx) {
|
||
return ctx.onerror && ctx.onerror(error);
|
||
});
|
||
return Promise.reject(error);
|
||
});
|
||
});
|
||
}
|
||
function deleteRange(req) {
|
||
return deleteNextChunk(req.trans, req.range, 10000);
|
||
}
|
||
function deleteNextChunk(trans, range, limit) {
|
||
return downTable.query({
|
||
trans: trans,
|
||
values: false,
|
||
query: {
|
||
index: primaryKey,
|
||
range: range
|
||
},
|
||
limit: limit
|
||
}).then(function(_a) {
|
||
var result = _a.result;
|
||
return addPutOrDelete({
|
||
type: 'delete',
|
||
keys: result,
|
||
trans: trans
|
||
}).then(function(res) {
|
||
if (res.numFailures > 0) return Promise.reject(res.failures[0]);
|
||
if (result.length < limit) {
|
||
return {
|
||
failures: [],
|
||
numFailures: 0,
|
||
lastResult: undefined
|
||
};
|
||
} else {
|
||
return deleteNextChunk(trans, __assign(__assign({}, range), {
|
||
lower: result[result.length - 1],
|
||
lowerOpen: true
|
||
}), limit);
|
||
}
|
||
});
|
||
});
|
||
}
|
||
}
|
||
});
|
||
return tableMiddleware;
|
||
}
|
||
});
|
||
}
|
||
};
|
||
function getExistingValues(table, req, effectiveKeys) {
|
||
return req.type === "add" ? Promise.resolve([]) : table.getMany({
|
||
trans: req.trans,
|
||
keys: effectiveKeys,
|
||
cache: "immutable"
|
||
});
|
||
}
|
||
function getFromTransactionCache(keys, cache, clone) {
|
||
try {
|
||
if (!cache) return null;
|
||
if (cache.keys.length < keys.length) return null;
|
||
var result = [];
|
||
for(var i = 0, j = 0; i < cache.keys.length && j < keys.length; ++i){
|
||
if (cmp(cache.keys[i], keys[j]) !== 0) continue;
|
||
result.push(clone ? deepClone(cache.values[i]) : cache.values[i]);
|
||
++j;
|
||
}
|
||
return result.length === keys.length ? result : null;
|
||
} catch (_a) {
|
||
return null;
|
||
}
|
||
}
|
||
var cacheExistingValuesMiddleware = {
|
||
stack: "dbcore",
|
||
level: -1,
|
||
create: function(core) {
|
||
return {
|
||
table: function(tableName) {
|
||
var table = core.table(tableName);
|
||
return __assign(__assign({}, table), {
|
||
getMany: function(req) {
|
||
if (!req.cache) {
|
||
return table.getMany(req);
|
||
}
|
||
var cachedResult = getFromTransactionCache(req.keys, req.trans["_cache"], req.cache === "clone");
|
||
if (cachedResult) {
|
||
return DexiePromise.resolve(cachedResult);
|
||
}
|
||
return table.getMany(req).then(function(res) {
|
||
req.trans["_cache"] = {
|
||
keys: req.keys,
|
||
values: req.cache === "clone" ? deepClone(res) : res
|
||
};
|
||
return res;
|
||
});
|
||
},
|
||
mutate: function(req) {
|
||
if (req.type !== "add") req.trans["_cache"] = null;
|
||
return table.mutate(req);
|
||
}
|
||
});
|
||
}
|
||
};
|
||
}
|
||
};
|
||
function isCachableContext(ctx, table) {
|
||
return ctx.trans.mode === 'readonly' && !!ctx.subscr && !ctx.trans.explicit && ctx.trans.db._options.cache !== 'disabled' && !table.schema.primaryKey.outbound;
|
||
}
|
||
function isCachableRequest(type, req) {
|
||
switch(type){
|
||
case 'query':
|
||
return req.values && !req.unique;
|
||
case 'get':
|
||
return false;
|
||
case 'getMany':
|
||
return false;
|
||
case 'count':
|
||
return false;
|
||
case 'openCursor':
|
||
return false;
|
||
}
|
||
}
|
||
var observabilityMiddleware = {
|
||
stack: "dbcore",
|
||
level: 0,
|
||
name: "Observability",
|
||
create: function(core) {
|
||
var dbName = core.schema.name;
|
||
var FULL_RANGE = new RangeSet(core.MIN_KEY, core.MAX_KEY);
|
||
return __assign(__assign({}, core), {
|
||
transaction: function(stores, mode, options) {
|
||
if (PSD.subscr && mode !== 'readonly') {
|
||
throw new exceptions.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(PSD.querier));
|
||
}
|
||
return core.transaction(stores, mode, options);
|
||
},
|
||
table: function(tableName) {
|
||
var table = core.table(tableName);
|
||
var schema = table.schema;
|
||
var primaryKey = schema.primaryKey, indexes = schema.indexes;
|
||
var extractKey = primaryKey.extractKey, outbound = primaryKey.outbound;
|
||
var indexesWithAutoIncPK = primaryKey.autoIncrement && indexes.filter(function(index) {
|
||
return index.compound && index.keyPath.includes(primaryKey.keyPath);
|
||
});
|
||
var tableClone = __assign(__assign({}, table), {
|
||
mutate: function(req) {
|
||
var _a, _b;
|
||
var trans = req.trans;
|
||
var mutatedParts = req.mutatedParts || (req.mutatedParts = {});
|
||
var getRangeSet = function(indexName) {
|
||
var part = "idb://".concat(dbName, "/").concat(tableName, "/").concat(indexName);
|
||
return mutatedParts[part] || (mutatedParts[part] = new RangeSet());
|
||
};
|
||
var pkRangeSet = getRangeSet("");
|
||
var delsRangeSet = getRangeSet(":dels");
|
||
var type = req.type;
|
||
var _c = req.type === "deleteRange" ? [
|
||
req.range
|
||
] : req.type === "delete" ? [
|
||
req.keys
|
||
] : req.values.length < 50 ? [
|
||
getEffectiveKeys(primaryKey, req).filter(function(id) {
|
||
return id;
|
||
}),
|
||
req.values
|
||
] : [], keys = _c[0], newObjs = _c[1];
|
||
var oldCache = req.trans["_cache"];
|
||
if (isArray(keys)) {
|
||
pkRangeSet.addKeys(keys);
|
||
var oldObjs = type === 'delete' || keys.length === newObjs.length ? getFromTransactionCache(keys, oldCache) : null;
|
||
if (!oldObjs) {
|
||
delsRangeSet.addKeys(keys);
|
||
}
|
||
if (oldObjs || newObjs) {
|
||
trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs);
|
||
}
|
||
} else if (keys) {
|
||
var range = {
|
||
from: (_a = keys.lower) !== null && _a !== void 0 ? _a : core.MIN_KEY,
|
||
to: (_b = keys.upper) !== null && _b !== void 0 ? _b : core.MAX_KEY
|
||
};
|
||
delsRangeSet.add(range);
|
||
pkRangeSet.add(range);
|
||
} else {
|
||
pkRangeSet.add(FULL_RANGE);
|
||
delsRangeSet.add(FULL_RANGE);
|
||
schema.indexes.forEach(function(idx) {
|
||
return getRangeSet(idx.name).add(FULL_RANGE);
|
||
});
|
||
}
|
||
return table.mutate(req).then(function(res) {
|
||
if (keys && (req.type === 'add' || req.type === 'put')) {
|
||
pkRangeSet.addKeys(res.results);
|
||
if (indexesWithAutoIncPK) {
|
||
indexesWithAutoIncPK.forEach(function(idx) {
|
||
var idxVals = req.values.map(function(v) {
|
||
return idx.extractKey(v);
|
||
});
|
||
var pkPos = idx.keyPath.findIndex(function(prop) {
|
||
return prop === primaryKey.keyPath;
|
||
});
|
||
for(var i = 0, len = res.results.length; i < len; ++i){
|
||
idxVals[i][pkPos] = res.results[i];
|
||
}
|
||
getRangeSet(idx.name).addKeys(idxVals);
|
||
});
|
||
}
|
||
}
|
||
trans.mutatedParts = extendObservabilitySet(trans.mutatedParts || {}, mutatedParts);
|
||
return res;
|
||
});
|
||
}
|
||
});
|
||
var getRange = function(_a) {
|
||
var _b, _c;
|
||
var _d = _a.query, index = _d.index, range = _d.range;
|
||
return [
|
||
index,
|
||
new RangeSet((_b = range.lower) !== null && _b !== void 0 ? _b : core.MIN_KEY, (_c = range.upper) !== null && _c !== void 0 ? _c : core.MAX_KEY)
|
||
];
|
||
};
|
||
var readSubscribers = {
|
||
get: function(req) {
|
||
return [
|
||
primaryKey,
|
||
new RangeSet(req.key)
|
||
];
|
||
},
|
||
getMany: function(req) {
|
||
return [
|
||
primaryKey,
|
||
new RangeSet().addKeys(req.keys)
|
||
];
|
||
},
|
||
count: getRange,
|
||
query: getRange,
|
||
openCursor: getRange
|
||
};
|
||
keys(readSubscribers).forEach(function(method) {
|
||
tableClone[method] = function(req) {
|
||
var subscr = PSD.subscr;
|
||
var isLiveQuery = !!subscr;
|
||
var cachable = isCachableContext(PSD, table) && isCachableRequest(method, req);
|
||
var obsSet = cachable ? req.obsSet = {} : subscr;
|
||
if (isLiveQuery) {
|
||
var getRangeSet = function(indexName) {
|
||
var part = "idb://".concat(dbName, "/").concat(tableName, "/").concat(indexName);
|
||
return obsSet[part] || (obsSet[part] = new RangeSet());
|
||
};
|
||
var pkRangeSet_1 = getRangeSet("");
|
||
var delsRangeSet_1 = getRangeSet(":dels");
|
||
var _a = readSubscribers[method](req), queriedIndex = _a[0], queriedRanges = _a[1];
|
||
if (method === 'query' && queriedIndex.isPrimaryKey && !req.values) {
|
||
delsRangeSet_1.add(queriedRanges);
|
||
} else {
|
||
getRangeSet(queriedIndex.name || "").add(queriedRanges);
|
||
}
|
||
if (!queriedIndex.isPrimaryKey) {
|
||
if (method === "count") {
|
||
delsRangeSet_1.add(FULL_RANGE);
|
||
} else {
|
||
var keysPromise_1 = method === "query" && outbound && req.values && table.query(__assign(__assign({}, req), {
|
||
values: false
|
||
}));
|
||
return table[method].apply(this, arguments).then(function(res) {
|
||
if (method === "query") {
|
||
if (outbound && req.values) {
|
||
return keysPromise_1.then(function(_a) {
|
||
var resultingKeys = _a.result;
|
||
pkRangeSet_1.addKeys(resultingKeys);
|
||
return res;
|
||
});
|
||
}
|
||
var pKeys = req.values ? res.result.map(extractKey) : res.result;
|
||
if (req.values) {
|
||
pkRangeSet_1.addKeys(pKeys);
|
||
} else {
|
||
delsRangeSet_1.addKeys(pKeys);
|
||
}
|
||
} else if (method === "openCursor") {
|
||
var cursor_1 = res;
|
||
var wantValues_1 = req.values;
|
||
return cursor_1 && Object.create(cursor_1, {
|
||
key: {
|
||
get: function() {
|
||
delsRangeSet_1.addKey(cursor_1.primaryKey);
|
||
return cursor_1.key;
|
||
}
|
||
},
|
||
primaryKey: {
|
||
get: function() {
|
||
var pkey = cursor_1.primaryKey;
|
||
delsRangeSet_1.addKey(pkey);
|
||
return pkey;
|
||
}
|
||
},
|
||
value: {
|
||
get: function() {
|
||
wantValues_1 && pkRangeSet_1.addKey(cursor_1.primaryKey);
|
||
return cursor_1.value;
|
||
}
|
||
}
|
||
});
|
||
}
|
||
return res;
|
||
});
|
||
}
|
||
}
|
||
}
|
||
return table[method].apply(this, arguments);
|
||
};
|
||
});
|
||
return tableClone;
|
||
}
|
||
});
|
||
}
|
||
};
|
||
function trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs) {
|
||
function addAffectedIndex(ix) {
|
||
var rangeSet = getRangeSet(ix.name || "");
|
||
function extractKey(obj) {
|
||
return obj != null ? ix.extractKey(obj) : null;
|
||
}
|
||
var addKeyOrKeys = function(key) {
|
||
return ix.multiEntry && isArray(key) ? key.forEach(function(key) {
|
||
return rangeSet.addKey(key);
|
||
}) : rangeSet.addKey(key);
|
||
};
|
||
(oldObjs || newObjs).forEach(function(_, i) {
|
||
var oldKey = oldObjs && extractKey(oldObjs[i]);
|
||
var newKey = newObjs && extractKey(newObjs[i]);
|
||
if (cmp(oldKey, newKey) !== 0) {
|
||
if (oldKey != null) addKeyOrKeys(oldKey);
|
||
if (newKey != null) addKeyOrKeys(newKey);
|
||
}
|
||
});
|
||
}
|
||
schema.indexes.forEach(addAffectedIndex);
|
||
}
|
||
function adjustOptimisticFromFailures(tblCache, req, res) {
|
||
if (res.numFailures === 0) return req;
|
||
if (req.type === 'deleteRange') {
|
||
return null;
|
||
}
|
||
var numBulkOps = req.keys ? req.keys.length : 'values' in req && req.values ? req.values.length : 1;
|
||
if (res.numFailures === numBulkOps) {
|
||
return null;
|
||
}
|
||
var clone = __assign({}, req);
|
||
if (isArray(clone.keys)) {
|
||
clone.keys = clone.keys.filter(function(_, i) {
|
||
return !(i in res.failures);
|
||
});
|
||
}
|
||
if ('values' in clone && isArray(clone.values)) {
|
||
clone.values = clone.values.filter(function(_, i) {
|
||
return !(i in res.failures);
|
||
});
|
||
}
|
||
return clone;
|
||
}
|
||
function isAboveLower(key, range) {
|
||
return range.lower === undefined ? true : range.lowerOpen ? cmp(key, range.lower) > 0 : cmp(key, range.lower) >= 0;
|
||
}
|
||
function isBelowUpper(key, range) {
|
||
return range.upper === undefined ? true : range.upperOpen ? cmp(key, range.upper) < 0 : cmp(key, range.upper) <= 0;
|
||
}
|
||
function isWithinRange(key, range) {
|
||
return isAboveLower(key, range) && isBelowUpper(key, range);
|
||
}
|
||
function applyOptimisticOps(result, req, ops, table, cacheEntry, immutable) {
|
||
if (!ops || ops.length === 0) return result;
|
||
var index = req.query.index;
|
||
var multiEntry = index.multiEntry;
|
||
var queryRange = req.query.range;
|
||
var primaryKey = table.schema.primaryKey;
|
||
var extractPrimKey = primaryKey.extractKey;
|
||
var extractIndex = index.extractKey;
|
||
var extractLowLevelIndex = (index.lowLevelIndex || index).extractKey;
|
||
var finalResult = ops.reduce(function(result, op) {
|
||
var modifedResult = result;
|
||
var includedValues = [];
|
||
if (op.type === 'add' || op.type === 'put') {
|
||
var includedPKs = new RangeSet();
|
||
for(var i = op.values.length - 1; i >= 0; --i){
|
||
var value = op.values[i];
|
||
var pk = extractPrimKey(value);
|
||
if (includedPKs.hasKey(pk)) continue;
|
||
var key = extractIndex(value);
|
||
if (multiEntry && isArray(key) ? key.some(function(k) {
|
||
return isWithinRange(k, queryRange);
|
||
}) : isWithinRange(key, queryRange)) {
|
||
includedPKs.addKey(pk);
|
||
includedValues.push(value);
|
||
}
|
||
}
|
||
}
|
||
switch(op.type){
|
||
case 'add':
|
||
{
|
||
var existingKeys_1 = new RangeSet().addKeys(req.values ? result.map(function(v) {
|
||
return extractPrimKey(v);
|
||
}) : result);
|
||
modifedResult = result.concat(req.values ? includedValues.filter(function(v) {
|
||
var key = extractPrimKey(v);
|
||
if (existingKeys_1.hasKey(key)) return false;
|
||
existingKeys_1.addKey(key);
|
||
return true;
|
||
}) : includedValues.map(function(v) {
|
||
return extractPrimKey(v);
|
||
}).filter(function(k) {
|
||
if (existingKeys_1.hasKey(k)) return false;
|
||
existingKeys_1.addKey(k);
|
||
return true;
|
||
}));
|
||
break;
|
||
}
|
||
case 'put':
|
||
{
|
||
var keySet_1 = new RangeSet().addKeys(op.values.map(function(v) {
|
||
return extractPrimKey(v);
|
||
}));
|
||
modifedResult = result.filter(function(item) {
|
||
return !keySet_1.hasKey(req.values ? extractPrimKey(item) : item);
|
||
}).concat(req.values ? includedValues : includedValues.map(function(v) {
|
||
return extractPrimKey(v);
|
||
}));
|
||
break;
|
||
}
|
||
case 'delete':
|
||
var keysToDelete_1 = new RangeSet().addKeys(op.keys);
|
||
modifedResult = result.filter(function(item) {
|
||
return !keysToDelete_1.hasKey(req.values ? extractPrimKey(item) : item);
|
||
});
|
||
break;
|
||
case 'deleteRange':
|
||
var range_1 = op.range;
|
||
modifedResult = result.filter(function(item) {
|
||
return !isWithinRange(extractPrimKey(item), range_1);
|
||
});
|
||
break;
|
||
}
|
||
return modifedResult;
|
||
}, result);
|
||
if (finalResult === result) return result;
|
||
finalResult.sort(function(a, b) {
|
||
return cmp(extractLowLevelIndex(a), extractLowLevelIndex(b)) || cmp(extractPrimKey(a), extractPrimKey(b));
|
||
});
|
||
if (req.limit && req.limit < Infinity) {
|
||
if (finalResult.length > req.limit) {
|
||
finalResult.length = req.limit;
|
||
} else if (result.length === req.limit && finalResult.length < req.limit) {
|
||
cacheEntry.dirty = true;
|
||
}
|
||
}
|
||
return immutable ? Object.freeze(finalResult) : finalResult;
|
||
}
|
||
function areRangesEqual(r1, r2) {
|
||
return cmp(r1.lower, r2.lower) === 0 && cmp(r1.upper, r2.upper) === 0 && !!r1.lowerOpen === !!r2.lowerOpen && !!r1.upperOpen === !!r2.upperOpen;
|
||
}
|
||
function compareLowers(lower1, lower2, lowerOpen1, lowerOpen2) {
|
||
if (lower1 === undefined) return lower2 !== undefined ? -1 : 0;
|
||
if (lower2 === undefined) return 1;
|
||
var c = cmp(lower1, lower2);
|
||
if (c === 0) {
|
||
if (lowerOpen1 && lowerOpen2) return 0;
|
||
if (lowerOpen1) return 1;
|
||
if (lowerOpen2) return -1;
|
||
}
|
||
return c;
|
||
}
|
||
function compareUppers(upper1, upper2, upperOpen1, upperOpen2) {
|
||
if (upper1 === undefined) return upper2 !== undefined ? 1 : 0;
|
||
if (upper2 === undefined) return -1;
|
||
var c = cmp(upper1, upper2);
|
||
if (c === 0) {
|
||
if (upperOpen1 && upperOpen2) return 0;
|
||
if (upperOpen1) return -1;
|
||
if (upperOpen2) return 1;
|
||
}
|
||
return c;
|
||
}
|
||
function isSuperRange(r1, r2) {
|
||
return compareLowers(r1.lower, r2.lower, r1.lowerOpen, r2.lowerOpen) <= 0 && compareUppers(r1.upper, r2.upper, r1.upperOpen, r2.upperOpen) >= 0;
|
||
}
|
||
function findCompatibleQuery(dbName, tableName, type, req) {
|
||
var tblCache = cache["idb://".concat(dbName, "/").concat(tableName)];
|
||
if (!tblCache) return [];
|
||
var queries = tblCache.queries[type];
|
||
if (!queries) return [
|
||
null,
|
||
false,
|
||
tblCache,
|
||
null
|
||
];
|
||
var indexName = req.query ? req.query.index.name : null;
|
||
var entries = queries[indexName || ''];
|
||
if (!entries) return [
|
||
null,
|
||
false,
|
||
tblCache,
|
||
null
|
||
];
|
||
switch(type){
|
||
case 'query':
|
||
var equalEntry = entries.find(function(entry) {
|
||
return entry.req.limit === req.limit && entry.req.values === req.values && areRangesEqual(entry.req.query.range, req.query.range);
|
||
});
|
||
if (equalEntry) return [
|
||
equalEntry,
|
||
true,
|
||
tblCache,
|
||
entries
|
||
];
|
||
var superEntry = entries.find(function(entry) {
|
||
var limit = 'limit' in entry.req ? entry.req.limit : Infinity;
|
||
return limit >= req.limit && (req.values ? entry.req.values : true) && isSuperRange(entry.req.query.range, req.query.range);
|
||
});
|
||
return [
|
||
superEntry,
|
||
false,
|
||
tblCache,
|
||
entries
|
||
];
|
||
case 'count':
|
||
var countQuery = entries.find(function(entry) {
|
||
return areRangesEqual(entry.req.query.range, req.query.range);
|
||
});
|
||
return [
|
||
countQuery,
|
||
!!countQuery,
|
||
tblCache,
|
||
entries
|
||
];
|
||
}
|
||
}
|
||
function subscribeToCacheEntry(cacheEntry, container, requery, signal) {
|
||
cacheEntry.subscribers.add(requery);
|
||
signal.addEventListener("abort", function() {
|
||
cacheEntry.subscribers.delete(requery);
|
||
if (cacheEntry.subscribers.size === 0) {
|
||
enqueForDeletion(cacheEntry, container);
|
||
}
|
||
});
|
||
}
|
||
function enqueForDeletion(cacheEntry, container) {
|
||
setTimeout(function() {
|
||
if (cacheEntry.subscribers.size === 0) {
|
||
delArrayItem(container, cacheEntry);
|
||
}
|
||
}, 3000);
|
||
}
|
||
var cacheMiddleware = {
|
||
stack: 'dbcore',
|
||
level: 0,
|
||
name: 'Cache',
|
||
create: function(core) {
|
||
var dbName = core.schema.name;
|
||
var coreMW = __assign(__assign({}, core), {
|
||
transaction: function(stores, mode, options) {
|
||
var idbtrans = core.transaction(stores, mode, options);
|
||
if (mode === 'readwrite') {
|
||
var ac_1 = new AbortController();
|
||
var signal = ac_1.signal;
|
||
var endTransaction = function(wasCommitted) {
|
||
return function() {
|
||
ac_1.abort();
|
||
if (mode === 'readwrite') {
|
||
var affectedSubscribers_1 = new Set();
|
||
for(var _i = 0, stores_1 = stores; _i < stores_1.length; _i++){
|
||
var storeName = stores_1[_i];
|
||
var tblCache = cache["idb://".concat(dbName, "/").concat(storeName)];
|
||
if (tblCache) {
|
||
var table = core.table(storeName);
|
||
var ops = tblCache.optimisticOps.filter(function(op) {
|
||
return op.trans === idbtrans;
|
||
});
|
||
if (idbtrans._explicit && wasCommitted && idbtrans.mutatedParts) {
|
||
for(var _a = 0, _b = Object.values(tblCache.queries.query); _a < _b.length; _a++){
|
||
var entries = _b[_a];
|
||
for(var _c = 0, _d = entries.slice(); _c < _d.length; _c++){
|
||
var entry = _d[_c];
|
||
if (obsSetsOverlap(entry.obsSet, idbtrans.mutatedParts)) {
|
||
delArrayItem(entries, entry);
|
||
entry.subscribers.forEach(function(requery) {
|
||
return affectedSubscribers_1.add(requery);
|
||
});
|
||
}
|
||
}
|
||
}
|
||
} else if (ops.length > 0) {
|
||
tblCache.optimisticOps = tblCache.optimisticOps.filter(function(op) {
|
||
return op.trans !== idbtrans;
|
||
});
|
||
for(var _e = 0, _f = Object.values(tblCache.queries.query); _e < _f.length; _e++){
|
||
var entries = _f[_e];
|
||
for(var _g = 0, _h = entries.slice(); _g < _h.length; _g++){
|
||
var entry = _h[_g];
|
||
if (entry.res != null && idbtrans.mutatedParts) {
|
||
if (wasCommitted && !entry.dirty) {
|
||
var freezeResults = Object.isFrozen(entry.res);
|
||
var modRes = applyOptimisticOps(entry.res, entry.req, ops, table, entry, freezeResults);
|
||
if (entry.dirty) {
|
||
delArrayItem(entries, entry);
|
||
entry.subscribers.forEach(function(requery) {
|
||
return affectedSubscribers_1.add(requery);
|
||
});
|
||
} else if (modRes !== entry.res) {
|
||
entry.res = modRes;
|
||
entry.promise = DexiePromise.resolve({
|
||
result: modRes
|
||
});
|
||
}
|
||
} else {
|
||
if (entry.dirty) {
|
||
delArrayItem(entries, entry);
|
||
}
|
||
entry.subscribers.forEach(function(requery) {
|
||
return affectedSubscribers_1.add(requery);
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
affectedSubscribers_1.forEach(function(requery) {
|
||
return requery();
|
||
});
|
||
}
|
||
};
|
||
};
|
||
idbtrans.addEventListener('abort', endTransaction(false), {
|
||
signal: signal
|
||
});
|
||
idbtrans.addEventListener('error', endTransaction(false), {
|
||
signal: signal
|
||
});
|
||
idbtrans.addEventListener('complete', endTransaction(true), {
|
||
signal: signal
|
||
});
|
||
}
|
||
return idbtrans;
|
||
},
|
||
table: function(tableName) {
|
||
var downTable = core.table(tableName);
|
||
var primKey = downTable.schema.primaryKey;
|
||
var tableMW = __assign(__assign({}, downTable), {
|
||
mutate: function(req) {
|
||
var trans = PSD.trans;
|
||
if (primKey.outbound || trans.db._options.cache === 'disabled' || trans.explicit || trans.idbtrans.mode !== 'readwrite') {
|
||
return downTable.mutate(req);
|
||
}
|
||
var tblCache = cache["idb://".concat(dbName, "/").concat(tableName)];
|
||
if (!tblCache) return downTable.mutate(req);
|
||
var promise = downTable.mutate(req);
|
||
if ((req.type === 'add' || req.type === 'put') && (req.values.length >= 50 || getEffectiveKeys(primKey, req).some(function(key) {
|
||
return key == null;
|
||
}))) {
|
||
promise.then(function(res) {
|
||
var reqWithResolvedKeys = __assign(__assign({}, req), {
|
||
values: req.values.map(function(value, i) {
|
||
var _a;
|
||
if (res.failures[i]) return value;
|
||
var valueWithKey = ((_a = primKey.keyPath) === null || _a === void 0 ? void 0 : _a.includes('.')) ? deepClone(value) : __assign({}, value);
|
||
setByKeyPath(valueWithKey, primKey.keyPath, res.results[i]);
|
||
return valueWithKey;
|
||
})
|
||
});
|
||
var adjustedReq = adjustOptimisticFromFailures(tblCache, reqWithResolvedKeys, res);
|
||
tblCache.optimisticOps.push(adjustedReq);
|
||
queueMicrotask(function() {
|
||
return req.mutatedParts && signalSubscribersLazily(req.mutatedParts);
|
||
});
|
||
});
|
||
} else {
|
||
tblCache.optimisticOps.push(req);
|
||
req.mutatedParts && signalSubscribersLazily(req.mutatedParts);
|
||
promise.then(function(res) {
|
||
if (res.numFailures > 0) {
|
||
delArrayItem(tblCache.optimisticOps, req);
|
||
var adjustedReq = adjustOptimisticFromFailures(tblCache, req, res);
|
||
if (adjustedReq) {
|
||
tblCache.optimisticOps.push(adjustedReq);
|
||
}
|
||
req.mutatedParts && signalSubscribersLazily(req.mutatedParts);
|
||
}
|
||
});
|
||
promise.catch(function() {
|
||
delArrayItem(tblCache.optimisticOps, req);
|
||
req.mutatedParts && signalSubscribersLazily(req.mutatedParts);
|
||
});
|
||
}
|
||
return promise;
|
||
},
|
||
query: function(req) {
|
||
var _a;
|
||
if (!isCachableContext(PSD, downTable) || !isCachableRequest("query", req)) return downTable.query(req);
|
||
var freezeResults = ((_a = PSD.trans) === null || _a === void 0 ? void 0 : _a.db._options.cache) === 'immutable';
|
||
var _b = PSD, requery = _b.requery, signal = _b.signal;
|
||
var _c = findCompatibleQuery(dbName, tableName, 'query', req), cacheEntry = _c[0], exactMatch = _c[1], tblCache = _c[2], container = _c[3];
|
||
if (cacheEntry && exactMatch) {
|
||
cacheEntry.obsSet = req.obsSet;
|
||
} else {
|
||
var promise = downTable.query(req).then(function(res) {
|
||
var result = res.result;
|
||
if (cacheEntry) cacheEntry.res = result;
|
||
if (freezeResults) {
|
||
for(var i = 0, l = result.length; i < l; ++i){
|
||
Object.freeze(result[i]);
|
||
}
|
||
Object.freeze(result);
|
||
} else {
|
||
res.result = deepClone(result);
|
||
}
|
||
return res;
|
||
}).catch(function(error) {
|
||
if (container && cacheEntry) delArrayItem(container, cacheEntry);
|
||
return Promise.reject(error);
|
||
});
|
||
cacheEntry = {
|
||
obsSet: req.obsSet,
|
||
promise: promise,
|
||
subscribers: new Set(),
|
||
type: 'query',
|
||
req: req,
|
||
dirty: false
|
||
};
|
||
if (container) {
|
||
container.push(cacheEntry);
|
||
} else {
|
||
container = [
|
||
cacheEntry
|
||
];
|
||
if (!tblCache) {
|
||
tblCache = cache["idb://".concat(dbName, "/").concat(tableName)] = {
|
||
queries: {
|
||
query: {},
|
||
count: {}
|
||
},
|
||
objs: new Map(),
|
||
optimisticOps: [],
|
||
unsignaledParts: {}
|
||
};
|
||
}
|
||
tblCache.queries.query[req.query.index.name || ''] = container;
|
||
}
|
||
}
|
||
subscribeToCacheEntry(cacheEntry, container, requery, signal);
|
||
return cacheEntry.promise.then(function(res) {
|
||
return {
|
||
result: applyOptimisticOps(res.result, req, tblCache === null || tblCache === void 0 ? void 0 : tblCache.optimisticOps, downTable, cacheEntry, freezeResults)
|
||
};
|
||
});
|
||
}
|
||
});
|
||
return tableMW;
|
||
}
|
||
});
|
||
return coreMW;
|
||
}
|
||
};
|
||
function vipify(target, vipDb) {
|
||
return new Proxy(target, {
|
||
get: function(target, prop, receiver) {
|
||
if (prop === 'db') return vipDb;
|
||
return Reflect.get(target, prop, receiver);
|
||
}
|
||
});
|
||
}
|
||
var Dexie$1 = function() {
|
||
function Dexie(name, options) {
|
||
var _this = this;
|
||
this._middlewares = {};
|
||
this.verno = 0;
|
||
var deps = Dexie.dependencies;
|
||
this._options = options = __assign({
|
||
addons: Dexie.addons,
|
||
autoOpen: true,
|
||
indexedDB: deps.indexedDB,
|
||
IDBKeyRange: deps.IDBKeyRange,
|
||
cache: 'cloned'
|
||
}, options);
|
||
this._deps = {
|
||
indexedDB: options.indexedDB,
|
||
IDBKeyRange: options.IDBKeyRange
|
||
};
|
||
var addons = options.addons;
|
||
this._dbSchema = {};
|
||
this._versions = [];
|
||
this._storeNames = [];
|
||
this._allTables = {};
|
||
this.idbdb = null;
|
||
this._novip = this;
|
||
var state = {
|
||
dbOpenError: null,
|
||
isBeingOpened: false,
|
||
onReadyBeingFired: null,
|
||
openComplete: false,
|
||
dbReadyResolve: nop,
|
||
dbReadyPromise: null,
|
||
cancelOpen: nop,
|
||
openCanceller: null,
|
||
autoSchema: true,
|
||
PR1398_maxLoop: 3,
|
||
autoOpen: options.autoOpen
|
||
};
|
||
state.dbReadyPromise = new DexiePromise(function(resolve) {
|
||
state.dbReadyResolve = resolve;
|
||
});
|
||
state.openCanceller = new DexiePromise(function(_, reject) {
|
||
state.cancelOpen = reject;
|
||
});
|
||
this._state = state;
|
||
this.name = name;
|
||
this.on = Events(this, "populate", "blocked", "versionchange", "close", {
|
||
ready: [
|
||
promisableChain,
|
||
nop
|
||
]
|
||
});
|
||
this.once = function(event, callback) {
|
||
var fn = function() {
|
||
var args = [];
|
||
for(var _i = 0; _i < arguments.length; _i++){
|
||
args[_i] = arguments[_i];
|
||
}
|
||
_this.on(event).unsubscribe(fn);
|
||
callback.apply(_this, args);
|
||
};
|
||
return _this.on(event, fn);
|
||
};
|
||
this.on.ready.subscribe = override(this.on.ready.subscribe, function(subscribe) {
|
||
return function(subscriber, bSticky) {
|
||
Dexie.vip(function() {
|
||
var state = _this._state;
|
||
if (state.openComplete) {
|
||
if (!state.dbOpenError) DexiePromise.resolve().then(subscriber);
|
||
if (bSticky) subscribe(subscriber);
|
||
} else if (state.onReadyBeingFired) {
|
||
state.onReadyBeingFired.push(subscriber);
|
||
if (bSticky) subscribe(subscriber);
|
||
} else {
|
||
subscribe(subscriber);
|
||
var db_1 = _this;
|
||
if (!bSticky) subscribe(function unsubscribe() {
|
||
db_1.on.ready.unsubscribe(subscriber);
|
||
db_1.on.ready.unsubscribe(unsubscribe);
|
||
});
|
||
}
|
||
});
|
||
};
|
||
});
|
||
this.Collection = createCollectionConstructor(this);
|
||
this.Table = createTableConstructor(this);
|
||
this.Transaction = createTransactionConstructor(this);
|
||
this.Version = createVersionConstructor(this);
|
||
this.WhereClause = createWhereClauseConstructor(this);
|
||
this.on("versionchange", function(ev) {
|
||
if (ev.newVersion > 0) console.warn("Another connection wants to upgrade database '".concat(_this.name, "'. Closing db now to resume the upgrade."));
|
||
else console.warn("Another connection wants to delete database '".concat(_this.name, "'. Closing db now to resume the delete request."));
|
||
_this.close({
|
||
disableAutoOpen: false
|
||
});
|
||
});
|
||
this.on("blocked", function(ev) {
|
||
if (!ev.newVersion || ev.newVersion < ev.oldVersion) console.warn("Dexie.delete('".concat(_this.name, "') was blocked"));
|
||
else console.warn("Upgrade '".concat(_this.name, "' blocked by other connection holding version ").concat(ev.oldVersion / 10));
|
||
});
|
||
this._maxKey = getMaxKey(options.IDBKeyRange);
|
||
this._createTransaction = function(mode, storeNames, dbschema, parentTransaction) {
|
||
return new _this.Transaction(mode, storeNames, dbschema, _this._options.chromeTransactionDurability, parentTransaction);
|
||
};
|
||
this._fireOnBlocked = function(ev) {
|
||
_this.on("blocked").fire(ev);
|
||
connections.filter(function(c) {
|
||
return c.name === _this.name && c !== _this && !c._state.vcFired;
|
||
}).map(function(c) {
|
||
return c.on("versionchange").fire(ev);
|
||
});
|
||
};
|
||
this.use(cacheExistingValuesMiddleware);
|
||
this.use(cacheMiddleware);
|
||
this.use(observabilityMiddleware);
|
||
this.use(virtualIndexMiddleware);
|
||
this.use(hooksMiddleware);
|
||
var vipDB = new Proxy(this, {
|
||
get: function(_, prop, receiver) {
|
||
if (prop === '_vip') return true;
|
||
if (prop === 'table') return function(tableName) {
|
||
return vipify(_this.table(tableName), vipDB);
|
||
};
|
||
var rv = Reflect.get(_, prop, receiver);
|
||
if (rv instanceof Table) return vipify(rv, vipDB);
|
||
if (prop === 'tables') return rv.map(function(t) {
|
||
return vipify(t, vipDB);
|
||
});
|
||
if (prop === '_createTransaction') return function() {
|
||
var tx = rv.apply(this, arguments);
|
||
return vipify(tx, vipDB);
|
||
};
|
||
return rv;
|
||
}
|
||
});
|
||
this.vip = vipDB;
|
||
addons.forEach(function(addon) {
|
||
return addon(_this);
|
||
});
|
||
}
|
||
Dexie.prototype.version = function(versionNumber) {
|
||
if (isNaN(versionNumber) || versionNumber < 0.1) throw new exceptions.Type("Given version is not a positive number");
|
||
versionNumber = Math.round(versionNumber * 10) / 10;
|
||
if (this.idbdb || this._state.isBeingOpened) throw new exceptions.Schema("Cannot add version when database is open");
|
||
this.verno = Math.max(this.verno, versionNumber);
|
||
var versions = this._versions;
|
||
var versionInstance = versions.filter(function(v) {
|
||
return v._cfg.version === versionNumber;
|
||
})[0];
|
||
if (versionInstance) return versionInstance;
|
||
versionInstance = new this.Version(versionNumber);
|
||
versions.push(versionInstance);
|
||
versions.sort(lowerVersionFirst);
|
||
versionInstance.stores({});
|
||
this._state.autoSchema = false;
|
||
return versionInstance;
|
||
};
|
||
Dexie.prototype._whenReady = function(fn) {
|
||
var _this = this;
|
||
return this.idbdb && (this._state.openComplete || PSD.letThrough || this._vip) ? fn() : new DexiePromise(function(resolve, reject) {
|
||
if (_this._state.openComplete) {
|
||
return reject(new exceptions.DatabaseClosed(_this._state.dbOpenError));
|
||
}
|
||
if (!_this._state.isBeingOpened) {
|
||
if (!_this._state.autoOpen) {
|
||
reject(new exceptions.DatabaseClosed());
|
||
return;
|
||
}
|
||
_this.open().catch(nop);
|
||
}
|
||
_this._state.dbReadyPromise.then(resolve, reject);
|
||
}).then(fn);
|
||
};
|
||
Dexie.prototype.use = function(_a) {
|
||
var stack = _a.stack, create = _a.create, level = _a.level, name = _a.name;
|
||
if (name) this.unuse({
|
||
stack: stack,
|
||
name: name
|
||
});
|
||
var middlewares = this._middlewares[stack] || (this._middlewares[stack] = []);
|
||
middlewares.push({
|
||
stack: stack,
|
||
create: create,
|
||
level: level == null ? 10 : level,
|
||
name: name
|
||
});
|
||
middlewares.sort(function(a, b) {
|
||
return a.level - b.level;
|
||
});
|
||
return this;
|
||
};
|
||
Dexie.prototype.unuse = function(_a) {
|
||
var stack = _a.stack, name = _a.name, create = _a.create;
|
||
if (stack && this._middlewares[stack]) {
|
||
this._middlewares[stack] = this._middlewares[stack].filter(function(mw) {
|
||
return create ? mw.create !== create : name ? mw.name !== name : false;
|
||
});
|
||
}
|
||
return this;
|
||
};
|
||
Dexie.prototype.open = function() {
|
||
var _this = this;
|
||
return usePSD(globalPSD, function() {
|
||
return dexieOpen(_this);
|
||
});
|
||
};
|
||
Dexie.prototype._close = function() {
|
||
this.on.close.fire(new CustomEvent('close'));
|
||
var state = this._state;
|
||
var idx = connections.indexOf(this);
|
||
if (idx >= 0) connections.splice(idx, 1);
|
||
if (this.idbdb) {
|
||
try {
|
||
this.idbdb.close();
|
||
} catch (e) {}
|
||
this.idbdb = null;
|
||
}
|
||
if (!state.isBeingOpened) {
|
||
state.dbReadyPromise = new DexiePromise(function(resolve) {
|
||
state.dbReadyResolve = resolve;
|
||
});
|
||
state.openCanceller = new DexiePromise(function(_, reject) {
|
||
state.cancelOpen = reject;
|
||
});
|
||
}
|
||
};
|
||
Dexie.prototype.close = function(_a) {
|
||
var _b = _a === void 0 ? {
|
||
disableAutoOpen: true
|
||
} : _a, disableAutoOpen = _b.disableAutoOpen;
|
||
var state = this._state;
|
||
if (disableAutoOpen) {
|
||
if (state.isBeingOpened) {
|
||
state.cancelOpen(new exceptions.DatabaseClosed());
|
||
}
|
||
this._close();
|
||
state.autoOpen = false;
|
||
state.dbOpenError = new exceptions.DatabaseClosed();
|
||
} else {
|
||
this._close();
|
||
state.autoOpen = this._options.autoOpen || state.isBeingOpened;
|
||
state.openComplete = false;
|
||
state.dbOpenError = null;
|
||
}
|
||
};
|
||
Dexie.prototype.delete = function(closeOptions) {
|
||
var _this = this;
|
||
if (closeOptions === void 0) {
|
||
closeOptions = {
|
||
disableAutoOpen: true
|
||
};
|
||
}
|
||
var hasInvalidArguments = arguments.length > 0 && typeof arguments[0] !== 'object';
|
||
var state = this._state;
|
||
return new DexiePromise(function(resolve, reject) {
|
||
var doDelete = function() {
|
||
_this.close(closeOptions);
|
||
var req = _this._deps.indexedDB.deleteDatabase(_this.name);
|
||
req.onsuccess = wrap(function() {
|
||
_onDatabaseDeleted(_this._deps, _this.name);
|
||
resolve();
|
||
});
|
||
req.onerror = eventRejectHandler(reject);
|
||
req.onblocked = _this._fireOnBlocked;
|
||
};
|
||
if (hasInvalidArguments) throw new exceptions.InvalidArgument("Invalid closeOptions argument to db.delete()");
|
||
if (state.isBeingOpened) {
|
||
state.dbReadyPromise.then(doDelete);
|
||
} else {
|
||
doDelete();
|
||
}
|
||
});
|
||
};
|
||
Dexie.prototype.backendDB = function() {
|
||
return this.idbdb;
|
||
};
|
||
Dexie.prototype.isOpen = function() {
|
||
return this.idbdb !== null;
|
||
};
|
||
Dexie.prototype.hasBeenClosed = function() {
|
||
var dbOpenError = this._state.dbOpenError;
|
||
return dbOpenError && dbOpenError.name === 'DatabaseClosed';
|
||
};
|
||
Dexie.prototype.hasFailed = function() {
|
||
return this._state.dbOpenError !== null;
|
||
};
|
||
Dexie.prototype.dynamicallyOpened = function() {
|
||
return this._state.autoSchema;
|
||
};
|
||
Object.defineProperty(Dexie.prototype, "tables", {
|
||
get: function() {
|
||
var _this = this;
|
||
return keys(this._allTables).map(function(name) {
|
||
return _this._allTables[name];
|
||
});
|
||
},
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
Dexie.prototype.transaction = function() {
|
||
var args = extractTransactionArgs.apply(this, arguments);
|
||
return this._transaction.apply(this, args);
|
||
};
|
||
Dexie.prototype._transaction = function(mode, tables, scopeFunc) {
|
||
var _this = this;
|
||
var parentTransaction = PSD.trans;
|
||
if (!parentTransaction || parentTransaction.db !== this || mode.indexOf('!') !== -1) parentTransaction = null;
|
||
var onlyIfCompatible = mode.indexOf('?') !== -1;
|
||
mode = mode.replace('!', '').replace('?', '');
|
||
var idbMode, storeNames;
|
||
try {
|
||
storeNames = tables.map(function(table) {
|
||
var storeName = table instanceof _this.Table ? table.name : table;
|
||
if (typeof storeName !== 'string') throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");
|
||
return storeName;
|
||
});
|
||
if (mode == "r" || mode === READONLY) idbMode = READONLY;
|
||
else if (mode == "rw" || mode == READWRITE) idbMode = READWRITE;
|
||
else throw new exceptions.InvalidArgument("Invalid transaction mode: " + mode);
|
||
if (parentTransaction) {
|
||
if (parentTransaction.mode === READONLY && idbMode === READWRITE) {
|
||
if (onlyIfCompatible) {
|
||
parentTransaction = null;
|
||
} else throw new exceptions.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");
|
||
}
|
||
if (parentTransaction) {
|
||
storeNames.forEach(function(storeName) {
|
||
if (parentTransaction && parentTransaction.storeNames.indexOf(storeName) === -1) {
|
||
if (onlyIfCompatible) {
|
||
parentTransaction = null;
|
||
} else throw new exceptions.SubTransaction("Table " + storeName + " not included in parent transaction.");
|
||
}
|
||
});
|
||
}
|
||
if (onlyIfCompatible && parentTransaction && !parentTransaction.active) {
|
||
parentTransaction = null;
|
||
}
|
||
}
|
||
} catch (e) {
|
||
return parentTransaction ? parentTransaction._promise(null, function(_, reject) {
|
||
reject(e);
|
||
}) : rejection(e);
|
||
}
|
||
var enterTransaction = enterTransactionScope.bind(null, this, idbMode, storeNames, parentTransaction, scopeFunc);
|
||
return parentTransaction ? parentTransaction._promise(idbMode, enterTransaction, "lock") : PSD.trans ? usePSD(PSD.transless, function() {
|
||
return _this._whenReady(enterTransaction);
|
||
}) : this._whenReady(enterTransaction);
|
||
};
|
||
Dexie.prototype.table = function(tableName) {
|
||
if (!hasOwn(this._allTables, tableName)) {
|
||
throw new exceptions.InvalidTable("Table ".concat(tableName, " does not exist"));
|
||
}
|
||
return this._allTables[tableName];
|
||
};
|
||
return Dexie;
|
||
}();
|
||
var symbolObservable = typeof Symbol !== "undefined" && "observable" in Symbol ? Symbol.observable : "@@observable";
|
||
var Observable = function() {
|
||
function Observable(subscribe) {
|
||
this._subscribe = subscribe;
|
||
}
|
||
Observable.prototype.subscribe = function(x, error, complete) {
|
||
return this._subscribe(!x || typeof x === "function" ? {
|
||
next: x,
|
||
error: error,
|
||
complete: complete
|
||
} : x);
|
||
};
|
||
Observable.prototype[symbolObservable] = function() {
|
||
return this;
|
||
};
|
||
return Observable;
|
||
}();
|
||
var domDeps;
|
||
try {
|
||
domDeps = {
|
||
indexedDB: _global.indexedDB || _global.mozIndexedDB || _global.webkitIndexedDB || _global.msIndexedDB,
|
||
IDBKeyRange: _global.IDBKeyRange || _global.webkitIDBKeyRange
|
||
};
|
||
} catch (e) {
|
||
domDeps = {
|
||
indexedDB: null,
|
||
IDBKeyRange: null
|
||
};
|
||
}
|
||
function liveQuery(querier) {
|
||
var hasValue = false;
|
||
var currentValue;
|
||
var observable = new Observable(function(observer) {
|
||
var scopeFuncIsAsync = isAsyncFunction(querier);
|
||
function execute(ctx) {
|
||
var wasRootExec = beginMicroTickScope();
|
||
try {
|
||
if (scopeFuncIsAsync) {
|
||
incrementExpectedAwaits();
|
||
}
|
||
var rv = newScope(querier, ctx);
|
||
if (scopeFuncIsAsync) {
|
||
rv = rv.finally(decrementExpectedAwaits);
|
||
}
|
||
return rv;
|
||
} finally{
|
||
wasRootExec && endMicroTickScope();
|
||
}
|
||
}
|
||
var closed = false;
|
||
var abortController;
|
||
var accumMuts = {};
|
||
var currentObs = {};
|
||
var subscription = {
|
||
get closed () {
|
||
return closed;
|
||
},
|
||
unsubscribe: function() {
|
||
if (closed) return;
|
||
closed = true;
|
||
if (abortController) abortController.abort();
|
||
if (startedListening) globalEvents.storagemutated.unsubscribe(mutationListener);
|
||
}
|
||
};
|
||
observer.start && observer.start(subscription);
|
||
var startedListening = false;
|
||
var doQuery = function() {
|
||
return execInGlobalContext(_doQuery);
|
||
};
|
||
function shouldNotify() {
|
||
return obsSetsOverlap(currentObs, accumMuts);
|
||
}
|
||
var mutationListener = function(parts) {
|
||
extendObservabilitySet(accumMuts, parts);
|
||
if (shouldNotify()) {
|
||
doQuery();
|
||
}
|
||
};
|
||
var _doQuery = function() {
|
||
if (closed || !domDeps.indexedDB) {
|
||
return;
|
||
}
|
||
accumMuts = {};
|
||
var subscr = {};
|
||
if (abortController) abortController.abort();
|
||
abortController = new AbortController();
|
||
var ctx = {
|
||
subscr: subscr,
|
||
signal: abortController.signal,
|
||
requery: doQuery,
|
||
querier: querier,
|
||
trans: null
|
||
};
|
||
var ret = execute(ctx);
|
||
Promise.resolve(ret).then(function(result) {
|
||
hasValue = true;
|
||
currentValue = result;
|
||
if (closed || ctx.signal.aborted) {
|
||
return;
|
||
}
|
||
accumMuts = {};
|
||
currentObs = subscr;
|
||
if (!objectIsEmpty(currentObs) && !startedListening) {
|
||
globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, mutationListener);
|
||
startedListening = true;
|
||
}
|
||
execInGlobalContext(function() {
|
||
return !closed && observer.next && observer.next(result);
|
||
});
|
||
}, function(err) {
|
||
hasValue = false;
|
||
if (![
|
||
'DatabaseClosedError',
|
||
'AbortError'
|
||
].includes(err === null || err === void 0 ? void 0 : err.name)) {
|
||
if (!closed) execInGlobalContext(function() {
|
||
if (closed) return;
|
||
observer.error && observer.error(err);
|
||
});
|
||
}
|
||
});
|
||
};
|
||
setTimeout(doQuery, 0);
|
||
return subscription;
|
||
});
|
||
observable.hasValue = function() {
|
||
return hasValue;
|
||
};
|
||
observable.getValue = function() {
|
||
return currentValue;
|
||
};
|
||
return observable;
|
||
}
|
||
var Dexie = Dexie$1;
|
||
props(Dexie, __assign(__assign({}, fullNameExceptions), {
|
||
delete: function(databaseName) {
|
||
var db = new Dexie(databaseName, {
|
||
addons: []
|
||
});
|
||
return db.delete();
|
||
},
|
||
exists: function(name) {
|
||
return new Dexie(name, {
|
||
addons: []
|
||
}).open().then(function(db) {
|
||
db.close();
|
||
return true;
|
||
}).catch('NoSuchDatabaseError', function() {
|
||
return false;
|
||
});
|
||
},
|
||
getDatabaseNames: function(cb) {
|
||
try {
|
||
return getDatabaseNames(Dexie.dependencies).then(cb);
|
||
} catch (_a) {
|
||
return rejection(new exceptions.MissingAPI());
|
||
}
|
||
},
|
||
defineClass: function() {
|
||
function Class(content) {
|
||
extend(this, content);
|
||
}
|
||
return Class;
|
||
},
|
||
ignoreTransaction: function(scopeFunc) {
|
||
return PSD.trans ? usePSD(PSD.transless, scopeFunc) : scopeFunc();
|
||
},
|
||
vip: vip,
|
||
async: function(generatorFn) {
|
||
return function() {
|
||
try {
|
||
var rv = awaitIterator(generatorFn.apply(this, arguments));
|
||
if (!rv || typeof rv.then !== 'function') return DexiePromise.resolve(rv);
|
||
return rv;
|
||
} catch (e) {
|
||
return rejection(e);
|
||
}
|
||
};
|
||
},
|
||
spawn: function(generatorFn, args, thiz) {
|
||
try {
|
||
var rv = awaitIterator(generatorFn.apply(thiz, args || []));
|
||
if (!rv || typeof rv.then !== 'function') return DexiePromise.resolve(rv);
|
||
return rv;
|
||
} catch (e) {
|
||
return rejection(e);
|
||
}
|
||
},
|
||
currentTransaction: {
|
||
get: function() {
|
||
return PSD.trans || null;
|
||
}
|
||
},
|
||
waitFor: function(promiseOrFunction, optionalTimeout) {
|
||
var promise = DexiePromise.resolve(typeof promiseOrFunction === 'function' ? Dexie.ignoreTransaction(promiseOrFunction) : promiseOrFunction).timeout(optionalTimeout || 60000);
|
||
return PSD.trans ? PSD.trans.waitFor(promise) : promise;
|
||
},
|
||
Promise: DexiePromise,
|
||
debug: {
|
||
get: function() {
|
||
return debug;
|
||
},
|
||
set: function(value) {
|
||
setDebug(value);
|
||
}
|
||
},
|
||
derive: derive,
|
||
extend: extend,
|
||
props: props,
|
||
override: override,
|
||
Events: Events,
|
||
on: globalEvents,
|
||
liveQuery: liveQuery,
|
||
extendObservabilitySet: extendObservabilitySet,
|
||
getByKeyPath: getByKeyPath,
|
||
setByKeyPath: setByKeyPath,
|
||
delByKeyPath: delByKeyPath,
|
||
shallowClone: shallowClone,
|
||
deepClone: deepClone,
|
||
getObjectDiff: getObjectDiff,
|
||
cmp: cmp,
|
||
asap: asap$1,
|
||
minKey: minKey,
|
||
addons: [],
|
||
connections: connections,
|
||
errnames: errnames,
|
||
dependencies: domDeps,
|
||
cache: cache,
|
||
semVer: DEXIE_VERSION,
|
||
version: DEXIE_VERSION.split('.').map(function(n) {
|
||
return parseInt(n);
|
||
}).reduce(function(p, c, i) {
|
||
return p + c / Math.pow(10, i * 2);
|
||
})
|
||
}));
|
||
Dexie.maxKey = getMaxKey(Dexie.dependencies.IDBKeyRange);
|
||
if (typeof dispatchEvent !== 'undefined' && typeof addEventListener !== 'undefined') {
|
||
globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function(updatedParts) {
|
||
if (!propagatingLocally) {
|
||
var event_1;
|
||
event_1 = new CustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, {
|
||
detail: updatedParts
|
||
});
|
||
propagatingLocally = true;
|
||
dispatchEvent(event_1);
|
||
propagatingLocally = false;
|
||
}
|
||
});
|
||
addEventListener(STORAGE_MUTATED_DOM_EVENT_NAME, function(_a) {
|
||
var detail = _a.detail;
|
||
if (!propagatingLocally) {
|
||
propagateLocally(detail);
|
||
}
|
||
});
|
||
}
|
||
function propagateLocally(updateParts) {
|
||
var wasMe = propagatingLocally;
|
||
try {
|
||
propagatingLocally = true;
|
||
globalEvents.storagemutated.fire(updateParts);
|
||
signalSubscribersNow(updateParts, true);
|
||
} finally{
|
||
propagatingLocally = wasMe;
|
||
}
|
||
}
|
||
var propagatingLocally = false;
|
||
var bc;
|
||
var createBC = function() {};
|
||
if (typeof BroadcastChannel !== 'undefined') {
|
||
createBC = function() {
|
||
bc = new BroadcastChannel(STORAGE_MUTATED_DOM_EVENT_NAME);
|
||
bc.onmessage = function(ev) {
|
||
return ev.data && propagateLocally(ev.data);
|
||
};
|
||
};
|
||
createBC();
|
||
if (typeof bc.unref === 'function') {
|
||
bc.unref();
|
||
}
|
||
globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function(changedParts) {
|
||
if (!propagatingLocally) {
|
||
bc.postMessage(changedParts);
|
||
}
|
||
});
|
||
}
|
||
if (typeof addEventListener !== 'undefined') {
|
||
addEventListener('pagehide', function(event) {
|
||
if (!Dexie$1.disableBfCache && event.persisted) {
|
||
if (debug) console.debug('Dexie: handling persisted pagehide');
|
||
bc === null || bc === void 0 ? void 0 : bc.close();
|
||
for(var _i = 0, connections_1 = connections; _i < connections_1.length; _i++){
|
||
var db = connections_1[_i];
|
||
db.close({
|
||
disableAutoOpen: false
|
||
});
|
||
}
|
||
}
|
||
});
|
||
addEventListener('pageshow', function(event) {
|
||
if (!Dexie$1.disableBfCache && event.persisted) {
|
||
if (debug) console.debug('Dexie: handling persisted pageshow');
|
||
createBC();
|
||
propagateLocally({
|
||
all: new RangeSet(-Infinity, [
|
||
[]
|
||
])
|
||
});
|
||
}
|
||
});
|
||
}
|
||
function add(value) {
|
||
return new PropModification({
|
||
add: value
|
||
});
|
||
}
|
||
function remove(value) {
|
||
return new PropModification({
|
||
remove: value
|
||
});
|
||
}
|
||
function replacePrefix(a, b) {
|
||
return new PropModification({
|
||
replacePrefix: [
|
||
a,
|
||
b
|
||
]
|
||
});
|
||
}
|
||
DexiePromise.rejectionMapper = mapError;
|
||
setDebug(debug);
|
||
var namedExports = /*#__PURE__*/ Object.freeze({
|
||
__proto__: null,
|
||
Dexie: Dexie$1,
|
||
liveQuery: liveQuery,
|
||
Entity: Entity,
|
||
cmp: cmp,
|
||
PropModification: PropModification,
|
||
replacePrefix: replacePrefix,
|
||
add: add,
|
||
remove: remove,
|
||
'default': Dexie$1,
|
||
RangeSet: RangeSet,
|
||
mergeRanges: mergeRanges,
|
||
rangesOverlap: rangesOverlap
|
||
});
|
||
__assign(Dexie$1, namedExports, {
|
||
default: Dexie$1
|
||
});
|
||
return Dexie$1;
|
||
}); //# sourceMappingURL=dexie.js.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/dexie@4.2.1/node_modules/dexie/import-wrapper.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
// Making the module version consumable via require - to prohibit
|
||
// multiple occurrancies of the same module in the same app
|
||
// (dual package hazard, https://nodejs.org/api/packages.html#dual-package-hazard)
|
||
__turbopack_context__.s([
|
||
"Dexie",
|
||
()=>Dexie,
|
||
"DexieYProvider",
|
||
()=>DexieYProvider,
|
||
"Entity",
|
||
()=>Entity,
|
||
"PropModification",
|
||
()=>PropModification,
|
||
"RangeSet",
|
||
()=>RangeSet,
|
||
"add",
|
||
()=>add,
|
||
"cmp",
|
||
()=>cmp,
|
||
"default",
|
||
()=>__TURBOPACK__default__export__,
|
||
"liveQuery",
|
||
()=>liveQuery,
|
||
"mergeRanges",
|
||
()=>mergeRanges,
|
||
"rangesOverlap",
|
||
()=>rangesOverlap,
|
||
"remove",
|
||
()=>remove,
|
||
"replacePrefix",
|
||
()=>replacePrefix
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$40$4$2e$2$2e$1$2f$node_modules$2f$dexie$2f$dist$2f$dexie$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/dexie@4.2.1/node_modules/dexie/dist/dexie.js [app-client] (ecmascript)");
|
||
;
|
||
const DexieSymbol = Symbol.for("Dexie");
|
||
const Dexie = globalThis[DexieSymbol] || (globalThis[DexieSymbol] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$40$4$2e$2$2e$1$2f$node_modules$2f$dexie$2f$dist$2f$dexie$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]);
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$40$4$2e$2$2e$1$2f$node_modules$2f$dexie$2f$dist$2f$dexie$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].semVer !== Dexie.semVer) {
|
||
throw new Error(`Two different versions of Dexie loaded in the same app: ${__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$40$4$2e$2$2e$1$2f$node_modules$2f$dexie$2f$dist$2f$dexie$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].semVer} and ${Dexie.semVer}`);
|
||
}
|
||
const { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Entity, PropModification, replacePrefix, add, remove, DexieYProvider } = Dexie;
|
||
;
|
||
const __TURBOPACK__default__export__ = Dexie;
|
||
}),
|
||
"[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/circle-user.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>CircleUser
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const CircleUser = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("CircleUser", [
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "12",
|
||
r: "10",
|
||
key: "1mglay"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "10",
|
||
r: "3",
|
||
key: "ilqhr7"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",
|
||
key: "154egf"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=circle-user.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/circle-user.js [app-client] (ecmascript) <export default as CircleUser>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"CircleUser",
|
||
()=>__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$circle$2d$user$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$user$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle-user.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle-user-round.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>CircleUserRound
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const CircleUserRound = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("CircleUserRound", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M18 20a6 6 0 0 0-12 0",
|
||
key: "1qehca"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "10",
|
||
r: "4",
|
||
key: "1h16sb"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "12",
|
||
r: "10",
|
||
key: "1mglay"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=circle-user-round.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/circle-user-round.js [app-client] (ecmascript) <export default as CircleUserRound>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"CircleUserRound",
|
||
()=>__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$circle$2d$user$2d$round$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$user$2d$round$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle-user-round.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+number@1.1.0/node_modules/@radix-ui/number/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
// packages/core/number/src/number.ts
|
||
__turbopack_context__.s([
|
||
"clamp",
|
||
()=>clamp
|
||
]);
|
||
function clamp(value, [min, max]) {
|
||
return Math.min(max, Math.max(min, value));
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-previous@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-previous/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
// packages/react/use-previous/src/usePrevious.tsx
|
||
__turbopack_context__.s([
|
||
"usePrevious",
|
||
()=>usePrevious
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
;
|
||
function usePrevious(value) {
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]({
|
||
value,
|
||
previous: value
|
||
});
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"usePrevious.useMemo": ()=>{
|
||
if (ref.current.value !== value) {
|
||
ref.current.previous = ref.current.value;
|
||
ref.current.value = value;
|
||
}
|
||
return ref.current.previous;
|
||
}
|
||
}["usePrevious.useMemo"], [
|
||
value
|
||
]);
|
||
}
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-visually-hidden@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@typ_c3f4d56b21f8f37d78014c19b521b01b/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
// packages/react/visually-hidden/src/VisuallyHidden.tsx
|
||
__turbopack_context__.s([
|
||
"Root",
|
||
()=>Root,
|
||
"VisuallyHidden",
|
||
()=>VisuallyHidden
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
var NAME = "VisuallyHidden";
|
||
var VisuallyHidden = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
...props,
|
||
ref: forwardedRef,
|
||
style: {
|
||
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
||
position: "absolute",
|
||
border: 0,
|
||
width: 1,
|
||
height: 1,
|
||
padding: 0,
|
||
margin: -1,
|
||
overflow: "hidden",
|
||
clip: "rect(0, 0, 0, 0)",
|
||
whiteSpace: "nowrap",
|
||
wordWrap: "normal",
|
||
...props.style
|
||
}
|
||
});
|
||
});
|
||
VisuallyHidden.displayName = NAME;
|
||
var Root = VisuallyHidden;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-select@2.1.4_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@_0db8806b22e5e8953d2741c4abb73796/node_modules/@radix-ui/react-select/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Arrow",
|
||
()=>Arrow2,
|
||
"Content",
|
||
()=>Content2,
|
||
"Group",
|
||
()=>Group,
|
||
"Icon",
|
||
()=>Icon,
|
||
"Item",
|
||
()=>Item,
|
||
"ItemIndicator",
|
||
()=>ItemIndicator,
|
||
"ItemText",
|
||
()=>ItemText,
|
||
"Label",
|
||
()=>Label,
|
||
"Portal",
|
||
()=>Portal,
|
||
"Root",
|
||
()=>Root2,
|
||
"ScrollDownButton",
|
||
()=>ScrollDownButton,
|
||
"ScrollUpButton",
|
||
()=>ScrollUpButton,
|
||
"Select",
|
||
()=>Select,
|
||
"SelectArrow",
|
||
()=>SelectArrow,
|
||
"SelectContent",
|
||
()=>SelectContent,
|
||
"SelectGroup",
|
||
()=>SelectGroup,
|
||
"SelectIcon",
|
||
()=>SelectIcon,
|
||
"SelectItem",
|
||
()=>SelectItem,
|
||
"SelectItemIndicator",
|
||
()=>SelectItemIndicator,
|
||
"SelectItemText",
|
||
()=>SelectItemText,
|
||
"SelectLabel",
|
||
()=>SelectLabel,
|
||
"SelectPortal",
|
||
()=>SelectPortal,
|
||
"SelectScrollDownButton",
|
||
()=>SelectScrollDownButton,
|
||
"SelectScrollUpButton",
|
||
()=>SelectScrollUpButton,
|
||
"SelectSeparator",
|
||
()=>SelectSeparator,
|
||
"SelectTrigger",
|
||
()=>SelectTrigger,
|
||
"SelectValue",
|
||
()=>SelectValue,
|
||
"SelectViewport",
|
||
()=>SelectViewport,
|
||
"Separator",
|
||
()=>Separator,
|
||
"Trigger",
|
||
()=>Trigger,
|
||
"Value",
|
||
()=>Value,
|
||
"Viewport",
|
||
()=>Viewport,
|
||
"createSelectScope",
|
||
()=>createSelectScope
|
||
]);
|
||
// packages/react/select/src/Select.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$number$40$1$2e$1$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+number@1.1.0/node_modules/@radix-ui/number/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$collection$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$re_1ad17166111274b6b451c5ad4817bfc8$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-collection@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+re_1ad17166111274b6b451c5ad4817bfc8/node_modules/@radix-ui/react-collection/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$direction$40$1$2e$1$2e$0_$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$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-direction@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$dismissable$2d$layer$40$1$2e$1$2e$3_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$t_93e149627c30a83695c926d31c853576$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.3_@types+react-dom@19.2.3_@types+react@19.2.6__@t_93e149627c30a83695c926d31c853576/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$focus$2d$guards$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$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-focus-guards/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$focus$2d$scope$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$r_d785daf6985fc8350fb3781de275c6b6$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+r_d785daf6985fc8350fb3781de275c6b6/node_modules/@radix-ui/react-focus-scope/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-id@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-id/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-popper@1.2.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@_f51937a6043c1687ec731d0ff356eddd/node_modules/@radix-ui/react-popper/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$portal$40$1$2e$1$2e$3_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_046b67df02e5a46cef606421f30d033b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$portal$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-portal@1.1.3_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@_046b67df02e5a46cef606421f30d033b/node_modules/@radix-ui/react-portal/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$slot$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$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-slot@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
||
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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$previous$40$1$2e$1$2e$0_$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$use$2d$previous$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-previous@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-previous/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$visually$2d$hidden$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$typ_c3f4d56b21f8f37d78014c19b521b01b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$visually$2d$hidden$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-visually-hidden@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@typ_c3f4d56b21f8f37d78014c19b521b01b/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$aria$2d$hidden$40$1$2e$2$2e$6$2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$react$2d$remove$2d$scroll$40$2$2e$7$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.2.6_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/Combination.js [app-client] (ecmascript) <export default as RemoveScroll>");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var OPEN_KEYS = [
|
||
" ",
|
||
"Enter",
|
||
"ArrowUp",
|
||
"ArrowDown"
|
||
];
|
||
var SELECTION_KEYS = [
|
||
" ",
|
||
"Enter"
|
||
];
|
||
var SELECT_NAME = "Select";
|
||
var [Collection, useCollection, createCollectionScope] = (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$collection$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$re_1ad17166111274b6b451c5ad4817bfc8$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCollection"])(SELECT_NAME);
|
||
var [createSelectContext, createSelectScope] = (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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(SELECT_NAME, [
|
||
createCollectionScope,
|
||
__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$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPopperScope"]
|
||
]);
|
||
var usePopperScope = (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$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPopperScope"])();
|
||
var [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);
|
||
var [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);
|
||
var Select = (props)=>{
|
||
const { __scopeSelect, children, open: openProp, defaultOpen, onOpenChange, value: valueProp, defaultValue, onValueChange, dir, name, autoComplete, disabled, required, form } = props;
|
||
const popperScope = usePopperScope(__scopeSelect);
|
||
const [trigger, setTrigger] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [valueNode, setValueNode] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [valueNodeHasChildren, setValueNodeHasChildren] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const direction = (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$direction$40$1$2e$1$2e$0_$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$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useDirection"])(dir);
|
||
const [open = false, setOpen] = (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$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: openProp,
|
||
defaultProp: defaultOpen,
|
||
onChange: onOpenChange
|
||
});
|
||
const [value, setValue] = (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$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: valueProp,
|
||
defaultProp: defaultValue,
|
||
onChange: onValueChange
|
||
});
|
||
const triggerPointerDownPosRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const isFormControl = trigger ? form || !!trigger.closest("form") : true;
|
||
const [nativeOptionsSet, setNativeOptionsSet] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](/* @__PURE__ */ new Set());
|
||
const nativeSelectKey = Array.from(nativeOptionsSet).map((option)=>option.props.value).join(";");
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], {
|
||
...popperScope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(SelectProvider, {
|
||
required,
|
||
scope: __scopeSelect,
|
||
trigger,
|
||
onTriggerChange: setTrigger,
|
||
valueNode,
|
||
onValueNodeChange: setValueNode,
|
||
valueNodeHasChildren,
|
||
onValueNodeHasChildrenChange: setValueNodeHasChildren,
|
||
contentId: (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$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])(),
|
||
value,
|
||
onValueChange: setValue,
|
||
open,
|
||
onOpenChange: setOpen,
|
||
dir: direction,
|
||
triggerPointerDownPosRef,
|
||
disabled,
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Provider, {
|
||
scope: __scopeSelect,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectNativeOptionsProvider, {
|
||
scope: props.__scopeSelect,
|
||
onNativeOptionAdd: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"Select.useCallback": (option)=>{
|
||
setNativeOptionsSet({
|
||
"Select.useCallback": (prev)=>new Set(prev).add(option)
|
||
}["Select.useCallback"]);
|
||
}
|
||
}["Select.useCallback"], []),
|
||
onNativeOptionRemove: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"Select.useCallback": (option)=>{
|
||
setNativeOptionsSet({
|
||
"Select.useCallback": (prev)=>{
|
||
const optionsSet = new Set(prev);
|
||
optionsSet.delete(option);
|
||
return optionsSet;
|
||
}
|
||
}["Select.useCallback"]);
|
||
}
|
||
}["Select.useCallback"], []),
|
||
children
|
||
})
|
||
}),
|
||
isFormControl ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(BubbleSelect, {
|
||
"aria-hidden": true,
|
||
required,
|
||
tabIndex: -1,
|
||
name,
|
||
autoComplete,
|
||
value,
|
||
onChange: (event)=>setValue(event.target.value),
|
||
disabled,
|
||
form,
|
||
children: [
|
||
value === void 0 ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("option", {
|
||
value: ""
|
||
}) : null,
|
||
Array.from(nativeOptionsSet)
|
||
]
|
||
}, nativeSelectKey) : null
|
||
]
|
||
})
|
||
});
|
||
};
|
||
Select.displayName = SELECT_NAME;
|
||
var TRIGGER_NAME = "SelectTrigger";
|
||
var SelectTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, disabled = false, ...triggerProps } = props;
|
||
const popperScope = usePopperScope(__scopeSelect);
|
||
const context = useSelectContext(TRIGGER_NAME, __scopeSelect);
|
||
const isDisabled = context.disabled || disabled;
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, context.onTriggerChange);
|
||
const getItems = useCollection(__scopeSelect);
|
||
const pointerTypeRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("touch");
|
||
const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch({
|
||
"SelectTrigger.useTypeaheadSearch": (search)=>{
|
||
const enabledItems = getItems().filter({
|
||
"SelectTrigger.useTypeaheadSearch.enabledItems": (item)=>!item.disabled
|
||
}["SelectTrigger.useTypeaheadSearch.enabledItems"]);
|
||
const currentItem = enabledItems.find({
|
||
"SelectTrigger.useTypeaheadSearch.currentItem": (item)=>item.value === context.value
|
||
}["SelectTrigger.useTypeaheadSearch.currentItem"]);
|
||
const nextItem = findNextItem(enabledItems, search, currentItem);
|
||
if (nextItem !== void 0) {
|
||
context.onValueChange(nextItem.value);
|
||
}
|
||
}
|
||
}["SelectTrigger.useTypeaheadSearch"]);
|
||
const handleOpen = (pointerEvent)=>{
|
||
if (!isDisabled) {
|
||
context.onOpenChange(true);
|
||
resetTypeahead();
|
||
}
|
||
if (pointerEvent) {
|
||
context.triggerPointerDownPosRef.current = {
|
||
x: Math.round(pointerEvent.pageX),
|
||
y: Math.round(pointerEvent.pageY)
|
||
};
|
||
}
|
||
};
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Anchor"], {
|
||
asChild: true,
|
||
...popperScope,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].button, {
|
||
type: "button",
|
||
role: "combobox",
|
||
"aria-controls": context.contentId,
|
||
"aria-expanded": context.open,
|
||
"aria-required": context.required,
|
||
"aria-autocomplete": "none",
|
||
dir: context.dir,
|
||
"data-state": context.open ? "open" : "closed",
|
||
disabled: isDisabled,
|
||
"data-disabled": isDisabled ? "" : void 0,
|
||
"data-placeholder": shouldShowPlaceholder(context.value) ? "" : void 0,
|
||
...triggerProps,
|
||
ref: composedRefs,
|
||
onClick: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(triggerProps.onClick, (event)=>{
|
||
event.currentTarget.focus();
|
||
if (pointerTypeRef.current !== "mouse") {
|
||
handleOpen(event);
|
||
}
|
||
}),
|
||
onPointerDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(triggerProps.onPointerDown, (event)=>{
|
||
pointerTypeRef.current = event.pointerType;
|
||
const target = event.target;
|
||
if (target.hasPointerCapture(event.pointerId)) {
|
||
target.releasePointerCapture(event.pointerId);
|
||
}
|
||
if (event.button === 0 && event.ctrlKey === false && event.pointerType === "mouse") {
|
||
handleOpen(event);
|
||
event.preventDefault();
|
||
}
|
||
}),
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(triggerProps.onKeyDown, (event)=>{
|
||
const isTypingAhead = searchRef.current !== "";
|
||
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
||
if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
|
||
if (isTypingAhead && event.key === " ") return;
|
||
if (OPEN_KEYS.includes(event.key)) {
|
||
handleOpen();
|
||
event.preventDefault();
|
||
}
|
||
})
|
||
})
|
||
});
|
||
});
|
||
SelectTrigger.displayName = TRIGGER_NAME;
|
||
var VALUE_NAME = "SelectValue";
|
||
var SelectValue = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, className, style, children, placeholder = "", ...valueProps } = props;
|
||
const context = useSelectContext(VALUE_NAME, __scopeSelect);
|
||
const { onValueNodeHasChildrenChange } = context;
|
||
const hasChildren = children !== void 0;
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, context.onValueNodeChange);
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectValue.useLayoutEffect": ()=>{
|
||
onValueNodeHasChildrenChange(hasChildren);
|
||
}
|
||
}["SelectValue.useLayoutEffect"], [
|
||
onValueNodeHasChildrenChange,
|
||
hasChildren
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
...valueProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
pointerEvents: "none"
|
||
},
|
||
children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children: placeholder
|
||
}) : children
|
||
});
|
||
});
|
||
SelectValue.displayName = VALUE_NAME;
|
||
var ICON_NAME = "SelectIcon";
|
||
var SelectIcon = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, children, ...iconProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
"aria-hidden": true,
|
||
...iconProps,
|
||
ref: forwardedRef,
|
||
children: children || "\u25BC"
|
||
});
|
||
});
|
||
SelectIcon.displayName = ICON_NAME;
|
||
var PORTAL_NAME = "SelectPortal";
|
||
var SelectPortal = (props)=>{
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$portal$40$1$2e$1$2e$3_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_046b67df02e5a46cef606421f30d033b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$portal$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Portal"], {
|
||
asChild: true,
|
||
...props
|
||
});
|
||
};
|
||
SelectPortal.displayName = PORTAL_NAME;
|
||
var CONTENT_NAME = "SelectContent";
|
||
var SelectContent = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);
|
||
const [fragment, setFragment] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectContent.useLayoutEffect": ()=>{
|
||
setFragment(new DocumentFragment());
|
||
}
|
||
}["SelectContent.useLayoutEffect"], []);
|
||
if (!context.open) {
|
||
const frag = fragment;
|
||
return frag ? __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPortal"](/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectContentProvider, {
|
||
scope: props.__scopeSelect,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Slot, {
|
||
scope: props.__scopeSelect,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("div", {
|
||
children: props.children
|
||
})
|
||
})
|
||
}), frag) : null;
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectContentImpl, {
|
||
...props,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
SelectContent.displayName = CONTENT_NAME;
|
||
var CONTENT_MARGIN = 10;
|
||
var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);
|
||
var CONTENT_IMPL_NAME = "SelectContentImpl";
|
||
var SelectContentImpl = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, position = "item-aligned", onCloseAutoFocus, onEscapeKeyDown, onPointerDownOutside, //
|
||
// PopperContent props
|
||
side, sideOffset, align, alignOffset, arrowPadding, collisionBoundary, collisionPadding, sticky, hideWhenDetached, avoidCollisions, //
|
||
...contentProps } = props;
|
||
const context = useSelectContext(CONTENT_NAME, __scopeSelect);
|
||
const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [viewport, setViewport] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SelectContentImpl.useComposedRefs[composedRefs]": (node)=>setContent(node)
|
||
}["SelectContentImpl.useComposedRefs[composedRefs]"]);
|
||
const [selectedItem, setSelectedItem] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [selectedItemText, setSelectedItemText] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const getItems = useCollection(__scopeSelect);
|
||
const [isPositioned, setIsPositioned] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const firstValidItemFoundRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
if (content) 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$aria$2d$hidden$40$1$2e$2$2e$6$2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["hideOthers"])(content);
|
||
}
|
||
}["SelectContentImpl.useEffect"], [
|
||
content
|
||
]);
|
||
(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$focus$2d$guards$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$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useFocusGuards"])();
|
||
const focusFirst = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[focusFirst]": (candidates)=>{
|
||
const [firstItem, ...restItems] = getItems().map({
|
||
"SelectContentImpl.useCallback[focusFirst]": (item)=>item.ref.current
|
||
}["SelectContentImpl.useCallback[focusFirst]"]);
|
||
const [lastItem] = restItems.slice(-1);
|
||
const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
|
||
for (const candidate of candidates){
|
||
if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
|
||
candidate?.scrollIntoView({
|
||
block: "nearest"
|
||
});
|
||
if (candidate === firstItem && viewport) viewport.scrollTop = 0;
|
||
if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;
|
||
candidate?.focus();
|
||
if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
|
||
}
|
||
}
|
||
}["SelectContentImpl.useCallback[focusFirst]"], [
|
||
getItems,
|
||
viewport
|
||
]);
|
||
const focusSelectedItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[focusSelectedItem]": ()=>focusFirst([
|
||
selectedItem,
|
||
content
|
||
])
|
||
}["SelectContentImpl.useCallback[focusSelectedItem]"], [
|
||
focusFirst,
|
||
selectedItem,
|
||
content
|
||
]);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
if (isPositioned) {
|
||
focusSelectedItem();
|
||
}
|
||
}
|
||
}["SelectContentImpl.useEffect"], [
|
||
isPositioned,
|
||
focusSelectedItem
|
||
]);
|
||
const { onOpenChange, triggerPointerDownPosRef } = context;
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
if (content) {
|
||
let pointerMoveDelta = {
|
||
x: 0,
|
||
y: 0
|
||
};
|
||
const handlePointerMove = {
|
||
"SelectContentImpl.useEffect.handlePointerMove": (event)=>{
|
||
pointerMoveDelta = {
|
||
x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),
|
||
y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))
|
||
};
|
||
}
|
||
}["SelectContentImpl.useEffect.handlePointerMove"];
|
||
const handlePointerUp = {
|
||
"SelectContentImpl.useEffect.handlePointerUp": (event)=>{
|
||
if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {
|
||
event.preventDefault();
|
||
} else {
|
||
if (!content.contains(event.target)) {
|
||
onOpenChange(false);
|
||
}
|
||
}
|
||
document.removeEventListener("pointermove", handlePointerMove);
|
||
triggerPointerDownPosRef.current = null;
|
||
}
|
||
}["SelectContentImpl.useEffect.handlePointerUp"];
|
||
if (triggerPointerDownPosRef.current !== null) {
|
||
document.addEventListener("pointermove", handlePointerMove);
|
||
document.addEventListener("pointerup", handlePointerUp, {
|
||
capture: true,
|
||
once: true
|
||
});
|
||
}
|
||
return ({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
document.removeEventListener("pointermove", handlePointerMove);
|
||
document.removeEventListener("pointerup", handlePointerUp, {
|
||
capture: true
|
||
});
|
||
}
|
||
})["SelectContentImpl.useEffect"];
|
||
}
|
||
}
|
||
}["SelectContentImpl.useEffect"], [
|
||
content,
|
||
onOpenChange,
|
||
triggerPointerDownPosRef
|
||
]);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
const close = {
|
||
"SelectContentImpl.useEffect.close": ()=>onOpenChange(false)
|
||
}["SelectContentImpl.useEffect.close"];
|
||
window.addEventListener("blur", close);
|
||
window.addEventListener("resize", close);
|
||
return ({
|
||
"SelectContentImpl.useEffect": ()=>{
|
||
window.removeEventListener("blur", close);
|
||
window.removeEventListener("resize", close);
|
||
}
|
||
})["SelectContentImpl.useEffect"];
|
||
}
|
||
}["SelectContentImpl.useEffect"], [
|
||
onOpenChange
|
||
]);
|
||
const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch({
|
||
"SelectContentImpl.useTypeaheadSearch": (search)=>{
|
||
const enabledItems = getItems().filter({
|
||
"SelectContentImpl.useTypeaheadSearch.enabledItems": (item)=>!item.disabled
|
||
}["SelectContentImpl.useTypeaheadSearch.enabledItems"]);
|
||
const currentItem = enabledItems.find({
|
||
"SelectContentImpl.useTypeaheadSearch.currentItem": (item)=>item.ref.current === document.activeElement
|
||
}["SelectContentImpl.useTypeaheadSearch.currentItem"]);
|
||
const nextItem = findNextItem(enabledItems, search, currentItem);
|
||
if (nextItem) {
|
||
setTimeout({
|
||
"SelectContentImpl.useTypeaheadSearch": ()=>nextItem.ref.current.focus()
|
||
}["SelectContentImpl.useTypeaheadSearch"]);
|
||
}
|
||
}
|
||
}["SelectContentImpl.useTypeaheadSearch"]);
|
||
const itemRefCallback = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[itemRefCallback]": (node, value, disabled)=>{
|
||
const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
|
||
const isSelectedItem = context.value !== void 0 && context.value === value;
|
||
if (isSelectedItem || isFirstValidItem) {
|
||
setSelectedItem(node);
|
||
if (isFirstValidItem) firstValidItemFoundRef.current = true;
|
||
}
|
||
}
|
||
}["SelectContentImpl.useCallback[itemRefCallback]"], [
|
||
context.value
|
||
]);
|
||
const handleItemLeave = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[handleItemLeave]": ()=>content?.focus()
|
||
}["SelectContentImpl.useCallback[handleItemLeave]"], [
|
||
content
|
||
]);
|
||
const itemTextRefCallback = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectContentImpl.useCallback[itemTextRefCallback]": (node, value, disabled)=>{
|
||
const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
|
||
const isSelectedItem = context.value !== void 0 && context.value === value;
|
||
if (isSelectedItem || isFirstValidItem) {
|
||
setSelectedItemText(node);
|
||
}
|
||
}
|
||
}["SelectContentImpl.useCallback[itemTextRefCallback]"], [
|
||
context.value
|
||
]);
|
||
const SelectPosition = position === "popper" ? SelectPopperPosition : SelectItemAlignedPosition;
|
||
const popperContentProps = SelectPosition === SelectPopperPosition ? {
|
||
side,
|
||
sideOffset,
|
||
align,
|
||
alignOffset,
|
||
arrowPadding,
|
||
collisionBoundary,
|
||
collisionPadding,
|
||
sticky,
|
||
hideWhenDetached,
|
||
avoidCollisions
|
||
} : {};
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectContentProvider, {
|
||
scope: __scopeSelect,
|
||
content,
|
||
viewport,
|
||
onViewportChange: setViewport,
|
||
itemRefCallback,
|
||
selectedItem,
|
||
onItemLeave: handleItemLeave,
|
||
itemTextRefCallback,
|
||
focusSelectedItem,
|
||
selectedItemText,
|
||
position,
|
||
isPositioned,
|
||
searchRef,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$react$2d$remove$2d$scroll$40$2$2e$7$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__["RemoveScroll"], {
|
||
as: __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$slot$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$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Slot"],
|
||
allowPinchZoom: true,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$focus$2d$scope$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$r_d785daf6985fc8350fb3781de275c6b6$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["FocusScope"], {
|
||
asChild: true,
|
||
trapped: context.open,
|
||
onMountAutoFocus: (event)=>{
|
||
event.preventDefault();
|
||
},
|
||
onUnmountAutoFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(onCloseAutoFocus, (event)=>{
|
||
context.trigger?.focus({
|
||
preventScroll: true
|
||
});
|
||
event.preventDefault();
|
||
}),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$dismissable$2d$layer$40$1$2e$1$2e$3_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$t_93e149627c30a83695c926d31c853576$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["DismissableLayer"], {
|
||
asChild: true,
|
||
disableOutsidePointerEvents: true,
|
||
onEscapeKeyDown,
|
||
onPointerDownOutside,
|
||
onFocusOutside: (event)=>event.preventDefault(),
|
||
onDismiss: ()=>context.onOpenChange(false),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectPosition, {
|
||
role: "listbox",
|
||
id: context.contentId,
|
||
"data-state": context.open ? "open" : "closed",
|
||
dir: context.dir,
|
||
onContextMenu: (event)=>event.preventDefault(),
|
||
...contentProps,
|
||
...popperContentProps,
|
||
onPlaced: ()=>setIsPositioned(true),
|
||
ref: composedRefs,
|
||
style: {
|
||
// flex layout so we can place the scroll buttons properly
|
||
display: "flex",
|
||
flexDirection: "column",
|
||
// reset the outline by default as the content MAY get focused
|
||
outline: "none",
|
||
...contentProps.style
|
||
},
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(contentProps.onKeyDown, (event)=>{
|
||
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
||
if (event.key === "Tab") event.preventDefault();
|
||
if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
|
||
if ([
|
||
"ArrowUp",
|
||
"ArrowDown",
|
||
"Home",
|
||
"End"
|
||
].includes(event.key)) {
|
||
const items = getItems().filter((item)=>!item.disabled);
|
||
let candidateNodes = items.map((item)=>item.ref.current);
|
||
if ([
|
||
"ArrowUp",
|
||
"End"
|
||
].includes(event.key)) {
|
||
candidateNodes = candidateNodes.slice().reverse();
|
||
}
|
||
if ([
|
||
"ArrowUp",
|
||
"ArrowDown"
|
||
].includes(event.key)) {
|
||
const currentElement = event.target;
|
||
const currentIndex = candidateNodes.indexOf(currentElement);
|
||
candidateNodes = candidateNodes.slice(currentIndex + 1);
|
||
}
|
||
setTimeout(()=>focusFirst(candidateNodes));
|
||
event.preventDefault();
|
||
}
|
||
})
|
||
})
|
||
})
|
||
})
|
||
})
|
||
});
|
||
});
|
||
SelectContentImpl.displayName = CONTENT_IMPL_NAME;
|
||
var ITEM_ALIGNED_POSITION_NAME = "SelectItemAlignedPosition";
|
||
var SelectItemAlignedPosition = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, onPlaced, ...popperProps } = props;
|
||
const context = useSelectContext(CONTENT_NAME, __scopeSelect);
|
||
const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);
|
||
const [contentWrapper, setContentWrapper] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SelectItemAlignedPosition.useComposedRefs[composedRefs]": (node)=>setContent(node)
|
||
}["SelectItemAlignedPosition.useComposedRefs[composedRefs]"]);
|
||
const getItems = useCollection(__scopeSelect);
|
||
const shouldExpandOnScrollRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](false);
|
||
const shouldRepositionRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](true);
|
||
const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;
|
||
const position = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectItemAlignedPosition.useCallback[position]": ()=>{
|
||
if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {
|
||
const triggerRect = context.trigger.getBoundingClientRect();
|
||
const contentRect = content.getBoundingClientRect();
|
||
const valueNodeRect = context.valueNode.getBoundingClientRect();
|
||
const itemTextRect = selectedItemText.getBoundingClientRect();
|
||
if (context.dir !== "rtl") {
|
||
const itemTextOffset = itemTextRect.left - contentRect.left;
|
||
const left = valueNodeRect.left - itemTextOffset;
|
||
const leftDelta = triggerRect.left - left;
|
||
const minContentWidth = triggerRect.width + leftDelta;
|
||
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
||
const rightEdge = window.innerWidth - CONTENT_MARGIN;
|
||
const clampedLeft = (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$number$40$1$2e$1$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(left, [
|
||
CONTENT_MARGIN,
|
||
// Prevents the content from going off the starting edge of the
|
||
// viewport. It may still go off the ending edge, but this can be
|
||
// controlled by the user since they may want to manage overflow in a
|
||
// specific way.
|
||
// https://github.com/radix-ui/primitives/issues/2049
|
||
Math.max(CONTENT_MARGIN, rightEdge - contentWidth)
|
||
]);
|
||
contentWrapper.style.minWidth = minContentWidth + "px";
|
||
contentWrapper.style.left = clampedLeft + "px";
|
||
} else {
|
||
const itemTextOffset = contentRect.right - itemTextRect.right;
|
||
const right = window.innerWidth - valueNodeRect.right - itemTextOffset;
|
||
const rightDelta = window.innerWidth - triggerRect.right - right;
|
||
const minContentWidth = triggerRect.width + rightDelta;
|
||
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
||
const leftEdge = window.innerWidth - CONTENT_MARGIN;
|
||
const clampedRight = (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$number$40$1$2e$1$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(right, [
|
||
CONTENT_MARGIN,
|
||
Math.max(CONTENT_MARGIN, leftEdge - contentWidth)
|
||
]);
|
||
contentWrapper.style.minWidth = minContentWidth + "px";
|
||
contentWrapper.style.right = clampedRight + "px";
|
||
}
|
||
const items = getItems();
|
||
const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;
|
||
const itemsHeight = viewport.scrollHeight;
|
||
const contentStyles = window.getComputedStyle(content);
|
||
const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);
|
||
const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);
|
||
const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);
|
||
const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);
|
||
const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;
|
||
const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);
|
||
const viewportStyles = window.getComputedStyle(viewport);
|
||
const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);
|
||
const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);
|
||
const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;
|
||
const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;
|
||
const selectedItemHalfHeight = selectedItem.offsetHeight / 2;
|
||
const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;
|
||
const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;
|
||
const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;
|
||
const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;
|
||
if (willAlignWithoutTopOverflow) {
|
||
const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;
|
||
contentWrapper.style.bottom = "0px";
|
||
const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;
|
||
const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport
|
||
(isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);
|
||
const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;
|
||
contentWrapper.style.height = height + "px";
|
||
} else {
|
||
const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;
|
||
contentWrapper.style.top = "0px";
|
||
const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport
|
||
(isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);
|
||
const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;
|
||
contentWrapper.style.height = height + "px";
|
||
viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;
|
||
}
|
||
contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;
|
||
contentWrapper.style.minHeight = minContentHeight + "px";
|
||
contentWrapper.style.maxHeight = availableHeight + "px";
|
||
onPlaced?.();
|
||
requestAnimationFrame({
|
||
"SelectItemAlignedPosition.useCallback[position]": ()=>shouldExpandOnScrollRef.current = true
|
||
}["SelectItemAlignedPosition.useCallback[position]"]);
|
||
}
|
||
}
|
||
}["SelectItemAlignedPosition.useCallback[position]"], [
|
||
getItems,
|
||
context.trigger,
|
||
context.valueNode,
|
||
contentWrapper,
|
||
content,
|
||
viewport,
|
||
selectedItem,
|
||
selectedItemText,
|
||
context.dir,
|
||
onPlaced
|
||
]);
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectItemAlignedPosition.useLayoutEffect": ()=>position()
|
||
}["SelectItemAlignedPosition.useLayoutEffect"], [
|
||
position
|
||
]);
|
||
const [contentZIndex, setContentZIndex] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectItemAlignedPosition.useLayoutEffect": ()=>{
|
||
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
||
}
|
||
}["SelectItemAlignedPosition.useLayoutEffect"], [
|
||
content
|
||
]);
|
||
const handleScrollButtonChange = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectItemAlignedPosition.useCallback[handleScrollButtonChange]": (node)=>{
|
||
if (node && shouldRepositionRef.current === true) {
|
||
position();
|
||
focusSelectedItem?.();
|
||
shouldRepositionRef.current = false;
|
||
}
|
||
}
|
||
}["SelectItemAlignedPosition.useCallback[handleScrollButtonChange]"], [
|
||
position,
|
||
focusSelectedItem
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectViewportProvider, {
|
||
scope: __scopeSelect,
|
||
contentWrapper,
|
||
shouldExpandOnScrollRef,
|
||
onScrollButtonChange: handleScrollButtonChange,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("div", {
|
||
ref: setContentWrapper,
|
||
style: {
|
||
display: "flex",
|
||
flexDirection: "column",
|
||
position: "fixed",
|
||
zIndex: contentZIndex
|
||
},
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
...popperProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
// When we get the height of the content, it includes borders. If we were to set
|
||
// the height without having `boxSizing: 'border-box'` it would be too big.
|
||
boxSizing: "border-box",
|
||
// We need to ensure the content doesn't get taller than the wrapper
|
||
maxHeight: "100%",
|
||
...popperProps.style
|
||
}
|
||
})
|
||
})
|
||
});
|
||
});
|
||
SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;
|
||
var POPPER_POSITION_NAME = "SelectPopperPosition";
|
||
var SelectPopperPosition = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, align = "start", collisionPadding = CONTENT_MARGIN, ...popperProps } = props;
|
||
const popperScope = usePopperScope(__scopeSelect);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Content"], {
|
||
...popperScope,
|
||
...popperProps,
|
||
ref: forwardedRef,
|
||
align,
|
||
collisionPadding,
|
||
style: {
|
||
// Ensure border-box for floating-ui calculations
|
||
boxSizing: "border-box",
|
||
...popperProps.style,
|
||
// re-namespace exposed content custom properties
|
||
...{
|
||
"--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||
"--radix-select-content-available-width": "var(--radix-popper-available-width)",
|
||
"--radix-select-content-available-height": "var(--radix-popper-available-height)",
|
||
"--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
|
||
"--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
|
||
}
|
||
}
|
||
});
|
||
});
|
||
SelectPopperPosition.displayName = POPPER_POSITION_NAME;
|
||
var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});
|
||
var VIEWPORT_NAME = "SelectViewport";
|
||
var SelectViewport = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, nonce, ...viewportProps } = props;
|
||
const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);
|
||
const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, contentContext.onViewportChange);
|
||
const prevScrollTopRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("style", {
|
||
dangerouslySetInnerHTML: {
|
||
__html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`
|
||
},
|
||
nonce
|
||
}),
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Slot, {
|
||
scope: __scopeSelect,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"data-radix-select-viewport": "",
|
||
role: "presentation",
|
||
...viewportProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
// we use position: 'relative' here on the `viewport` so that when we call
|
||
// `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
|
||
// (independent of the scrollUpButton).
|
||
position: "relative",
|
||
flex: 1,
|
||
// Viewport should only be scrollable in the vertical direction.
|
||
// This won't work in vertical writing modes, so we'll need to
|
||
// revisit this if/when that is supported
|
||
// https://developer.chrome.com/blog/vertical-form-controls
|
||
overflow: "hidden auto",
|
||
...viewportProps.style
|
||
},
|
||
onScroll: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(viewportProps.onScroll, (event)=>{
|
||
const viewport = event.currentTarget;
|
||
const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;
|
||
if (shouldExpandOnScrollRef?.current && contentWrapper) {
|
||
const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);
|
||
if (scrolledBy > 0) {
|
||
const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;
|
||
const cssMinHeight = parseFloat(contentWrapper.style.minHeight);
|
||
const cssHeight = parseFloat(contentWrapper.style.height);
|
||
const prevHeight = Math.max(cssMinHeight, cssHeight);
|
||
if (prevHeight < availableHeight) {
|
||
const nextHeight = prevHeight + scrolledBy;
|
||
const clampedNextHeight = Math.min(availableHeight, nextHeight);
|
||
const heightDiff = nextHeight - clampedNextHeight;
|
||
contentWrapper.style.height = clampedNextHeight + "px";
|
||
if (contentWrapper.style.bottom === "0px") {
|
||
viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;
|
||
contentWrapper.style.justifyContent = "flex-end";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
prevScrollTopRef.current = viewport.scrollTop;
|
||
})
|
||
})
|
||
})
|
||
]
|
||
});
|
||
});
|
||
SelectViewport.displayName = VIEWPORT_NAME;
|
||
var GROUP_NAME = "SelectGroup";
|
||
var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);
|
||
var SelectGroup = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...groupProps } = props;
|
||
const groupId = (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$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])();
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectGroupContextProvider, {
|
||
scope: __scopeSelect,
|
||
id: groupId,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
role: "group",
|
||
"aria-labelledby": groupId,
|
||
...groupProps,
|
||
ref: forwardedRef
|
||
})
|
||
});
|
||
});
|
||
SelectGroup.displayName = GROUP_NAME;
|
||
var LABEL_NAME = "SelectLabel";
|
||
var SelectLabel = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...labelProps } = props;
|
||
const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
id: groupContext.id,
|
||
...labelProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
SelectLabel.displayName = LABEL_NAME;
|
||
var ITEM_NAME = "SelectItem";
|
||
var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);
|
||
var SelectItem = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, value, disabled = false, textValue: textValueProp, ...itemProps } = props;
|
||
const context = useSelectContext(ITEM_NAME, __scopeSelect);
|
||
const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);
|
||
const isSelected = context.value === value;
|
||
const [textValue, setTextValue] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](textValueProp ?? "");
|
||
const [isFocused, setIsFocused] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SelectItem.useComposedRefs[composedRefs]": (node)=>contentContext.itemRefCallback?.(node, value, disabled)
|
||
}["SelectItem.useComposedRefs[composedRefs]"]);
|
||
const textId = (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$id$40$1$2e$1$2e$0_$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$id$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useId"])();
|
||
const pointerTypeRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("touch");
|
||
const handleSelect = ()=>{
|
||
if (!disabled) {
|
||
context.onValueChange(value);
|
||
context.onOpenChange(false);
|
||
}
|
||
};
|
||
if (value === "") {
|
||
throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectItemContextProvider, {
|
||
scope: __scopeSelect,
|
||
value,
|
||
disabled,
|
||
textId,
|
||
isSelected,
|
||
onItemTextChange: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectItem.useCallback": (node)=>{
|
||
setTextValue({
|
||
"SelectItem.useCallback": (prevTextValue)=>prevTextValue || (node?.textContent ?? "").trim()
|
||
}["SelectItem.useCallback"]);
|
||
}
|
||
}["SelectItem.useCallback"], []),
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.ItemSlot, {
|
||
scope: __scopeSelect,
|
||
value,
|
||
disabled,
|
||
textValue,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
role: "option",
|
||
"aria-labelledby": textId,
|
||
"data-highlighted": isFocused ? "" : void 0,
|
||
"aria-selected": isSelected && isFocused,
|
||
"data-state": isSelected ? "checked" : "unchecked",
|
||
"aria-disabled": disabled || void 0,
|
||
"data-disabled": disabled ? "" : void 0,
|
||
tabIndex: disabled ? void 0 : -1,
|
||
...itemProps,
|
||
ref: composedRefs,
|
||
onFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onFocus, ()=>setIsFocused(true)),
|
||
onBlur: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onBlur, ()=>setIsFocused(false)),
|
||
onClick: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onClick, ()=>{
|
||
if (pointerTypeRef.current !== "mouse") handleSelect();
|
||
}),
|
||
onPointerUp: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onPointerUp, ()=>{
|
||
if (pointerTypeRef.current === "mouse") handleSelect();
|
||
}),
|
||
onPointerDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onPointerDown, (event)=>{
|
||
pointerTypeRef.current = event.pointerType;
|
||
}),
|
||
onPointerMove: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onPointerMove, (event)=>{
|
||
pointerTypeRef.current = event.pointerType;
|
||
if (disabled) {
|
||
contentContext.onItemLeave?.();
|
||
} else if (pointerTypeRef.current === "mouse") {
|
||
event.currentTarget.focus({
|
||
preventScroll: true
|
||
});
|
||
}
|
||
}),
|
||
onPointerLeave: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onPointerLeave, (event)=>{
|
||
if (event.currentTarget === document.activeElement) {
|
||
contentContext.onItemLeave?.();
|
||
}
|
||
}),
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(itemProps.onKeyDown, (event)=>{
|
||
const isTypingAhead = contentContext.searchRef?.current !== "";
|
||
if (isTypingAhead && event.key === " ") return;
|
||
if (SELECTION_KEYS.includes(event.key)) handleSelect();
|
||
if (event.key === " ") event.preventDefault();
|
||
})
|
||
})
|
||
})
|
||
});
|
||
});
|
||
SelectItem.displayName = ITEM_NAME;
|
||
var ITEM_TEXT_NAME = "SelectItemText";
|
||
var SelectItemText = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, className, style, ...itemTextProps } = props;
|
||
const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);
|
||
const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);
|
||
const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);
|
||
const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);
|
||
const [itemTextNode, setItemTextNode] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SelectItemText.useComposedRefs[composedRefs]": (node)=>setItemTextNode(node)
|
||
}["SelectItemText.useComposedRefs[composedRefs]"], itemContext.onItemTextChange, {
|
||
"SelectItemText.useComposedRefs[composedRefs]": (node)=>contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)
|
||
}["SelectItemText.useComposedRefs[composedRefs]"]);
|
||
const textContent = itemTextNode?.textContent;
|
||
const nativeOption = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"SelectItemText.useMemo[nativeOption]": ()=>/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("option", {
|
||
value: itemContext.value,
|
||
disabled: itemContext.disabled,
|
||
children: textContent
|
||
}, itemContext.value)
|
||
}["SelectItemText.useMemo[nativeOption]"], [
|
||
itemContext.disabled,
|
||
itemContext.value,
|
||
textContent
|
||
]);
|
||
const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectItemText.useLayoutEffect": ()=>{
|
||
onNativeOptionAdd(nativeOption);
|
||
return ({
|
||
"SelectItemText.useLayoutEffect": ()=>onNativeOptionRemove(nativeOption)
|
||
})["SelectItemText.useLayoutEffect"];
|
||
}
|
||
}["SelectItemText.useLayoutEffect"], [
|
||
onNativeOptionAdd,
|
||
onNativeOptionRemove,
|
||
nativeOption
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
id: itemContext.textId,
|
||
...itemTextProps,
|
||
ref: composedRefs
|
||
}),
|
||
itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2d$dom$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createPortal"](itemTextProps.children, context.valueNode) : null
|
||
]
|
||
});
|
||
});
|
||
SelectItemText.displayName = ITEM_TEXT_NAME;
|
||
var ITEM_INDICATOR_NAME = "SelectItemIndicator";
|
||
var SelectItemIndicator = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...itemIndicatorProps } = props;
|
||
const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
|
||
return itemContext.isSelected ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
"aria-hidden": true,
|
||
...itemIndicatorProps,
|
||
ref: forwardedRef
|
||
}) : null;
|
||
});
|
||
SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
|
||
var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
|
||
var SelectScrollUpButton = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
|
||
const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
|
||
const [canScrollUp, setCanScrollUp] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, viewportContext.onScrollButtonChange);
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectScrollUpButton.useLayoutEffect": ()=>{
|
||
if (contentContext.viewport && contentContext.isPositioned) {
|
||
let handleScroll2 = {
|
||
"SelectScrollUpButton.useLayoutEffect.handleScroll2": function() {
|
||
const canScrollUp2 = viewport.scrollTop > 0;
|
||
setCanScrollUp(canScrollUp2);
|
||
}
|
||
}["SelectScrollUpButton.useLayoutEffect.handleScroll2"];
|
||
var handleScroll = handleScroll2;
|
||
const viewport = contentContext.viewport;
|
||
handleScroll2();
|
||
viewport.addEventListener("scroll", handleScroll2);
|
||
return ({
|
||
"SelectScrollUpButton.useLayoutEffect": ()=>viewport.removeEventListener("scroll", handleScroll2)
|
||
})["SelectScrollUpButton.useLayoutEffect"];
|
||
}
|
||
}
|
||
}["SelectScrollUpButton.useLayoutEffect"], [
|
||
contentContext.viewport,
|
||
contentContext.isPositioned
|
||
]);
|
||
return canScrollUp ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectScrollButtonImpl, {
|
||
...props,
|
||
ref: composedRefs,
|
||
onAutoScroll: ()=>{
|
||
const { viewport, selectedItem } = contentContext;
|
||
if (viewport && selectedItem) {
|
||
viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;
|
||
}
|
||
}
|
||
}) : null;
|
||
});
|
||
SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
|
||
var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton";
|
||
var SelectScrollDownButton = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
|
||
const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
|
||
const [canScrollDown, setCanScrollDown] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](false);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, viewportContext.onScrollButtonChange);
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectScrollDownButton.useLayoutEffect": ()=>{
|
||
if (contentContext.viewport && contentContext.isPositioned) {
|
||
let handleScroll2 = {
|
||
"SelectScrollDownButton.useLayoutEffect.handleScroll2": function() {
|
||
const maxScroll = viewport.scrollHeight - viewport.clientHeight;
|
||
const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;
|
||
setCanScrollDown(canScrollDown2);
|
||
}
|
||
}["SelectScrollDownButton.useLayoutEffect.handleScroll2"];
|
||
var handleScroll = handleScroll2;
|
||
const viewport = contentContext.viewport;
|
||
handleScroll2();
|
||
viewport.addEventListener("scroll", handleScroll2);
|
||
return ({
|
||
"SelectScrollDownButton.useLayoutEffect": ()=>viewport.removeEventListener("scroll", handleScroll2)
|
||
})["SelectScrollDownButton.useLayoutEffect"];
|
||
}
|
||
}
|
||
}["SelectScrollDownButton.useLayoutEffect"], [
|
||
contentContext.viewport,
|
||
contentContext.isPositioned
|
||
]);
|
||
return canScrollDown ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SelectScrollButtonImpl, {
|
||
...props,
|
||
ref: composedRefs,
|
||
onAutoScroll: ()=>{
|
||
const { viewport, selectedItem } = contentContext;
|
||
if (viewport && selectedItem) {
|
||
viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;
|
||
}
|
||
}
|
||
}) : null;
|
||
});
|
||
SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
|
||
var SelectScrollButtonImpl = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;
|
||
const contentContext = useSelectContentContext("SelectScrollButton", __scopeSelect);
|
||
const autoScrollTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const getItems = useCollection(__scopeSelect);
|
||
const clearAutoScrollTimer = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"SelectScrollButtonImpl.useCallback[clearAutoScrollTimer]": ()=>{
|
||
if (autoScrollTimerRef.current !== null) {
|
||
window.clearInterval(autoScrollTimerRef.current);
|
||
autoScrollTimerRef.current = null;
|
||
}
|
||
}
|
||
}["SelectScrollButtonImpl.useCallback[clearAutoScrollTimer]"], []);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SelectScrollButtonImpl.useEffect": ()=>{
|
||
return ({
|
||
"SelectScrollButtonImpl.useEffect": ()=>clearAutoScrollTimer()
|
||
})["SelectScrollButtonImpl.useEffect"];
|
||
}
|
||
}["SelectScrollButtonImpl.useEffect"], [
|
||
clearAutoScrollTimer
|
||
]);
|
||
(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$use$2d$layout$2d$effect$40$1$2e$1$2e$0_$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$use$2d$layout$2d$effect$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"])({
|
||
"SelectScrollButtonImpl.useLayoutEffect": ()=>{
|
||
const activeItem = getItems().find({
|
||
"SelectScrollButtonImpl.useLayoutEffect.activeItem": (item)=>item.ref.current === document.activeElement
|
||
}["SelectScrollButtonImpl.useLayoutEffect.activeItem"]);
|
||
activeItem?.ref.current?.scrollIntoView({
|
||
block: "nearest"
|
||
});
|
||
}
|
||
}["SelectScrollButtonImpl.useLayoutEffect"], [
|
||
getItems
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"aria-hidden": true,
|
||
...scrollIndicatorProps,
|
||
ref: forwardedRef,
|
||
style: {
|
||
flexShrink: 0,
|
||
...scrollIndicatorProps.style
|
||
},
|
||
onPointerDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(scrollIndicatorProps.onPointerDown, ()=>{
|
||
if (autoScrollTimerRef.current === null) {
|
||
autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
|
||
}
|
||
}),
|
||
onPointerMove: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(scrollIndicatorProps.onPointerMove, ()=>{
|
||
contentContext.onItemLeave?.();
|
||
if (autoScrollTimerRef.current === null) {
|
||
autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
|
||
}
|
||
}),
|
||
onPointerLeave: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(scrollIndicatorProps.onPointerLeave, ()=>{
|
||
clearAutoScrollTimer();
|
||
})
|
||
});
|
||
});
|
||
var SEPARATOR_NAME = "SelectSeparator";
|
||
var SelectSeparator = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...separatorProps } = props;
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].div, {
|
||
"aria-hidden": true,
|
||
...separatorProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
SelectSeparator.displayName = SEPARATOR_NAME;
|
||
var ARROW_NAME = "SelectArrow";
|
||
var SelectArrow = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSelect, ...arrowProps } = props;
|
||
const popperScope = usePopperScope(__scopeSelect);
|
||
const context = useSelectContext(ARROW_NAME, __scopeSelect);
|
||
const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);
|
||
return context.open && contentContext.position === "popper" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$popper$40$1$2e$2$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$react$40$_f51937a6043c1687ec731d0ff356eddd$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Arrow"], {
|
||
...popperScope,
|
||
...arrowProps,
|
||
ref: forwardedRef
|
||
}) : null;
|
||
});
|
||
SelectArrow.displayName = ARROW_NAME;
|
||
function shouldShowPlaceholder(value) {
|
||
return value === "" || value === void 0;
|
||
}
|
||
var BubbleSelect = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { value, ...selectProps } = props;
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
const prevValue = (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$use$2d$previous$40$1$2e$1$2e$0_$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$use$2d$previous$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["usePrevious"])(value);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"BubbleSelect.useEffect": ()=>{
|
||
const select = ref.current;
|
||
const selectProto = window.HTMLSelectElement.prototype;
|
||
const descriptor = Object.getOwnPropertyDescriptor(selectProto, "value");
|
||
const setValue = descriptor.set;
|
||
if (prevValue !== value && setValue) {
|
||
const event = new Event("change", {
|
||
bubbles: true
|
||
});
|
||
setValue.call(select, value);
|
||
select.dispatchEvent(event);
|
||
}
|
||
}
|
||
}["BubbleSelect.useEffect"], [
|
||
prevValue,
|
||
value
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$visually$2d$hidden$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$typ_c3f4d56b21f8f37d78014c19b521b01b$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$visually$2d$hidden$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["VisuallyHidden"], {
|
||
asChild: true,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("select", {
|
||
...selectProps,
|
||
ref: composedRefs,
|
||
defaultValue: value
|
||
})
|
||
});
|
||
});
|
||
BubbleSelect.displayName = "BubbleSelect";
|
||
function useTypeaheadSearch(onSearchChange) {
|
||
const handleSearchChange = (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$use$2d$callback$2d$ref$40$1$2e$1$2e$0_$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$use$2d$callback$2d$ref$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallbackRef"])(onSearchChange);
|
||
const searchRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"]("");
|
||
const timerRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
const handleTypeaheadSearch = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"useTypeaheadSearch.useCallback[handleTypeaheadSearch]": (key)=>{
|
||
const search = searchRef.current + key;
|
||
handleSearchChange(search);
|
||
(function updateSearch(value) {
|
||
searchRef.current = value;
|
||
window.clearTimeout(timerRef.current);
|
||
if (value !== "") timerRef.current = window.setTimeout({
|
||
"useTypeaheadSearch.useCallback[handleTypeaheadSearch].updateSearch": ()=>updateSearch("")
|
||
}["useTypeaheadSearch.useCallback[handleTypeaheadSearch].updateSearch"], 1e3);
|
||
})(search);
|
||
}
|
||
}["useTypeaheadSearch.useCallback[handleTypeaheadSearch]"], [
|
||
handleSearchChange
|
||
]);
|
||
const resetTypeahead = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
||
"useTypeaheadSearch.useCallback[resetTypeahead]": ()=>{
|
||
searchRef.current = "";
|
||
window.clearTimeout(timerRef.current);
|
||
}
|
||
}["useTypeaheadSearch.useCallback[resetTypeahead]"], []);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"useTypeaheadSearch.useEffect": ()=>{
|
||
return ({
|
||
"useTypeaheadSearch.useEffect": ()=>window.clearTimeout(timerRef.current)
|
||
})["useTypeaheadSearch.useEffect"];
|
||
}
|
||
}["useTypeaheadSearch.useEffect"], []);
|
||
return [
|
||
searchRef,
|
||
handleTypeaheadSearch,
|
||
resetTypeahead
|
||
];
|
||
}
|
||
function findNextItem(items, search, currentItem) {
|
||
const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]);
|
||
const normalizedSearch = isRepeated ? search[0] : search;
|
||
const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;
|
||
let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));
|
||
const excludeCurrentItem = normalizedSearch.length === 1;
|
||
if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v)=>v !== currentItem);
|
||
const nextItem = wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase()));
|
||
return nextItem !== currentItem ? nextItem : void 0;
|
||
}
|
||
function wrapArray(array, startIndex) {
|
||
return array.map((_, index)=>array[(startIndex + index) % array.length]);
|
||
}
|
||
var Root2 = Select;
|
||
var Trigger = SelectTrigger;
|
||
var Value = SelectValue;
|
||
var Icon = SelectIcon;
|
||
var Portal = SelectPortal;
|
||
var Content2 = SelectContent;
|
||
var Viewport = SelectViewport;
|
||
var Group = SelectGroup;
|
||
var Label = SelectLabel;
|
||
var Item = SelectItem;
|
||
var ItemText = SelectItemText;
|
||
var ItemIndicator = SelectItemIndicator;
|
||
var ScrollUpButton = SelectScrollUpButton;
|
||
var ScrollDownButton = SelectScrollDownButton;
|
||
var Separator = SelectSeparator;
|
||
var Arrow2 = SelectArrow;
|
||
;
|
||
//# sourceMappingURL=index.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/icons/chevron-down.js [app-client] (ecmascript) <export default as ChevronDownIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ChevronDownIcon",
|
||
()=>__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$chevron$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevron$2d$down$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-up.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @license lucide-react v0.454.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>ChevronUp
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
||
;
|
||
const ChevronUp = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("ChevronUp", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m18 15-6-6-6 6",
|
||
key: "153udz"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=chevron-up.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/chevron-up.js [app-client] (ecmascript) <export default as ChevronUpIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ChevronUpIcon",
|
||
()=>__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$chevron$2d$up$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$chevron$2d$up$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-up.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-slider@1.2.2_@types+react-dom@19.2.3_@types+react@19.2.6__@types+react@_15cb5f57cf2d4f9538980cf9c43bf152/node_modules/@radix-ui/react-slider/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Range",
|
||
()=>Range,
|
||
"Root",
|
||
()=>Root,
|
||
"Slider",
|
||
()=>Slider,
|
||
"SliderRange",
|
||
()=>SliderRange,
|
||
"SliderThumb",
|
||
()=>SliderThumb,
|
||
"SliderTrack",
|
||
()=>SliderTrack,
|
||
"Thumb",
|
||
()=>Thumb,
|
||
"Track",
|
||
()=>Track,
|
||
"createSliderScope",
|
||
()=>createSliderScope
|
||
]);
|
||
// packages/react/slider/src/Slider.tsx
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
||
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$number$40$1$2e$1$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+number@1.1.0/node_modules/@radix-ui/number/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$direction$40$1$2e$1$2e$0_$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$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-direction@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$previous$40$1$2e$1$2e$0_$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$use$2d$previous$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-previous@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-previous/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$use$2d$size$40$1$2e$1$2e$0_$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$use$2d$size$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-use-size@1.1.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-size/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-primitive@2.0.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+rea_4f53963f71a6eb8b0116fe0dd1078946/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$collection$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$re_1ad17166111274b6b451c5ad4817bfc8$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-collection@1.1.1_@types+react-dom@19.2.3_@types+react@19.2.6__@types+re_1ad17166111274b6b451c5ad4817bfc8/node_modules/@radix-ui/react-collection/dist/index.mjs [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
||
"use client";
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
;
|
||
var PAGE_KEYS = [
|
||
"PageUp",
|
||
"PageDown"
|
||
];
|
||
var ARROW_KEYS = [
|
||
"ArrowUp",
|
||
"ArrowDown",
|
||
"ArrowLeft",
|
||
"ArrowRight"
|
||
];
|
||
var BACK_KEYS = {
|
||
"from-left": [
|
||
"Home",
|
||
"PageDown",
|
||
"ArrowDown",
|
||
"ArrowLeft"
|
||
],
|
||
"from-right": [
|
||
"Home",
|
||
"PageDown",
|
||
"ArrowDown",
|
||
"ArrowRight"
|
||
],
|
||
"from-bottom": [
|
||
"Home",
|
||
"PageDown",
|
||
"ArrowDown",
|
||
"ArrowLeft"
|
||
],
|
||
"from-top": [
|
||
"Home",
|
||
"PageDown",
|
||
"ArrowUp",
|
||
"ArrowLeft"
|
||
]
|
||
};
|
||
var SLIDER_NAME = "Slider";
|
||
var [Collection, useCollection, createCollectionScope] = (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$collection$40$1$2e$1$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$re_1ad17166111274b6b451c5ad4817bfc8$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCollection"])(SLIDER_NAME);
|
||
var [createSliderContext, createSliderScope] = (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$context$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$context$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContextScope"])(SLIDER_NAME, [
|
||
createCollectionScope
|
||
]);
|
||
var [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);
|
||
var Slider = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { name, min = 0, max = 100, step = 1, orientation = "horizontal", disabled = false, minStepsBetweenThumbs = 0, defaultValue = [
|
||
min
|
||
], value, onValueChange = ()=>{}, onValueCommit = ()=>{}, inverted = false, form, ...sliderProps } = props;
|
||
const thumbRefs = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](/* @__PURE__ */ new Set());
|
||
const valueIndexToChangeRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](0);
|
||
const isHorizontal = orientation === "horizontal";
|
||
const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;
|
||
const [values = [], setValues] = (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$use$2d$controllable$2d$state$40$1$2e$1$2e$0_$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$use$2d$controllable$2d$state$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useControllableState"])({
|
||
prop: value,
|
||
defaultProp: defaultValue,
|
||
onChange: {
|
||
"Slider.useControllableState": (value2)=>{
|
||
const thumbs = [
|
||
...thumbRefs.current
|
||
];
|
||
thumbs[valueIndexToChangeRef.current]?.focus();
|
||
onValueChange(value2);
|
||
}
|
||
}["Slider.useControllableState"]
|
||
});
|
||
const valuesBeforeSlideStartRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](values);
|
||
function handleSlideStart(value2) {
|
||
const closestIndex = getClosestValueIndex(values, value2);
|
||
updateValues(value2, closestIndex);
|
||
}
|
||
function handleSlideMove(value2) {
|
||
updateValues(value2, valueIndexToChangeRef.current);
|
||
}
|
||
function handleSlideEnd() {
|
||
const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];
|
||
const nextValue = values[valueIndexToChangeRef.current];
|
||
const hasChanged = nextValue !== prevValue;
|
||
if (hasChanged) onValueCommit(values);
|
||
}
|
||
function updateValues(value2, atIndex, { commit } = {
|
||
commit: false
|
||
}) {
|
||
const decimalCount = getDecimalCount(step);
|
||
const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);
|
||
const nextValue = (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$number$40$1$2e$1$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(snapToStep, [
|
||
min,
|
||
max
|
||
]);
|
||
setValues((prevValues = [])=>{
|
||
const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);
|
||
if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {
|
||
valueIndexToChangeRef.current = nextValues.indexOf(nextValue);
|
||
const hasChanged = String(nextValues) !== String(prevValues);
|
||
if (hasChanged && commit) onValueCommit(nextValues);
|
||
return hasChanged ? nextValues : prevValues;
|
||
} else {
|
||
return prevValues;
|
||
}
|
||
});
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SliderProvider, {
|
||
scope: props.__scopeSlider,
|
||
name,
|
||
disabled,
|
||
min,
|
||
max,
|
||
valueIndexToChangeRef,
|
||
thumbs: thumbRefs.current,
|
||
values,
|
||
orientation,
|
||
form,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Provider, {
|
||
scope: props.__scopeSlider,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.Slot, {
|
||
scope: props.__scopeSlider,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SliderOrientation, {
|
||
"aria-disabled": disabled,
|
||
"data-disabled": disabled ? "" : void 0,
|
||
...sliderProps,
|
||
ref: forwardedRef,
|
||
onPointerDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(sliderProps.onPointerDown, ()=>{
|
||
if (!disabled) valuesBeforeSlideStartRef.current = values;
|
||
}),
|
||
min,
|
||
max,
|
||
inverted,
|
||
onSlideStart: disabled ? void 0 : handleSlideStart,
|
||
onSlideMove: disabled ? void 0 : handleSlideMove,
|
||
onSlideEnd: disabled ? void 0 : handleSlideEnd,
|
||
onHomeKeyDown: ()=>!disabled && updateValues(min, 0, {
|
||
commit: true
|
||
}),
|
||
onEndKeyDown: ()=>!disabled && updateValues(max, values.length - 1, {
|
||
commit: true
|
||
}),
|
||
onStepKeyDown: ({ event, direction: stepDirection })=>{
|
||
if (!disabled) {
|
||
const isPageKey = PAGE_KEYS.includes(event.key);
|
||
const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);
|
||
const multiplier = isSkipKey ? 10 : 1;
|
||
const atIndex = valueIndexToChangeRef.current;
|
||
const value2 = values[atIndex];
|
||
const stepInDirection = step * multiplier * stepDirection;
|
||
updateValues(value2 + stepInDirection, atIndex, {
|
||
commit: true
|
||
});
|
||
}
|
||
}
|
||
})
|
||
})
|
||
})
|
||
});
|
||
});
|
||
Slider.displayName = SLIDER_NAME;
|
||
var [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {
|
||
startEdge: "left",
|
||
endEdge: "right",
|
||
size: "width",
|
||
direction: 1
|
||
});
|
||
var SliderHorizontal = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { min, max, dir, inverted, onSlideStart, onSlideMove, onSlideEnd, onStepKeyDown, ...sliderProps } = props;
|
||
const [slider, setSlider] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SliderHorizontal.useComposedRefs[composedRefs]": (node)=>setSlider(node)
|
||
}["SliderHorizontal.useComposedRefs[composedRefs]"]);
|
||
const rectRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](void 0);
|
||
const direction = (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$direction$40$1$2e$1$2e$0_$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$direction$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useDirection"])(dir);
|
||
const isDirectionLTR = direction === "ltr";
|
||
const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;
|
||
function getValueFromPointer(pointerPosition) {
|
||
const rect = rectRef.current || slider.getBoundingClientRect();
|
||
const input = [
|
||
0,
|
||
rect.width
|
||
];
|
||
const output = isSlidingFromLeft ? [
|
||
min,
|
||
max
|
||
] : [
|
||
max,
|
||
min
|
||
];
|
||
const value = linearScale(input, output);
|
||
rectRef.current = rect;
|
||
return value(pointerPosition - rect.left);
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SliderOrientationProvider, {
|
||
scope: props.__scopeSlider,
|
||
startEdge: isSlidingFromLeft ? "left" : "right",
|
||
endEdge: isSlidingFromLeft ? "right" : "left",
|
||
direction: isSlidingFromLeft ? 1 : -1,
|
||
size: "width",
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SliderImpl, {
|
||
dir: direction,
|
||
"data-orientation": "horizontal",
|
||
...sliderProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
...sliderProps.style,
|
||
["--radix-slider-thumb-transform"]: "translateX(-50%)"
|
||
},
|
||
onSlideStart: (event)=>{
|
||
const value = getValueFromPointer(event.clientX);
|
||
onSlideStart?.(value);
|
||
},
|
||
onSlideMove: (event)=>{
|
||
const value = getValueFromPointer(event.clientX);
|
||
onSlideMove?.(value);
|
||
},
|
||
onSlideEnd: ()=>{
|
||
rectRef.current = void 0;
|
||
onSlideEnd?.();
|
||
},
|
||
onStepKeyDown: (event)=>{
|
||
const slideDirection = isSlidingFromLeft ? "from-left" : "from-right";
|
||
const isBackKey = BACK_KEYS[slideDirection].includes(event.key);
|
||
onStepKeyDown?.({
|
||
event,
|
||
direction: isBackKey ? -1 : 1
|
||
});
|
||
}
|
||
})
|
||
});
|
||
});
|
||
var SliderVertical = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { min, max, inverted, onSlideStart, onSlideMove, onSlideEnd, onStepKeyDown, ...sliderProps } = props;
|
||
const sliderRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const ref = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, sliderRef);
|
||
const rectRef = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](void 0);
|
||
const isSlidingFromBottom = !inverted;
|
||
function getValueFromPointer(pointerPosition) {
|
||
const rect = rectRef.current || sliderRef.current.getBoundingClientRect();
|
||
const input = [
|
||
0,
|
||
rect.height
|
||
];
|
||
const output = isSlidingFromBottom ? [
|
||
max,
|
||
min
|
||
] : [
|
||
min,
|
||
max
|
||
];
|
||
const value = linearScale(input, output);
|
||
rectRef.current = rect;
|
||
return value(pointerPosition - rect.top);
|
||
}
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SliderOrientationProvider, {
|
||
scope: props.__scopeSlider,
|
||
startEdge: isSlidingFromBottom ? "bottom" : "top",
|
||
endEdge: isSlidingFromBottom ? "top" : "bottom",
|
||
size: "height",
|
||
direction: isSlidingFromBottom ? 1 : -1,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SliderImpl, {
|
||
"data-orientation": "vertical",
|
||
...sliderProps,
|
||
ref,
|
||
style: {
|
||
...sliderProps.style,
|
||
["--radix-slider-thumb-transform"]: "translateY(50%)"
|
||
},
|
||
onSlideStart: (event)=>{
|
||
const value = getValueFromPointer(event.clientY);
|
||
onSlideStart?.(value);
|
||
},
|
||
onSlideMove: (event)=>{
|
||
const value = getValueFromPointer(event.clientY);
|
||
onSlideMove?.(value);
|
||
},
|
||
onSlideEnd: ()=>{
|
||
rectRef.current = void 0;
|
||
onSlideEnd?.();
|
||
},
|
||
onStepKeyDown: (event)=>{
|
||
const slideDirection = isSlidingFromBottom ? "from-bottom" : "from-top";
|
||
const isBackKey = BACK_KEYS[slideDirection].includes(event.key);
|
||
onStepKeyDown?.({
|
||
event,
|
||
direction: isBackKey ? -1 : 1
|
||
});
|
||
}
|
||
})
|
||
});
|
||
});
|
||
var SliderImpl = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, ...sliderProps } = props;
|
||
const context = useSliderContext(SLIDER_NAME, __scopeSlider);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
...sliderProps,
|
||
ref: forwardedRef,
|
||
onKeyDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onKeyDown, (event)=>{
|
||
if (event.key === "Home") {
|
||
onHomeKeyDown(event);
|
||
event.preventDefault();
|
||
} else if (event.key === "End") {
|
||
onEndKeyDown(event);
|
||
event.preventDefault();
|
||
} else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {
|
||
onStepKeyDown(event);
|
||
event.preventDefault();
|
||
}
|
||
}),
|
||
onPointerDown: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerDown, (event)=>{
|
||
const target = event.target;
|
||
target.setPointerCapture(event.pointerId);
|
||
event.preventDefault();
|
||
if (context.thumbs.has(target)) {
|
||
target.focus();
|
||
} else {
|
||
onSlideStart(event);
|
||
}
|
||
}),
|
||
onPointerMove: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerMove, (event)=>{
|
||
const target = event.target;
|
||
if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);
|
||
}),
|
||
onPointerUp: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerUp, (event)=>{
|
||
const target = event.target;
|
||
if (target.hasPointerCapture(event.pointerId)) {
|
||
target.releasePointerCapture(event.pointerId);
|
||
onSlideEnd(event);
|
||
}
|
||
})
|
||
});
|
||
});
|
||
var TRACK_NAME = "SliderTrack";
|
||
var SliderTrack = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSlider, ...trackProps } = props;
|
||
const context = useSliderContext(TRACK_NAME, __scopeSlider);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
"data-disabled": context.disabled ? "" : void 0,
|
||
"data-orientation": context.orientation,
|
||
...trackProps,
|
||
ref: forwardedRef
|
||
});
|
||
});
|
||
SliderTrack.displayName = TRACK_NAME;
|
||
var RANGE_NAME = "SliderRange";
|
||
var SliderRange = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSlider, ...rangeProps } = props;
|
||
const context = useSliderContext(RANGE_NAME, __scopeSlider);
|
||
const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, ref);
|
||
const valuesCount = context.values.length;
|
||
const percentages = context.values.map((value)=>convertValueToPercentage(value, context.min, context.max));
|
||
const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;
|
||
const offsetEnd = 100 - Math.max(...percentages);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
"data-orientation": context.orientation,
|
||
"data-disabled": context.disabled ? "" : void 0,
|
||
...rangeProps,
|
||
ref: composedRefs,
|
||
style: {
|
||
...props.style,
|
||
[orientation.startEdge]: offsetStart + "%",
|
||
[orientation.endEdge]: offsetEnd + "%"
|
||
}
|
||
});
|
||
});
|
||
SliderRange.displayName = RANGE_NAME;
|
||
var THUMB_NAME = "SliderThumb";
|
||
var SliderThumb = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const getItems = useCollection(props.__scopeSlider);
|
||
const [thumb, setThumb] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SliderThumb.useComposedRefs[composedRefs]": (node)=>setThumb(node)
|
||
}["SliderThumb.useComposedRefs[composedRefs]"]);
|
||
const index = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
||
"SliderThumb.useMemo[index]": ()=>thumb ? getItems().findIndex({
|
||
"SliderThumb.useMemo[index]": (item)=>item.ref.current === thumb
|
||
}["SliderThumb.useMemo[index]"]) : -1
|
||
}["SliderThumb.useMemo[index]"], [
|
||
getItems,
|
||
thumb
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SliderThumbImpl, {
|
||
...props,
|
||
ref: composedRefs,
|
||
index
|
||
});
|
||
});
|
||
var SliderThumbImpl = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
||
const { __scopeSlider, index, name, ...thumbProps } = props;
|
||
const context = useSliderContext(THUMB_NAME, __scopeSlider);
|
||
const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);
|
||
const [thumb, setThumb] = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"](null);
|
||
const composedRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useComposedRefs"])(forwardedRef, {
|
||
"SliderThumbImpl.useComposedRefs[composedRefs]": (node)=>setThumb(node)
|
||
}["SliderThumbImpl.useComposedRefs[composedRefs]"]);
|
||
const isFormControl = thumb ? context.form || !!thumb.closest("form") : true;
|
||
const size = (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$use$2d$size$40$1$2e$1$2e$0_$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$use$2d$size$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useSize"])(thumb);
|
||
const value = context.values[index];
|
||
const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);
|
||
const label = getLabel(index, context.values.length);
|
||
const orientationSize = size?.[orientation.size];
|
||
const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"SliderThumbImpl.useEffect": ()=>{
|
||
if (thumb) {
|
||
context.thumbs.add(thumb);
|
||
return ({
|
||
"SliderThumbImpl.useEffect": ()=>{
|
||
context.thumbs.delete(thumb);
|
||
}
|
||
})["SliderThumbImpl.useEffect"];
|
||
}
|
||
}
|
||
}["SliderThumbImpl.useEffect"], [
|
||
thumb,
|
||
context.thumbs
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxs"])("span", {
|
||
style: {
|
||
transform: "var(--radix-slider-thumb-transform)",
|
||
position: "absolute",
|
||
[orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`
|
||
},
|
||
children: [
|
||
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Collection.ItemSlot, {
|
||
scope: props.__scopeSlider,
|
||
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$primitive$40$2$2e$0$2e$1_$40$types$2b$react$2d$dom$40$19$2e$2$2e$3_$40$types$2b$react$40$19$2e$2$2e$6_$5f40$types$2b$rea_4f53963f71a6eb8b0116fe0dd1078946$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, {
|
||
role: "slider",
|
||
"aria-label": props["aria-label"] || label,
|
||
"aria-valuemin": context.min,
|
||
"aria-valuenow": value,
|
||
"aria-valuemax": context.max,
|
||
"aria-orientation": context.orientation,
|
||
"data-orientation": context.orientation,
|
||
"data-disabled": context.disabled ? "" : void 0,
|
||
tabIndex: context.disabled ? void 0 : 0,
|
||
...thumbProps,
|
||
ref: composedRefs,
|
||
style: value === void 0 ? {
|
||
display: "none"
|
||
} : props.style,
|
||
onFocus: (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$primitive$40$1$2e$1$2e$1$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onFocus, ()=>{
|
||
context.valueIndexToChangeRef.current = index;
|
||
})
|
||
})
|
||
}),
|
||
isFormControl && /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(BubbleInput, {
|
||
name: name ?? (context.name ? context.name + (context.values.length > 1 ? "[]" : "") : void 0),
|
||
form: context.form,
|
||
value
|
||
}, index)
|
||
]
|
||
});
|
||
});
|
||
SliderThumb.displayName = THUMB_NAME;
|
||
var BubbleInput = (props)=>{
|
||
const { value, ...inputProps } = props;
|
||
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](null);
|
||
const prevValue = (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$use$2d$previous$40$1$2e$1$2e$0_$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$use$2d$previous$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["usePrevious"])(value);
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
||
"BubbleInput.useEffect": ()=>{
|
||
const input = ref.current;
|
||
const inputProto = window.HTMLInputElement.prototype;
|
||
const descriptor = Object.getOwnPropertyDescriptor(inputProto, "value");
|
||
const setValue = descriptor.set;
|
||
if (prevValue !== value && setValue) {
|
||
const event = new Event("input", {
|
||
bubbles: true
|
||
});
|
||
setValue.call(input, value);
|
||
input.dispatchEvent(event);
|
||
}
|
||
}
|
||
}["BubbleInput.useEffect"], [
|
||
prevValue,
|
||
value
|
||
]);
|
||
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])("input", {
|
||
style: {
|
||
display: "none"
|
||
},
|
||
...inputProps,
|
||
ref,
|
||
defaultValue: value
|
||
});
|
||
};
|
||
function getNextSortedValues(prevValues = [], nextValue, atIndex) {
|
||
const nextValues = [
|
||
...prevValues
|
||
];
|
||
nextValues[atIndex] = nextValue;
|
||
return nextValues.sort((a, b)=>a - b);
|
||
}
|
||
function convertValueToPercentage(value, min, max) {
|
||
const maxSteps = max - min;
|
||
const percentPerStep = 100 / maxSteps;
|
||
const percentage = percentPerStep * (value - min);
|
||
return (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$number$40$1$2e$1$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(percentage, [
|
||
0,
|
||
100
|
||
]);
|
||
}
|
||
function getLabel(index, totalValues) {
|
||
if (totalValues > 2) {
|
||
return `Value ${index + 1} of ${totalValues}`;
|
||
} else if (totalValues === 2) {
|
||
return [
|
||
"Minimum",
|
||
"Maximum"
|
||
][index];
|
||
} else {
|
||
return void 0;
|
||
}
|
||
}
|
||
function getClosestValueIndex(values, nextValue) {
|
||
if (values.length === 1) return 0;
|
||
const distances = values.map((value)=>Math.abs(value - nextValue));
|
||
const closestDistance = Math.min(...distances);
|
||
return distances.indexOf(closestDistance);
|
||
}
|
||
function getThumbInBoundsOffset(width, left, direction) {
|
||
const halfWidth = width / 2;
|
||
const halfPercent = 50;
|
||
const offset = linearScale([
|
||
0,
|
||
halfPercent
|
||
], [
|
||
0,
|
||
halfWidth
|
||
]);
|
||
return (halfWidth - offset(left) * direction) * direction;
|
||
}
|
||
function getStepsBetweenValues(values) {
|
||
return values.slice(0, -1).map((value, index)=>values[index + 1] - value);
|
||
}
|
||
function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
|
||
if (minStepsBetweenValues > 0) {
|
||
const stepsBetweenValues = getStepsBetweenValues(values);
|
||
const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);
|
||
return actualMinStepsBetweenValues >= minStepsBetweenValues;
|
||
}
|
||
return true;
|
||
}
|
||
function linearScale(input, output) {
|
||
return (value)=>{
|
||
if (input[0] === input[1] || output[0] === output[1]) return output[0];
|
||
const ratio = (output[1] - output[0]) / (input[1] - input[0]);
|
||
return output[0] + ratio * (value - input[0]);
|
||
};
|
||
}
|
||
function getDecimalCount(value) {
|
||
return (String(value).split(".")[1] || "").length;
|
||
}
|
||
function roundValue(value, decimalCount) {
|
||
const rounder = Math.pow(10, decimalCount);
|
||
return Math.round(value * rounder) / rounder;
|
||
}
|
||
var Root = Slider;
|
||
var Track = SliderTrack;
|
||
var Range = SliderRange;
|
||
var Thumb = SliderThumb;
|
||
;
|
||
//# sourceMappingURL=index.mjs.map
|
||
}),
|
||
]);
|
||
|
||
//# sourceMappingURL=a0629__pnpm_2e23b21c._.js.map |