18245 lines
1.1 MiB
Plaintext
18245 lines
1.1 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/bell.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",
|
||
()=>Bell
|
||
]);
|
||
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 Bell = (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"])("Bell", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",
|
||
key: "1qo2s2"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M10.3 21a1.94 1.94 0 0 0 3.4 0",
|
||
key: "qgo35s"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=bell.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/bell.js [app-client] (ecmascript) <export default as Bell>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Bell",
|
||
()=>__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$bell$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$bell$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/bell.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/@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/@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/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/calendar.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",
|
||
()=>Calendar
|
||
]);
|
||
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 Calendar = (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"])("Calendar", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M8 2v4",
|
||
key: "1cmpym"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M16 2v4",
|
||
key: "4m81vk"
|
||
}
|
||
],
|
||
[
|
||
"rect",
|
||
{
|
||
width: "18",
|
||
height: "18",
|
||
x: "3",
|
||
y: "4",
|
||
rx: "2",
|
||
key: "1hopcy"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M3 10h18",
|
||
key: "8toen8"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=calendar.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/calendar.js [app-client] (ecmascript) <export default as CalendarIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"CalendarIcon",
|
||
()=>__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$calendar$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$calendar$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/calendar.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/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",
|
||
()=>User
|
||
]);
|
||
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 User = (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"])("User", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",
|
||
key: "975kel"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "7",
|
||
r: "4",
|
||
key: "17ys0d"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=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/user.js [app-client] (ecmascript) <export default as User>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"User",
|
||
()=>__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$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$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/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/scroll.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",
|
||
()=>Scroll
|
||
]);
|
||
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 Scroll = (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"])("Scroll", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M19 17V5a2 2 0 0 0-2-2H4",
|
||
key: "zz82l3"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",
|
||
key: "1ph1d7"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=scroll.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/scroll.js [app-client] (ecmascript) <export default as Scroll>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Scroll",
|
||
()=>__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$scroll$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$scroll$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/scroll.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/users.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",
|
||
()=>Users
|
||
]);
|
||
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 Users = (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"])("Users", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",
|
||
key: "1yyitq"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "9",
|
||
cy: "7",
|
||
r: "4",
|
||
key: "nufk8"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M22 21v-2a4 4 0 0 0-3-3.87",
|
||
key: "kshegd"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M16 3.13a4 4 0 0 1 0 7.75",
|
||
key: "1da9ce"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=users.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/users.js [app-client] (ecmascript) <export default as Users>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Users",
|
||
()=>__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$users$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$users$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/users.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/images.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",
|
||
()=>Images
|
||
]);
|
||
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 Images = (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"])("Images", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M18 22H4a2 2 0 0 1-2-2V6",
|
||
key: "pblm9e"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18",
|
||
key: "nf6bnh"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "12",
|
||
cy: "8",
|
||
r: "2",
|
||
key: "1822b1"
|
||
}
|
||
],
|
||
[
|
||
"rect",
|
||
{
|
||
width: "16",
|
||
height: "16",
|
||
x: "6",
|
||
y: "2",
|
||
rx: "2",
|
||
key: "12espp"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=images.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/images.js [app-client] (ecmascript) <export default as Images>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Images",
|
||
()=>__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$images$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$images$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/images.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/x.js [app-client] (ecmascript) <export default as XIcon>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"XIcon",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/x.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/upload.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",
|
||
()=>Upload
|
||
]);
|
||
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 Upload = (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"])("Upload", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
|
||
key: "ih7n3h"
|
||
}
|
||
],
|
||
[
|
||
"polyline",
|
||
{
|
||
points: "17 8 12 3 7 8",
|
||
key: "t8dd8p"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "12",
|
||
x2: "12",
|
||
y1: "3",
|
||
y2: "15",
|
||
key: "widbto"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=upload.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/upload.js [app-client] (ecmascript) <export default as Upload>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Upload",
|
||
()=>__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$upload$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$upload$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/upload.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/loader-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",
|
||
()=>LoaderCircle
|
||
]);
|
||
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 LoaderCircle = (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"])("LoaderCircle", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
||
key: "13zald"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=loader-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/loader-circle.js [app-client] (ecmascript) <export default as Loader2>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Loader2",
|
||
()=>__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$loader$2d$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$loader$2d$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/loader-circle.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/crop.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",
|
||
()=>Crop
|
||
]);
|
||
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 Crop = (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"])("Crop", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M6 2v14a2 2 0 0 0 2 2h14",
|
||
key: "ron5a4"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M18 22V8a2 2 0 0 0-2-2H2",
|
||
key: "7s9ehn"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=crop.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/crop.js [app-client] (ecmascript) <export default as Crop>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Crop",
|
||
()=>__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$crop$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$crop$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/crop.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/uuid@13.0.0/node_modules/uuid/dist/native.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>__TURBOPACK__default__export__
|
||
]);
|
||
const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
||
const __TURBOPACK__default__export__ = {
|
||
randomUUID
|
||
};
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/rng.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>rng
|
||
]);
|
||
let getRandomValues;
|
||
const rnds8 = new Uint8Array(16);
|
||
function rng() {
|
||
if (!getRandomValues) {
|
||
if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
|
||
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
||
}
|
||
getRandomValues = crypto.getRandomValues.bind(crypto);
|
||
}
|
||
return getRandomValues(rnds8);
|
||
}
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/regex.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>__TURBOPACK__default__export__
|
||
]);
|
||
const __TURBOPACK__default__export__ = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/validate.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>__TURBOPACK__default__export__
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$regex$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/regex.js [app-client] (ecmascript)");
|
||
;
|
||
function validate(uuid) {
|
||
return typeof uuid === 'string' && __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$regex$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].test(uuid);
|
||
}
|
||
const __TURBOPACK__default__export__ = validate;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/stringify.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>__TURBOPACK__default__export__,
|
||
"unsafeStringify",
|
||
()=>unsafeStringify
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$validate$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/validate.js [app-client] (ecmascript)");
|
||
;
|
||
const byteToHex = [];
|
||
for(let i = 0; i < 256; ++i){
|
||
byteToHex.push((i + 0x100).toString(16).slice(1));
|
||
}
|
||
function unsafeStringify(arr, offset = 0) {
|
||
return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
||
}
|
||
function stringify(arr, offset = 0) {
|
||
const uuid = unsafeStringify(arr, offset);
|
||
if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$validate$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])(uuid)) {
|
||
throw TypeError('Stringified UUID is invalid');
|
||
}
|
||
return uuid;
|
||
}
|
||
const __TURBOPACK__default__export__ = stringify;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/v4.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>__TURBOPACK__default__export__
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$native$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/native.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$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$rng$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/rng.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$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$stringify$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/stringify.js [app-client] (ecmascript)");
|
||
;
|
||
;
|
||
;
|
||
function _v4(options, buf, offset) {
|
||
options = options || {};
|
||
const rnds = options.random ?? options.rng?.() ?? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$rng$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])();
|
||
if (rnds.length < 16) {
|
||
throw new Error('Random bytes length must be >= 16');
|
||
}
|
||
rnds[6] = rnds[6] & 0x0f | 0x40;
|
||
rnds[8] = rnds[8] & 0x3f | 0x80;
|
||
if (buf) {
|
||
offset = offset || 0;
|
||
if (offset < 0 || offset + 16 > buf.length) {
|
||
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
|
||
}
|
||
for(let i = 0; i < 16; ++i){
|
||
buf[offset + i] = rnds[i];
|
||
}
|
||
return buf;
|
||
}
|
||
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$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$stringify$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["unsafeStringify"])(rnds);
|
||
}
|
||
function v4(options, buf, offset) {
|
||
if (__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$native$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].randomUUID && !buf && !options) {
|
||
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$native$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].randomUUID();
|
||
}
|
||
return _v4(options, buf, offset);
|
||
}
|
||
const __TURBOPACK__default__export__ = v4;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/v4.js [app-client] (ecmascript) <export default as v4>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"v4",
|
||
()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$v4$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$uuid$40$13$2e$0$2e$0$2f$node_modules$2f$uuid$2f$dist$2f$v4$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/v4.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/react-image-crop@11.0.10_react@19.2.0/node_modules/react-image-crop/dist/index.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Component",
|
||
()=>S,
|
||
"ReactCrop",
|
||
()=>S,
|
||
"areCropsEqual",
|
||
()=>X,
|
||
"centerCrop",
|
||
()=>L,
|
||
"clamp",
|
||
()=>b,
|
||
"cls",
|
||
()=>H,
|
||
"containCrop",
|
||
()=>k,
|
||
"convertToPercentCrop",
|
||
()=>v,
|
||
"convertToPixelCrop",
|
||
()=>D,
|
||
"default",
|
||
()=>S,
|
||
"defaultCrop",
|
||
()=>E,
|
||
"makeAspectCrop",
|
||
()=>B,
|
||
"nudgeCrop",
|
||
()=>I
|
||
]);
|
||
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 _ = Object.defineProperty;
|
||
var $ = (a, h, e)=>h in a ? _(a, h, {
|
||
enumerable: !0,
|
||
configurable: !0,
|
||
writable: !0,
|
||
value: e
|
||
}) : a[h] = e;
|
||
var m = (a, h, e)=>$(a, typeof h != "symbol" ? h + "" : h, e);
|
||
;
|
||
const E = {
|
||
x: 0,
|
||
y: 0,
|
||
width: 0,
|
||
height: 0,
|
||
unit: "px"
|
||
}, b = (a, h, e)=>Math.min(Math.max(a, h), e), H = (...a)=>a.filter((h)=>h && typeof h == "string").join(" "), X = (a, h)=>a === h || a.width === h.width && a.height === h.height && a.x === h.x && a.y === h.y && a.unit === h.unit;
|
||
function B(a, h, e, n) {
|
||
const t = D(a, e, n);
|
||
return a.width && (t.height = t.width / h), a.height && (t.width = t.height * h), t.y + t.height > n && (t.height = n - t.y, t.width = t.height * h), t.x + t.width > e && (t.width = e - t.x, t.height = t.width / h), a.unit === "%" ? v(t, e, n) : t;
|
||
}
|
||
function L(a, h, e) {
|
||
const n = D(a, h, e);
|
||
return n.x = (h - n.width) / 2, n.y = (e - n.height) / 2, a.unit === "%" ? v(n, h, e) : n;
|
||
}
|
||
function v(a, h, e) {
|
||
return a.unit === "%" ? {
|
||
...E,
|
||
...a,
|
||
unit: "%"
|
||
} : {
|
||
unit: "%",
|
||
x: a.x ? a.x / h * 100 : 0,
|
||
y: a.y ? a.y / e * 100 : 0,
|
||
width: a.width ? a.width / h * 100 : 0,
|
||
height: a.height ? a.height / e * 100 : 0
|
||
};
|
||
}
|
||
function D(a, h, e) {
|
||
return a.unit ? a.unit === "px" ? {
|
||
...E,
|
||
...a,
|
||
unit: "px"
|
||
} : {
|
||
unit: "px",
|
||
x: a.x ? a.x * h / 100 : 0,
|
||
y: a.y ? a.y * e / 100 : 0,
|
||
width: a.width ? a.width * h / 100 : 0,
|
||
height: a.height ? a.height * e / 100 : 0
|
||
} : {
|
||
...E,
|
||
...a,
|
||
unit: "px"
|
||
};
|
||
}
|
||
function k(a, h, e, n, t, d = 0, r = 0, o = n, w = t) {
|
||
const i = {
|
||
...a
|
||
};
|
||
let s = Math.min(d, n), c = Math.min(r, t), g = Math.min(o, n), p = Math.min(w, t);
|
||
h && (h > 1 ? (s = r ? r * h : s, c = s / h, g = o * h) : (c = d ? d / h : c, s = c * h, p = w / h)), i.y < 0 && (i.height = Math.max(i.height + i.y, c), i.y = 0), i.x < 0 && (i.width = Math.max(i.width + i.x, s), i.x = 0);
|
||
const l = n - (i.x + i.width);
|
||
l < 0 && (i.x = Math.min(i.x, n - s), i.width += l);
|
||
const C = t - (i.y + i.height);
|
||
if (C < 0 && (i.y = Math.min(i.y, t - c), i.height += C), i.width < s && ((e === "sw" || e == "nw") && (i.x -= s - i.width), i.width = s), i.height < c && ((e === "nw" || e == "ne") && (i.y -= c - i.height), i.height = c), i.width > g && ((e === "sw" || e == "nw") && (i.x -= g - i.width), i.width = g), i.height > p && ((e === "nw" || e == "ne") && (i.y -= p - i.height), i.height = p), h) {
|
||
const y = i.width / i.height;
|
||
if (y < h) {
|
||
const f = Math.max(i.width / h, c);
|
||
(e === "nw" || e == "ne") && (i.y -= f - i.height), i.height = f;
|
||
} else if (y > h) {
|
||
const f = Math.max(i.height * h, s);
|
||
(e === "sw" || e == "nw") && (i.x -= f - i.width), i.width = f;
|
||
}
|
||
}
|
||
return i;
|
||
}
|
||
function I(a, h, e, n) {
|
||
const t = {
|
||
...a
|
||
};
|
||
return h === "ArrowLeft" ? n === "nw" ? (t.x -= e, t.y -= e, t.width += e, t.height += e) : n === "w" ? (t.x -= e, t.width += e) : n === "sw" ? (t.x -= e, t.width += e, t.height += e) : n === "ne" ? (t.y += e, t.width -= e, t.height -= e) : n === "e" ? t.width -= e : n === "se" && (t.width -= e, t.height -= e) : h === "ArrowRight" && (n === "nw" ? (t.x += e, t.y += e, t.width -= e, t.height -= e) : n === "w" ? (t.x += e, t.width -= e) : n === "sw" ? (t.x += e, t.width -= e, t.height -= e) : n === "ne" ? (t.y -= e, t.width += e, t.height += e) : n === "e" ? t.width += e : n === "se" && (t.width += e, t.height += e)), h === "ArrowUp" ? n === "nw" ? (t.x -= e, t.y -= e, t.width += e, t.height += e) : n === "n" ? (t.y -= e, t.height += e) : n === "ne" ? (t.y -= e, t.width += e, t.height += e) : n === "sw" ? (t.x += e, t.width -= e, t.height -= e) : n === "s" ? t.height -= e : n === "se" && (t.width -= e, t.height -= e) : h === "ArrowDown" && (n === "nw" ? (t.x += e, t.y += e, t.width -= e, t.height -= e) : n === "n" ? (t.y += e, t.height -= e) : n === "ne" ? (t.y += e, t.width -= e, t.height -= e) : n === "sw" ? (t.x -= e, t.width += e, t.height += e) : n === "s" ? t.height += e : n === "se" && (t.width += e, t.height += e)), t;
|
||
}
|
||
const M = {
|
||
capture: !0,
|
||
passive: !1
|
||
};
|
||
let N = 0;
|
||
const x = class x extends __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["PureComponent"] {
|
||
constructor(){
|
||
super(...arguments);
|
||
m(this, "docMoveBound", !1);
|
||
m(this, "mouseDownOnCrop", !1);
|
||
m(this, "dragStarted", !1);
|
||
m(this, "evData", {
|
||
startClientX: 0,
|
||
startClientY: 0,
|
||
startCropX: 0,
|
||
startCropY: 0,
|
||
clientX: 0,
|
||
clientY: 0,
|
||
isResize: !0
|
||
});
|
||
m(this, "componentRef", (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$__["createRef"])());
|
||
m(this, "mediaRef", (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$__["createRef"])());
|
||
m(this, "resizeObserver");
|
||
m(this, "initChangeCalled", !1);
|
||
m(this, "instanceId", `rc-${N++}`);
|
||
m(this, "state", {
|
||
cropIsActive: !1,
|
||
newCropIsBeingDrawn: !1
|
||
});
|
||
m(this, "onCropPointerDown", (e)=>{
|
||
const { crop: n, disabled: t } = this.props, d = this.getBox();
|
||
if (!n) return;
|
||
const r = D(n, d.width, d.height);
|
||
if (t) return;
|
||
e.cancelable && e.preventDefault(), this.bindDocMove(), this.componentRef.current.focus({
|
||
preventScroll: !0
|
||
});
|
||
const o = e.target.dataset.ord, w = !!o;
|
||
let i = e.clientX, s = e.clientY, c = r.x, g = r.y;
|
||
if (o) {
|
||
const p = e.clientX - d.x, l = e.clientY - d.y;
|
||
let C = 0, y = 0;
|
||
o === "ne" || o == "e" ? (C = p - (r.x + r.width), y = l - r.y, c = r.x, g = r.y + r.height) : o === "se" || o === "s" ? (C = p - (r.x + r.width), y = l - (r.y + r.height), c = r.x, g = r.y) : o === "sw" || o == "w" ? (C = p - r.x, y = l - (r.y + r.height), c = r.x + r.width, g = r.y) : (o === "nw" || o == "n") && (C = p - r.x, y = l - r.y, c = r.x + r.width, g = r.y + r.height), i = c + d.x + C, s = g + d.y + y;
|
||
}
|
||
this.evData = {
|
||
startClientX: i,
|
||
startClientY: s,
|
||
startCropX: c,
|
||
startCropY: g,
|
||
clientX: e.clientX,
|
||
clientY: e.clientY,
|
||
isResize: w,
|
||
ord: o
|
||
}, this.mouseDownOnCrop = !0, this.setState({
|
||
cropIsActive: !0
|
||
});
|
||
});
|
||
m(this, "onComponentPointerDown", (e)=>{
|
||
const { crop: n, disabled: t, locked: d, keepSelection: r, onChange: o } = this.props, w = this.getBox();
|
||
if (t || d || r && n) return;
|
||
e.cancelable && e.preventDefault(), this.bindDocMove(), this.componentRef.current.focus({
|
||
preventScroll: !0
|
||
});
|
||
const i = e.clientX - w.x, s = e.clientY - w.y, c = {
|
||
unit: "px",
|
||
x: i,
|
||
y: s,
|
||
width: 0,
|
||
height: 0
|
||
};
|
||
this.evData = {
|
||
startClientX: e.clientX,
|
||
startClientY: e.clientY,
|
||
startCropX: i,
|
||
startCropY: s,
|
||
clientX: e.clientX,
|
||
clientY: e.clientY,
|
||
isResize: !0
|
||
}, this.mouseDownOnCrop = !0, o(D(c, w.width, w.height), v(c, w.width, w.height)), this.setState({
|
||
cropIsActive: !0,
|
||
newCropIsBeingDrawn: !0
|
||
});
|
||
});
|
||
m(this, "onDocPointerMove", (e)=>{
|
||
const { crop: n, disabled: t, onChange: d, onDragStart: r } = this.props, o = this.getBox();
|
||
if (t || !n || !this.mouseDownOnCrop) return;
|
||
e.cancelable && e.preventDefault(), this.dragStarted || (this.dragStarted = !0, r && r(e));
|
||
const { evData: w } = this;
|
||
w.clientX = e.clientX, w.clientY = e.clientY;
|
||
let i;
|
||
w.isResize ? i = this.resizeCrop() : i = this.dragCrop(), X(n, i) || d(D(i, o.width, o.height), v(i, o.width, o.height));
|
||
});
|
||
m(this, "onComponentKeyDown", (e)=>{
|
||
const { crop: n, disabled: t, onChange: d, onComplete: r } = this.props;
|
||
if (t) return;
|
||
const o = e.key;
|
||
let w = !1;
|
||
if (!n) return;
|
||
const i = this.getBox(), s = this.makePixelCrop(i), g = (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey) ? x.nudgeStepLarge : e.shiftKey ? x.nudgeStepMedium : x.nudgeStep;
|
||
if (o === "ArrowLeft" ? (s.x -= g, w = !0) : o === "ArrowRight" ? (s.x += g, w = !0) : o === "ArrowUp" ? (s.y -= g, w = !0) : o === "ArrowDown" && (s.y += g, w = !0), w) {
|
||
e.cancelable && e.preventDefault(), s.x = b(s.x, 0, i.width - s.width), s.y = b(s.y, 0, i.height - s.height);
|
||
const p = D(s, i.width, i.height), l = v(s, i.width, i.height);
|
||
d(p, l), r && r(p, l);
|
||
}
|
||
});
|
||
m(this, "onHandlerKeyDown", (e, n)=>{
|
||
const { aspect: t = 0, crop: d, disabled: r, minWidth: o = 0, minHeight: w = 0, maxWidth: i, maxHeight: s, onChange: c, onComplete: g } = this.props, p = this.getBox();
|
||
if (r || !d) return;
|
||
if (e.key === "ArrowUp" || e.key === "ArrowDown" || e.key === "ArrowLeft" || e.key === "ArrowRight") e.stopPropagation(), e.preventDefault();
|
||
else return;
|
||
const C = (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey) ? x.nudgeStepLarge : e.shiftKey ? x.nudgeStepMedium : x.nudgeStep, y = D(d, p.width, p.height), f = I(y, e.key, C, n), R = k(f, t, n, p.width, p.height, o, w, i, s);
|
||
if (!X(d, R)) {
|
||
const Y = v(R, p.width, p.height);
|
||
c(R, Y), g && g(R, Y);
|
||
}
|
||
});
|
||
m(this, "onDocPointerDone", (e)=>{
|
||
const { crop: n, disabled: t, onComplete: d, onDragEnd: r } = this.props, o = this.getBox();
|
||
this.unbindDocMove(), !(t || !n) && this.mouseDownOnCrop && (this.mouseDownOnCrop = !1, this.dragStarted = !1, r && r(e), d && d(D(n, o.width, o.height), v(n, o.width, o.height)), this.setState({
|
||
cropIsActive: !1,
|
||
newCropIsBeingDrawn: !1
|
||
}));
|
||
});
|
||
m(this, "onDragFocus", ()=>{
|
||
var e;
|
||
(e = this.componentRef.current) == null || e.scrollTo(0, 0);
|
||
});
|
||
}
|
||
get document() {
|
||
return document;
|
||
}
|
||
// We unfortunately get the bounding box every time as x+y changes
|
||
// due to scrolling.
|
||
getBox() {
|
||
const e = this.mediaRef.current;
|
||
if (!e) return {
|
||
x: 0,
|
||
y: 0,
|
||
width: 0,
|
||
height: 0
|
||
};
|
||
const { x: n, y: t, width: d, height: r } = e.getBoundingClientRect();
|
||
return {
|
||
x: n,
|
||
y: t,
|
||
width: d,
|
||
height: r
|
||
};
|
||
}
|
||
componentDidUpdate(e) {
|
||
const { crop: n, onComplete: t } = this.props;
|
||
if (t && !e.crop && n) {
|
||
const { width: d, height: r } = this.getBox();
|
||
d && r && t(D(n, d, r), v(n, d, r));
|
||
}
|
||
}
|
||
componentWillUnmount() {
|
||
this.resizeObserver && this.resizeObserver.disconnect(), this.unbindDocMove();
|
||
}
|
||
bindDocMove() {
|
||
this.docMoveBound || (this.document.addEventListener("pointermove", this.onDocPointerMove, M), this.document.addEventListener("pointerup", this.onDocPointerDone, M), this.document.addEventListener("pointercancel", this.onDocPointerDone, M), this.docMoveBound = !0);
|
||
}
|
||
unbindDocMove() {
|
||
this.docMoveBound && (this.document.removeEventListener("pointermove", this.onDocPointerMove, M), this.document.removeEventListener("pointerup", this.onDocPointerDone, M), this.document.removeEventListener("pointercancel", this.onDocPointerDone, M), this.docMoveBound = !1);
|
||
}
|
||
getCropStyle() {
|
||
const { crop: e } = this.props;
|
||
if (e) return {
|
||
top: `${e.y}${e.unit}`,
|
||
left: `${e.x}${e.unit}`,
|
||
width: `${e.width}${e.unit}`,
|
||
height: `${e.height}${e.unit}`
|
||
};
|
||
}
|
||
dragCrop() {
|
||
const { evData: e } = this, n = this.getBox(), t = this.makePixelCrop(n), d = e.clientX - e.startClientX, r = e.clientY - e.startClientY;
|
||
return t.x = b(e.startCropX + d, 0, n.width - t.width), t.y = b(e.startCropY + r, 0, n.height - t.height), t;
|
||
}
|
||
getPointRegion(e, n, t, d) {
|
||
const { evData: r } = this, o = r.clientX - e.x, w = r.clientY - e.y;
|
||
let i;
|
||
d && n ? i = n === "nw" || n === "n" || n === "ne" : i = w < r.startCropY;
|
||
let s;
|
||
return t && n ? s = n === "nw" || n === "w" || n === "sw" : s = o < r.startCropX, s ? i ? "nw" : "sw" : i ? "ne" : "se";
|
||
}
|
||
resolveMinDimensions(e, n, t = 0, d = 0) {
|
||
const r = Math.min(t, e.width), o = Math.min(d, e.height);
|
||
return !n || !r && !o ? [
|
||
r,
|
||
o
|
||
] : n > 1 ? r ? [
|
||
r,
|
||
r / n
|
||
] : [
|
||
o * n,
|
||
o
|
||
] : o ? [
|
||
o * n,
|
||
o
|
||
] : [
|
||
r,
|
||
r / n
|
||
];
|
||
}
|
||
resizeCrop() {
|
||
const { evData: e } = this, { aspect: n = 0, maxWidth: t, maxHeight: d } = this.props, r = this.getBox(), [o, w] = this.resolveMinDimensions(r, n, this.props.minWidth, this.props.minHeight);
|
||
let i = this.makePixelCrop(r);
|
||
const s = this.getPointRegion(r, e.ord, o, w), c = e.ord || s;
|
||
let g = e.clientX - e.startClientX, p = e.clientY - e.startClientY;
|
||
(o && c === "nw" || c === "w" || c === "sw") && (g = Math.min(g, -o)), (w && c === "nw" || c === "n" || c === "ne") && (p = Math.min(p, -w));
|
||
const l = {
|
||
unit: "px",
|
||
x: 0,
|
||
y: 0,
|
||
width: 0,
|
||
height: 0
|
||
};
|
||
s === "ne" ? (l.x = e.startCropX, l.width = g, n ? (l.height = l.width / n, l.y = e.startCropY - l.height) : (l.height = Math.abs(p), l.y = e.startCropY - l.height)) : s === "se" ? (l.x = e.startCropX, l.y = e.startCropY, l.width = g, n ? l.height = l.width / n : l.height = p) : s === "sw" ? (l.x = e.startCropX + g, l.y = e.startCropY, l.width = Math.abs(g), n ? l.height = l.width / n : l.height = p) : s === "nw" && (l.x = e.startCropX + g, l.width = Math.abs(g), n ? (l.height = l.width / n, l.y = e.startCropY - l.height) : (l.height = Math.abs(p), l.y = e.startCropY + p));
|
||
const C = k(l, n, s, r.width, r.height, o, w, t, d);
|
||
return n || x.xyOrds.indexOf(c) > -1 ? i = C : x.xOrds.indexOf(c) > -1 ? (i.x = C.x, i.width = C.width) : x.yOrds.indexOf(c) > -1 && (i.y = C.y, i.height = C.height), i.x = b(i.x, 0, r.width - i.width), i.y = b(i.y, 0, r.height - i.height), i;
|
||
}
|
||
renderCropSelection() {
|
||
const { ariaLabels: e = x.defaultProps.ariaLabels, disabled: n, locked: t, renderSelectionAddon: d, ruleOfThirds: r, crop: o } = this.props, w = this.getCropStyle();
|
||
if (o) return /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
style: w,
|
||
className: "ReactCrop__crop-selection",
|
||
onPointerDown: this.onCropPointerDown,
|
||
"aria-label": e.cropArea,
|
||
tabIndex: 0,
|
||
onKeyDown: this.onComponentKeyDown,
|
||
role: "group"
|
||
}, !n && !t && /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-elements",
|
||
onFocus: this.onDragFocus
|
||
}, /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-bar ord-n",
|
||
"data-ord": "n"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-bar ord-e",
|
||
"data-ord": "e"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-bar ord-s",
|
||
"data-ord": "s"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-bar ord-w",
|
||
"data-ord": "w"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-handle ord-nw",
|
||
"data-ord": "nw",
|
||
tabIndex: 0,
|
||
"aria-label": e.nwDragHandle,
|
||
onKeyDown: (i)=>this.onHandlerKeyDown(i, "nw"),
|
||
role: "button"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-handle ord-n",
|
||
"data-ord": "n",
|
||
tabIndex: 0,
|
||
"aria-label": e.nDragHandle,
|
||
onKeyDown: (i)=>this.onHandlerKeyDown(i, "n"),
|
||
role: "button"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-handle ord-ne",
|
||
"data-ord": "ne",
|
||
tabIndex: 0,
|
||
"aria-label": e.neDragHandle,
|
||
onKeyDown: (i)=>this.onHandlerKeyDown(i, "ne"),
|
||
role: "button"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-handle ord-e",
|
||
"data-ord": "e",
|
||
tabIndex: 0,
|
||
"aria-label": e.eDragHandle,
|
||
onKeyDown: (i)=>this.onHandlerKeyDown(i, "e"),
|
||
role: "button"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-handle ord-se",
|
||
"data-ord": "se",
|
||
tabIndex: 0,
|
||
"aria-label": e.seDragHandle,
|
||
onKeyDown: (i)=>this.onHandlerKeyDown(i, "se"),
|
||
role: "button"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-handle ord-s",
|
||
"data-ord": "s",
|
||
tabIndex: 0,
|
||
"aria-label": e.sDragHandle,
|
||
onKeyDown: (i)=>this.onHandlerKeyDown(i, "s"),
|
||
role: "button"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-handle ord-sw",
|
||
"data-ord": "sw",
|
||
tabIndex: 0,
|
||
"aria-label": e.swDragHandle,
|
||
onKeyDown: (i)=>this.onHandlerKeyDown(i, "sw"),
|
||
role: "button"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__drag-handle ord-w",
|
||
"data-ord": "w",
|
||
tabIndex: 0,
|
||
"aria-label": e.wDragHandle,
|
||
onKeyDown: (i)=>this.onHandlerKeyDown(i, "w"),
|
||
role: "button"
|
||
})), d && /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__selection-addon",
|
||
onPointerDown: (i)=>i.stopPropagation()
|
||
}, d(this.state)), r && /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].Fragment, null, /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__rule-of-thirds-hz"
|
||
}), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
className: "ReactCrop__rule-of-thirds-vt"
|
||
})));
|
||
}
|
||
makePixelCrop(e) {
|
||
const n = {
|
||
...E,
|
||
...this.props.crop || {}
|
||
};
|
||
return D(n, e.width, e.height);
|
||
}
|
||
render() {
|
||
const { aspect: e, children: n, circularCrop: t, className: d, crop: r, disabled: o, locked: w, style: i, ruleOfThirds: s } = this.props, { cropIsActive: c, newCropIsBeingDrawn: g } = this.state, p = r ? this.renderCropSelection() : null, l = H("ReactCrop", d, c && "ReactCrop--active", o && "ReactCrop--disabled", w && "ReactCrop--locked", g && "ReactCrop--new-crop", r && e && "ReactCrop--fixed-aspect", r && t && "ReactCrop--circular-crop", r && s && "ReactCrop--rule-of-thirds", !this.dragStarted && r && !r.width && !r.height && "ReactCrop--invisible-crop", t && "ReactCrop--no-animate");
|
||
return /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
ref: this.componentRef,
|
||
className: l,
|
||
style: i
|
||
}, /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("div", {
|
||
ref: this.mediaRef,
|
||
className: "ReactCrop__child-wrapper",
|
||
onPointerDown: this.onComponentPointerDown
|
||
}, n), r ? /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("svg", {
|
||
className: "ReactCrop__crop-mask",
|
||
width: "100%",
|
||
height: "100%"
|
||
}, /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("defs", null, /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("mask", {
|
||
id: `hole-${this.instanceId}`
|
||
}, /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("rect", {
|
||
width: "100%",
|
||
height: "100%",
|
||
fill: "white"
|
||
}), t ? /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("ellipse", {
|
||
cx: `${r.x + r.width / 2}${r.unit}`,
|
||
cy: `${r.y + r.height / 2}${r.unit}`,
|
||
rx: `${r.width / 2}${r.unit}`,
|
||
ry: `${r.height / 2}${r.unit}`,
|
||
fill: "black"
|
||
}) : /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("rect", {
|
||
x: `${r.x}${r.unit}`,
|
||
y: `${r.y}${r.unit}`,
|
||
width: `${r.width}${r.unit}`,
|
||
height: `${r.height}${r.unit}`,
|
||
fill: "black"
|
||
}))), /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement("rect", {
|
||
fill: "black",
|
||
fillOpacity: 0.5,
|
||
width: "100%",
|
||
height: "100%",
|
||
mask: `url(#hole-${this.instanceId})`
|
||
})) : void 0, p);
|
||
}
|
||
};
|
||
m(x, "xOrds", [
|
||
"e",
|
||
"w"
|
||
]), m(x, "yOrds", [
|
||
"n",
|
||
"s"
|
||
]), m(x, "xyOrds", [
|
||
"nw",
|
||
"ne",
|
||
"se",
|
||
"sw"
|
||
]), m(x, "nudgeStep", 1), m(x, "nudgeStepMedium", 10), m(x, "nudgeStepLarge", 100), m(x, "defaultProps", {
|
||
ariaLabels: {
|
||
cropArea: "Use the arrow keys to move the crop selection area",
|
||
nwDragHandle: "Use the arrow keys to move the north west drag handle to change the crop selection area",
|
||
nDragHandle: "Use the up and down arrow keys to move the north drag handle to change the crop selection area",
|
||
neDragHandle: "Use the arrow keys to move the north east drag handle to change the crop selection area",
|
||
eDragHandle: "Use the up and down arrow keys to move the east drag handle to change the crop selection area",
|
||
seDragHandle: "Use the arrow keys to move the south east drag handle to change the crop selection area",
|
||
sDragHandle: "Use the up and down arrow keys to move the south drag handle to change the crop selection area",
|
||
swDragHandle: "Use the arrow keys to move the south west drag handle to change the crop selection area",
|
||
wDragHandle: "Use the up and down arrow keys to move the west drag handle to change the crop selection area"
|
||
}
|
||
});
|
||
let S = x;
|
||
;
|
||
}),
|
||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/browser-image-compression@2.0.2/node_modules/browser-image-compression/dist/browser-image-compression.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* Browser Image Compression
|
||
* v2.0.2
|
||
* by Donald <donaldcwl@gmail.com>
|
||
* https://github.com/Donaldcwl/browser-image-compression
|
||
*/ __turbopack_context__.s([
|
||
"default",
|
||
()=>imageCompression
|
||
]);
|
||
function _mergeNamespaces(e, t1) {
|
||
return t1.forEach(function(t1) {
|
||
t1 && "string" != typeof t1 && !Array.isArray(t1) && Object.keys(t1).forEach(function(r) {
|
||
if ("default" !== r && !(r in e)) {
|
||
var i = Object.getOwnPropertyDescriptor(t1, r);
|
||
Object.defineProperty(e, r, i.get ? i : {
|
||
enumerable: !0,
|
||
get: function() {
|
||
return t1[r];
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}), Object.freeze(e);
|
||
}
|
||
function copyExifWithoutOrientation(e, t1) {
|
||
return new Promise(function(r, i) {
|
||
let o;
|
||
return getApp1Segment(e).then(function(e) {
|
||
try {
|
||
return o = e, r(new Blob([
|
||
t1.slice(0, 2),
|
||
o,
|
||
t1.slice(2)
|
||
], {
|
||
type: "image/jpeg"
|
||
}));
|
||
} catch (e) {
|
||
return i(e);
|
||
}
|
||
}, i);
|
||
});
|
||
}
|
||
const getApp1Segment = (e)=>new Promise((t1, r)=>{
|
||
const i = new FileReader;
|
||
i.addEventListener("load", ({ target: { result: e } })=>{
|
||
const i = new DataView(e);
|
||
let o = 0;
|
||
if (65496 !== i.getUint16(o)) return r("not a valid JPEG");
|
||
for(o += 2;;){
|
||
const a = i.getUint16(o);
|
||
if (65498 === a) break;
|
||
const s = i.getUint16(o + 2);
|
||
if (65505 === a && 1165519206 === i.getUint32(o + 4)) {
|
||
const a = o + 10;
|
||
let f;
|
||
switch(i.getUint16(a)){
|
||
case 18761:
|
||
f = !0;
|
||
break;
|
||
case 19789:
|
||
f = !1;
|
||
break;
|
||
default:
|
||
return r("TIFF header contains invalid endian");
|
||
}
|
||
if (42 !== i.getUint16(a + 2, f)) return r("TIFF header contains invalid version");
|
||
const l = i.getUint32(a + 4, f), c = a + l + 2 + 12 * i.getUint16(a + l, f);
|
||
for(let e = a + l + 2; e < c; e += 12){
|
||
if (274 == i.getUint16(e, f)) {
|
||
if (3 !== i.getUint16(e + 2, f)) return r("Orientation data type is invalid");
|
||
if (1 !== i.getUint32(e + 4, f)) return r("Orientation data count is invalid");
|
||
i.setUint16(e + 8, 1, f);
|
||
break;
|
||
}
|
||
}
|
||
return t1(e.slice(o, o + 2 + s));
|
||
}
|
||
o += 2 + s;
|
||
}
|
||
return t1(new Blob);
|
||
}), i.readAsArrayBuffer(e);
|
||
});
|
||
var e = {}, t1 = {
|
||
get exports () {
|
||
return e;
|
||
},
|
||
set exports (t){
|
||
e = t;
|
||
}
|
||
};
|
||
!function(e) {
|
||
var r, i, UZIP = {};
|
||
t1.exports = UZIP, UZIP.parse = function(e, t1) {
|
||
for(var r = UZIP.bin.readUshort, i = UZIP.bin.readUint, o = 0, a = {}, s = new Uint8Array(e), f = s.length - 4; 101010256 != i(s, f);)f--;
|
||
o = f;
|
||
o += 4;
|
||
var l = r(s, o += 4);
|
||
r(s, o += 2);
|
||
var c = i(s, o += 2), u = i(s, o += 4);
|
||
o += 4, o = u;
|
||
for(var h = 0; h < l; h++){
|
||
i(s, o), o += 4, o += 4, o += 4, i(s, o += 4);
|
||
c = i(s, o += 4);
|
||
var d = i(s, o += 4), A = r(s, o += 4), g = r(s, o + 2), p = r(s, o + 4);
|
||
o += 6;
|
||
var m = i(s, o += 8);
|
||
o += 4, o += A + g + p, UZIP._readLocal(s, m, a, c, d, t1);
|
||
}
|
||
return a;
|
||
}, UZIP._readLocal = function(e, t1, r, i, o, a) {
|
||
var s = UZIP.bin.readUshort, f = UZIP.bin.readUint;
|
||
f(e, t1), s(e, t1 += 4), s(e, t1 += 2);
|
||
var l = s(e, t1 += 2);
|
||
f(e, t1 += 2), f(e, t1 += 4), t1 += 4;
|
||
var c = s(e, t1 += 8), u = s(e, t1 += 2);
|
||
t1 += 2;
|
||
var h = UZIP.bin.readUTF8(e, t1, c);
|
||
if (t1 += c, t1 += u, a) r[h] = {
|
||
size: o,
|
||
csize: i
|
||
};
|
||
else {
|
||
var d = new Uint8Array(e.buffer, t1);
|
||
if (0 == l) r[h] = new Uint8Array(d.buffer.slice(t1, t1 + i));
|
||
else {
|
||
if (8 != l) throw "unknown compression method: " + l;
|
||
var A = new Uint8Array(o);
|
||
UZIP.inflateRaw(d, A), r[h] = A;
|
||
}
|
||
}
|
||
}, UZIP.inflateRaw = function(e, t1) {
|
||
return UZIP.F.inflate(e, t1);
|
||
}, UZIP.inflate = function(e, t1) {
|
||
return e[0], e[1], UZIP.inflateRaw(new Uint8Array(e.buffer, e.byteOffset + 2, e.length - 6), t1);
|
||
}, UZIP.deflate = function(e, t1) {
|
||
null == t1 && (t1 = {
|
||
level: 6
|
||
});
|
||
var r = 0, i = new Uint8Array(50 + Math.floor(1.1 * e.length));
|
||
i[r] = 120, i[r + 1] = 156, r += 2, r = UZIP.F.deflateRaw(e, i, r, t1.level);
|
||
var o = UZIP.adler(e, 0, e.length);
|
||
return i[r + 0] = o >>> 24 & 255, i[r + 1] = o >>> 16 & 255, i[r + 2] = o >>> 8 & 255, i[r + 3] = o >>> 0 & 255, new Uint8Array(i.buffer, 0, r + 4);
|
||
}, UZIP.deflateRaw = function(e, t1) {
|
||
null == t1 && (t1 = {
|
||
level: 6
|
||
});
|
||
var r = new Uint8Array(50 + Math.floor(1.1 * e.length)), i = UZIP.F.deflateRaw(e, r, i, t1.level);
|
||
return new Uint8Array(r.buffer, 0, i);
|
||
}, UZIP.encode = function(e, t1) {
|
||
null == t1 && (t1 = !1);
|
||
var r = 0, i = UZIP.bin.writeUint, o = UZIP.bin.writeUshort, a = {};
|
||
for(var s in e){
|
||
var f = !UZIP._noNeed(s) && !t1, l = e[s], c = UZIP.crc.crc(l, 0, l.length);
|
||
a[s] = {
|
||
cpr: f,
|
||
usize: l.length,
|
||
crc: c,
|
||
file: f ? UZIP.deflateRaw(l) : l
|
||
};
|
||
}
|
||
for(var s in a)r += a[s].file.length + 30 + 46 + 2 * UZIP.bin.sizeUTF8(s);
|
||
r += 22;
|
||
var u = new Uint8Array(r), h = 0, d = [];
|
||
for(var s in a){
|
||
var A = a[s];
|
||
d.push(h), h = UZIP._writeHeader(u, h, s, A, 0);
|
||
}
|
||
var g = 0, p = h;
|
||
for(var s in a){
|
||
A = a[s];
|
||
d.push(h), h = UZIP._writeHeader(u, h, s, A, 1, d[g++]);
|
||
}
|
||
var m = h - p;
|
||
return i(u, h, 101010256), h += 4, o(u, h += 4, g), o(u, h += 2, g), i(u, h += 2, m), i(u, h += 4, p), h += 4, h += 2, u.buffer;
|
||
}, UZIP._noNeed = function(e) {
|
||
var t1 = e.split(".").pop().toLowerCase();
|
||
return -1 != "png,jpg,jpeg,zip".indexOf(t1);
|
||
}, UZIP._writeHeader = function(e, t1, r, i, o, a) {
|
||
var s = UZIP.bin.writeUint, f = UZIP.bin.writeUshort, l = i.file;
|
||
return s(e, t1, 0 == o ? 67324752 : 33639248), t1 += 4, 1 == o && (t1 += 2), f(e, t1, 20), f(e, t1 += 2, 0), f(e, t1 += 2, i.cpr ? 8 : 0), s(e, t1 += 2, 0), s(e, t1 += 4, i.crc), s(e, t1 += 4, l.length), s(e, t1 += 4, i.usize), f(e, t1 += 4, UZIP.bin.sizeUTF8(r)), f(e, t1 += 2, 0), t1 += 2, 1 == o && (t1 += 2, t1 += 2, s(e, t1 += 6, a), t1 += 4), t1 += UZIP.bin.writeUTF8(e, t1, r), 0 == o && (e.set(l, t1), t1 += l.length), t1;
|
||
}, UZIP.crc = {
|
||
table: function() {
|
||
for(var e = new Uint32Array(256), t1 = 0; t1 < 256; t1++){
|
||
for(var r = t1, i = 0; i < 8; i++)1 & r ? r = 3988292384 ^ r >>> 1 : r >>>= 1;
|
||
e[t1] = r;
|
||
}
|
||
return e;
|
||
}(),
|
||
update: function(e, t1, r, i) {
|
||
for(var o = 0; o < i; o++)e = UZIP.crc.table[255 & (e ^ t1[r + o])] ^ e >>> 8;
|
||
return e;
|
||
},
|
||
crc: function(e, t1, r) {
|
||
return 4294967295 ^ UZIP.crc.update(4294967295, e, t1, r);
|
||
}
|
||
}, UZIP.adler = function(e, t1, r) {
|
||
for(var i = 1, o = 0, a = t1, s = t1 + r; a < s;){
|
||
for(var f = Math.min(a + 5552, s); a < f;)o += i += e[a++];
|
||
i %= 65521, o %= 65521;
|
||
}
|
||
return o << 16 | i;
|
||
}, UZIP.bin = {
|
||
readUshort: function(e, t1) {
|
||
return e[t1] | e[t1 + 1] << 8;
|
||
},
|
||
writeUshort: function(e, t1, r) {
|
||
e[t1] = 255 & r, e[t1 + 1] = r >> 8 & 255;
|
||
},
|
||
readUint: function(e, t1) {
|
||
return 16777216 * e[t1 + 3] + (e[t1 + 2] << 16 | e[t1 + 1] << 8 | e[t1]);
|
||
},
|
||
writeUint: function(e, t1, r) {
|
||
e[t1] = 255 & r, e[t1 + 1] = r >> 8 & 255, e[t1 + 2] = r >> 16 & 255, e[t1 + 3] = r >> 24 & 255;
|
||
},
|
||
readASCII: function(e, t1, r) {
|
||
for(var i = "", o = 0; o < r; o++)i += String.fromCharCode(e[t1 + o]);
|
||
return i;
|
||
},
|
||
writeASCII: function(e, t1, r) {
|
||
for(var i = 0; i < r.length; i++)e[t1 + i] = r.charCodeAt(i);
|
||
},
|
||
pad: function(e) {
|
||
return e.length < 2 ? "0" + e : e;
|
||
},
|
||
readUTF8: function(e, t1, r) {
|
||
for(var i, o = "", a = 0; a < r; a++)o += "%" + UZIP.bin.pad(e[t1 + a].toString(16));
|
||
try {
|
||
i = decodeURIComponent(o);
|
||
} catch (i) {
|
||
return UZIP.bin.readASCII(e, t1, r);
|
||
}
|
||
return i;
|
||
},
|
||
writeUTF8: function(e, t1, r) {
|
||
for(var i = r.length, o = 0, a = 0; a < i; a++){
|
||
var s = r.charCodeAt(a);
|
||
if (0 == (4294967168 & s)) e[t1 + o] = s, o++;
|
||
else if (0 == (4294965248 & s)) e[t1 + o] = 192 | s >> 6, e[t1 + o + 1] = 128 | s >> 0 & 63, o += 2;
|
||
else if (0 == (4294901760 & s)) e[t1 + o] = 224 | s >> 12, e[t1 + o + 1] = 128 | s >> 6 & 63, e[t1 + o + 2] = 128 | s >> 0 & 63, o += 3;
|
||
else {
|
||
if (0 != (4292870144 & s)) throw "e";
|
||
e[t1 + o] = 240 | s >> 18, e[t1 + o + 1] = 128 | s >> 12 & 63, e[t1 + o + 2] = 128 | s >> 6 & 63, e[t1 + o + 3] = 128 | s >> 0 & 63, o += 4;
|
||
}
|
||
}
|
||
return o;
|
||
},
|
||
sizeUTF8: function(e) {
|
||
for(var t1 = e.length, r = 0, i = 0; i < t1; i++){
|
||
var o = e.charCodeAt(i);
|
||
if (0 == (4294967168 & o)) r++;
|
||
else if (0 == (4294965248 & o)) r += 2;
|
||
else if (0 == (4294901760 & o)) r += 3;
|
||
else {
|
||
if (0 != (4292870144 & o)) throw "e";
|
||
r += 4;
|
||
}
|
||
}
|
||
return r;
|
||
}
|
||
}, UZIP.F = {}, UZIP.F.deflateRaw = function(e, t1, r, i) {
|
||
var o = [
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
4,
|
||
4,
|
||
8,
|
||
4,
|
||
0
|
||
],
|
||
[
|
||
4,
|
||
5,
|
||
16,
|
||
8,
|
||
0
|
||
],
|
||
[
|
||
4,
|
||
6,
|
||
16,
|
||
16,
|
||
0
|
||
],
|
||
[
|
||
4,
|
||
10,
|
||
16,
|
||
32,
|
||
0
|
||
],
|
||
[
|
||
8,
|
||
16,
|
||
32,
|
||
32,
|
||
0
|
||
],
|
||
[
|
||
8,
|
||
16,
|
||
128,
|
||
128,
|
||
0
|
||
],
|
||
[
|
||
8,
|
||
32,
|
||
128,
|
||
256,
|
||
0
|
||
],
|
||
[
|
||
32,
|
||
128,
|
||
258,
|
||
1024,
|
||
1
|
||
],
|
||
[
|
||
32,
|
||
258,
|
||
258,
|
||
4096,
|
||
1
|
||
]
|
||
][i], a = UZIP.F.U, s = UZIP.F._goodIndex;
|
||
UZIP.F._hash;
|
||
var f = UZIP.F._putsE, l = 0, c = r << 3, u = 0, h = e.length;
|
||
if (0 == i) {
|
||
for(; l < h;){
|
||
f(t1, c, l + (_ = Math.min(65535, h - l)) == h ? 1 : 0), c = UZIP.F._copyExact(e, l, _, t1, c + 8), l += _;
|
||
}
|
||
return c >>> 3;
|
||
}
|
||
var d = a.lits, A = a.strt, g = a.prev, p = 0, m = 0, w = 0, v = 0, b = 0, y = 0;
|
||
for(h > 2 && (A[y = UZIP.F._hash(e, 0)] = 0), l = 0; l < h; l++){
|
||
if (b = y, l + 1 < h - 2) {
|
||
y = UZIP.F._hash(e, l + 1);
|
||
var E = l + 1 & 32767;
|
||
g[E] = A[y], A[y] = E;
|
||
}
|
||
if (u <= l) {
|
||
(p > 14e3 || m > 26697) && h - l > 100 && (u < l && (d[p] = l - u, p += 2, u = l), c = UZIP.F._writeBlock(l == h - 1 || u == h ? 1 : 0, d, p, v, e, w, l - w, t1, c), p = m = v = 0, w = l);
|
||
var F = 0;
|
||
l < h - 2 && (F = UZIP.F._bestMatch(e, l, g, b, Math.min(o[2], h - l), o[3]));
|
||
var _ = F >>> 16, B = 65535 & F;
|
||
if (0 != F) {
|
||
B = 65535 & F;
|
||
var U = s(_ = F >>> 16, a.of0);
|
||
a.lhst[257 + U]++;
|
||
var C = s(B, a.df0);
|
||
a.dhst[C]++, v += a.exb[U] + a.dxb[C], d[p] = _ << 23 | l - u, d[p + 1] = B << 16 | U << 8 | C, p += 2, u = l + _;
|
||
} else a.lhst[e[l]]++;
|
||
m++;
|
||
}
|
||
}
|
||
for(w == l && 0 != e.length || (u < l && (d[p] = l - u, p += 2, u = l), c = UZIP.F._writeBlock(1, d, p, v, e, w, l - w, t1, c), p = 0, m = 0, p = m = v = 0, w = l); 0 != (7 & c);)c++;
|
||
return c >>> 3;
|
||
}, UZIP.F._bestMatch = function(e, t1, r, i, o, a) {
|
||
var s = 32767 & t1, f = r[s], l = s - f + 32768 & 32767;
|
||
if (f == s || i != UZIP.F._hash(e, t1 - l)) return 0;
|
||
for(var c = 0, u = 0, h = Math.min(32767, t1); l <= h && 0 != --a && f != s;){
|
||
if (0 == c || e[t1 + c] == e[t1 + c - l]) {
|
||
var d = UZIP.F._howLong(e, t1, l);
|
||
if (d > c) {
|
||
if (u = l, (c = d) >= o) break;
|
||
l + 2 < d && (d = l + 2);
|
||
for(var A = 0, g = 0; g < d - 2; g++){
|
||
var p = t1 - l + g + 32768 & 32767, m = p - r[p] + 32768 & 32767;
|
||
m > A && (A = m, f = p);
|
||
}
|
||
}
|
||
}
|
||
l += (s = f) - (f = r[s]) + 32768 & 32767;
|
||
}
|
||
return c << 16 | u;
|
||
}, UZIP.F._howLong = function(e, t1, r) {
|
||
if (e[t1] != e[t1 - r] || e[t1 + 1] != e[t1 + 1 - r] || e[t1 + 2] != e[t1 + 2 - r]) return 0;
|
||
var i = t1, o = Math.min(e.length, t1 + 258);
|
||
for(t1 += 3; t1 < o && e[t1] == e[t1 - r];)t1++;
|
||
return t1 - i;
|
||
}, UZIP.F._hash = function(e, t1) {
|
||
return (e[t1] << 8 | e[t1 + 1]) + (e[t1 + 2] << 4) & 65535;
|
||
}, UZIP.saved = 0, UZIP.F._writeBlock = function(e, t1, r, i, o, a, s, f, l) {
|
||
var c, u, h, d, A, g, p, m, w, v = UZIP.F.U, b = UZIP.F._putsF, y = UZIP.F._putsE;
|
||
v.lhst[256]++, u = (c = UZIP.F.getTrees())[0], h = c[1], d = c[2], A = c[3], g = c[4], p = c[5], m = c[6], w = c[7];
|
||
var E = 32 + (0 == (l + 3 & 7) ? 0 : 8 - (l + 3 & 7)) + (s << 3), F = i + UZIP.F.contSize(v.fltree, v.lhst) + UZIP.F.contSize(v.fdtree, v.dhst), _ = i + UZIP.F.contSize(v.ltree, v.lhst) + UZIP.F.contSize(v.dtree, v.dhst);
|
||
_ += 14 + 3 * p + UZIP.F.contSize(v.itree, v.ihst) + (2 * v.ihst[16] + 3 * v.ihst[17] + 7 * v.ihst[18]);
|
||
for(var B = 0; B < 286; B++)v.lhst[B] = 0;
|
||
for(B = 0; B < 30; B++)v.dhst[B] = 0;
|
||
for(B = 0; B < 19; B++)v.ihst[B] = 0;
|
||
var U = E < F && E < _ ? 0 : F < _ ? 1 : 2;
|
||
if (b(f, l, e), b(f, l + 1, U), l += 3, 0 == U) {
|
||
for(; 0 != (7 & l);)l++;
|
||
l = UZIP.F._copyExact(o, a, s, f, l);
|
||
} else {
|
||
var C, I;
|
||
if (1 == U && (C = v.fltree, I = v.fdtree), 2 == U) {
|
||
UZIP.F.makeCodes(v.ltree, u), UZIP.F.revCodes(v.ltree, u), UZIP.F.makeCodes(v.dtree, h), UZIP.F.revCodes(v.dtree, h), UZIP.F.makeCodes(v.itree, d), UZIP.F.revCodes(v.itree, d), C = v.ltree, I = v.dtree, y(f, l, A - 257), y(f, l += 5, g - 1), y(f, l += 5, p - 4), l += 4;
|
||
for(var Q = 0; Q < p; Q++)y(f, l + 3 * Q, v.itree[1 + (v.ordr[Q] << 1)]);
|
||
l += 3 * p, l = UZIP.F._codeTiny(m, v.itree, f, l), l = UZIP.F._codeTiny(w, v.itree, f, l);
|
||
}
|
||
for(var M = a, x = 0; x < r; x += 2){
|
||
for(var S = t1[x], R = S >>> 23, T = M + (8388607 & S); M < T;)l = UZIP.F._writeLit(o[M++], C, f, l);
|
||
if (0 != R) {
|
||
var O = t1[x + 1], P = O >> 16, H = O >> 8 & 255, L = 255 & O;
|
||
y(f, l = UZIP.F._writeLit(257 + H, C, f, l), R - v.of0[H]), l += v.exb[H], b(f, l = UZIP.F._writeLit(L, I, f, l), P - v.df0[L]), l += v.dxb[L], M += R;
|
||
}
|
||
}
|
||
l = UZIP.F._writeLit(256, C, f, l);
|
||
}
|
||
return l;
|
||
}, UZIP.F._copyExact = function(e, t1, r, i, o) {
|
||
var a = o >>> 3;
|
||
return i[a] = r, i[a + 1] = r >>> 8, i[a + 2] = 255 - i[a], i[a + 3] = 255 - i[a + 1], a += 4, i.set(new Uint8Array(e.buffer, t1, r), a), o + (r + 4 << 3);
|
||
}, UZIP.F.getTrees = function() {
|
||
for(var e = UZIP.F.U, t1 = UZIP.F._hufTree(e.lhst, e.ltree, 15), r = UZIP.F._hufTree(e.dhst, e.dtree, 15), i = [], o = UZIP.F._lenCodes(e.ltree, i), a = [], s = UZIP.F._lenCodes(e.dtree, a), f = 0; f < i.length; f += 2)e.ihst[i[f]]++;
|
||
for(f = 0; f < a.length; f += 2)e.ihst[a[f]]++;
|
||
for(var l = UZIP.F._hufTree(e.ihst, e.itree, 7), c = 19; c > 4 && 0 == e.itree[1 + (e.ordr[c - 1] << 1)];)c--;
|
||
return [
|
||
t1,
|
||
r,
|
||
l,
|
||
o,
|
||
s,
|
||
c,
|
||
i,
|
||
a
|
||
];
|
||
}, UZIP.F.getSecond = function(e) {
|
||
for(var t1 = [], r = 0; r < e.length; r += 2)t1.push(e[r + 1]);
|
||
return t1;
|
||
}, UZIP.F.nonZero = function(e) {
|
||
for(var t1 = "", r = 0; r < e.length; r += 2)0 != e[r + 1] && (t1 += (r >> 1) + ",");
|
||
return t1;
|
||
}, UZIP.F.contSize = function(e, t1) {
|
||
for(var r = 0, i = 0; i < t1.length; i++)r += t1[i] * e[1 + (i << 1)];
|
||
return r;
|
||
}, UZIP.F._codeTiny = function(e, t1, r, i) {
|
||
for(var o = 0; o < e.length; o += 2){
|
||
var a = e[o], s = e[o + 1];
|
||
i = UZIP.F._writeLit(a, t1, r, i);
|
||
var f = 16 == a ? 2 : 17 == a ? 3 : 7;
|
||
a > 15 && (UZIP.F._putsE(r, i, s, f), i += f);
|
||
}
|
||
return i;
|
||
}, UZIP.F._lenCodes = function(e, t1) {
|
||
for(var r = e.length; 2 != r && 0 == e[r - 1];)r -= 2;
|
||
for(var i = 0; i < r; i += 2){
|
||
var o = e[i + 1], a = i + 3 < r ? e[i + 3] : -1, s = i + 5 < r ? e[i + 5] : -1, f = 0 == i ? -1 : e[i - 1];
|
||
if (0 == o && a == o && s == o) {
|
||
for(var l = i + 5; l + 2 < r && e[l + 2] == o;)l += 2;
|
||
(c = Math.min(l + 1 - i >>> 1, 138)) < 11 ? t1.push(17, c - 3) : t1.push(18, c - 11), i += 2 * c - 2;
|
||
} else if (o == f && a == o && s == o) {
|
||
for(l = i + 5; l + 2 < r && e[l + 2] == o;)l += 2;
|
||
var c = Math.min(l + 1 - i >>> 1, 6);
|
||
t1.push(16, c - 3), i += 2 * c - 2;
|
||
} else t1.push(o, 0);
|
||
}
|
||
return r >>> 1;
|
||
}, UZIP.F._hufTree = function(e, t1, r) {
|
||
var i = [], o = e.length, a = t1.length, s = 0;
|
||
for(s = 0; s < a; s += 2)t1[s] = 0, t1[s + 1] = 0;
|
||
for(s = 0; s < o; s++)0 != e[s] && i.push({
|
||
lit: s,
|
||
f: e[s]
|
||
});
|
||
var f = i.length, l = i.slice(0);
|
||
if (0 == f) return 0;
|
||
if (1 == f) {
|
||
var c = i[0].lit;
|
||
l = 0 == c ? 1 : 0;
|
||
return t1[1 + (c << 1)] = 1, t1[1 + (l << 1)] = 1, 1;
|
||
}
|
||
i.sort(function(e, t1) {
|
||
return e.f - t1.f;
|
||
});
|
||
var u = i[0], h = i[1], d = 0, A = 1, g = 2;
|
||
for(i[0] = {
|
||
lit: -1,
|
||
f: u.f + h.f,
|
||
l: u,
|
||
r: h,
|
||
d: 0
|
||
}; A != f - 1;)u = d != A && (g == f || i[d].f < i[g].f) ? i[d++] : i[g++], h = d != A && (g == f || i[d].f < i[g].f) ? i[d++] : i[g++], i[A++] = {
|
||
lit: -1,
|
||
f: u.f + h.f,
|
||
l: u,
|
||
r: h
|
||
};
|
||
var p = UZIP.F.setDepth(i[A - 1], 0);
|
||
for(p > r && (UZIP.F.restrictDepth(l, r, p), p = r), s = 0; s < f; s++)t1[1 + (l[s].lit << 1)] = l[s].d;
|
||
return p;
|
||
}, UZIP.F.setDepth = function(e, t1) {
|
||
return -1 != e.lit ? (e.d = t1, t1) : Math.max(UZIP.F.setDepth(e.l, t1 + 1), UZIP.F.setDepth(e.r, t1 + 1));
|
||
}, UZIP.F.restrictDepth = function(e, t1, r) {
|
||
var i = 0, o = 1 << r - t1, a = 0;
|
||
for(e.sort(function(e, t1) {
|
||
return t1.d == e.d ? e.f - t1.f : t1.d - e.d;
|
||
}), i = 0; i < e.length && e[i].d > t1; i++){
|
||
var s = e[i].d;
|
||
e[i].d = t1, a += o - (1 << r - s);
|
||
}
|
||
for(a >>>= r - t1; a > 0;){
|
||
(s = e[i].d) < t1 ? (e[i].d++, a -= 1 << t1 - s - 1) : i++;
|
||
}
|
||
for(; i >= 0; i--)e[i].d == t1 && a < 0 && (e[i].d--, a++);
|
||
0 != a && console.log("debt left");
|
||
}, UZIP.F._goodIndex = function(e, t1) {
|
||
var r = 0;
|
||
return t1[16 | r] <= e && (r |= 16), t1[8 | r] <= e && (r |= 8), t1[4 | r] <= e && (r |= 4), t1[2 | r] <= e && (r |= 2), t1[1 | r] <= e && (r |= 1), r;
|
||
}, UZIP.F._writeLit = function(e, t1, r, i) {
|
||
return UZIP.F._putsF(r, i, t1[e << 1]), i + t1[1 + (e << 1)];
|
||
}, UZIP.F.inflate = function(e, t1) {
|
||
var r = Uint8Array;
|
||
if (3 == e[0] && 0 == e[1]) return t1 || new r(0);
|
||
var i = UZIP.F, o = i._bitsF, a = i._bitsE, s = i._decodeTiny, f = i.makeCodes, l = i.codes2map, c = i._get17, u = i.U, h = null == t1;
|
||
h && (t1 = new r(e.length >>> 2 << 3));
|
||
for(var d, A, g = 0, p = 0, m = 0, w = 0, v = 0, b = 0, y = 0, E = 0, F = 0; 0 == g;)if (g = o(e, F, 1), p = o(e, F + 1, 2), F += 3, 0 != p) {
|
||
if (h && (t1 = UZIP.F._check(t1, E + (1 << 17))), 1 == p && (d = u.flmap, A = u.fdmap, b = 511, y = 31), 2 == p) {
|
||
m = a(e, F, 5) + 257, w = a(e, F + 5, 5) + 1, v = a(e, F + 10, 4) + 4, F += 14;
|
||
for(var _ = 0; _ < 38; _ += 2)u.itree[_] = 0, u.itree[_ + 1] = 0;
|
||
var B = 1;
|
||
for(_ = 0; _ < v; _++){
|
||
var U = a(e, F + 3 * _, 3);
|
||
u.itree[1 + (u.ordr[_] << 1)] = U, U > B && (B = U);
|
||
}
|
||
F += 3 * v, f(u.itree, B), l(u.itree, B, u.imap), d = u.lmap, A = u.dmap, F = s(u.imap, (1 << B) - 1, m + w, e, F, u.ttree);
|
||
var C = i._copyOut(u.ttree, 0, m, u.ltree);
|
||
b = (1 << C) - 1;
|
||
var I = i._copyOut(u.ttree, m, w, u.dtree);
|
||
y = (1 << I) - 1, f(u.ltree, C), l(u.ltree, C, d), f(u.dtree, I), l(u.dtree, I, A);
|
||
}
|
||
for(;;){
|
||
var Q = d[c(e, F) & b];
|
||
F += 15 & Q;
|
||
var M = Q >>> 4;
|
||
if (M >>> 8 == 0) t1[E++] = M;
|
||
else {
|
||
if (256 == M) break;
|
||
var x = E + M - 254;
|
||
if (M > 264) {
|
||
var S = u.ldef[M - 257];
|
||
x = E + (S >>> 3) + a(e, F, 7 & S), F += 7 & S;
|
||
}
|
||
var R = A[c(e, F) & y];
|
||
F += 15 & R;
|
||
var T = R >>> 4, O = u.ddef[T], P = (O >>> 4) + o(e, F, 15 & O);
|
||
for(F += 15 & O, h && (t1 = UZIP.F._check(t1, E + (1 << 17))); E < x;)t1[E] = t1[E++ - P], t1[E] = t1[E++ - P], t1[E] = t1[E++ - P], t1[E] = t1[E++ - P];
|
||
E = x;
|
||
}
|
||
}
|
||
} else {
|
||
0 != (7 & F) && (F += 8 - (7 & F));
|
||
var H = 4 + (F >>> 3), L = e[H - 4] | e[H - 3] << 8;
|
||
h && (t1 = UZIP.F._check(t1, E + L)), t1.set(new r(e.buffer, e.byteOffset + H, L), E), F = H + L << 3, E += L;
|
||
}
|
||
return t1.length == E ? t1 : t1.slice(0, E);
|
||
}, UZIP.F._check = function(e, t1) {
|
||
var r = e.length;
|
||
if (t1 <= r) return e;
|
||
var i = new Uint8Array(Math.max(r << 1, t1));
|
||
return i.set(e, 0), i;
|
||
}, UZIP.F._decodeTiny = function(e, t1, r, i, o, a) {
|
||
for(var s = UZIP.F._bitsE, f = UZIP.F._get17, l = 0; l < r;){
|
||
var c = e[f(i, o) & t1];
|
||
o += 15 & c;
|
||
var u = c >>> 4;
|
||
if (u <= 15) a[l] = u, l++;
|
||
else {
|
||
var h = 0, d = 0;
|
||
16 == u ? (d = 3 + s(i, o, 2), o += 2, h = a[l - 1]) : 17 == u ? (d = 3 + s(i, o, 3), o += 3) : 18 == u && (d = 11 + s(i, o, 7), o += 7);
|
||
for(var A = l + d; l < A;)a[l] = h, l++;
|
||
}
|
||
}
|
||
return o;
|
||
}, UZIP.F._copyOut = function(e, t1, r, i) {
|
||
for(var o = 0, a = 0, s = i.length >>> 1; a < r;){
|
||
var f = e[a + t1];
|
||
i[a << 1] = 0, i[1 + (a << 1)] = f, f > o && (o = f), a++;
|
||
}
|
||
for(; a < s;)i[a << 1] = 0, i[1 + (a << 1)] = 0, a++;
|
||
return o;
|
||
}, UZIP.F.makeCodes = function(e, t1) {
|
||
for(var r, i, o, a, s = UZIP.F.U, f = e.length, l = s.bl_count, c = 0; c <= t1; c++)l[c] = 0;
|
||
for(c = 1; c < f; c += 2)l[e[c]]++;
|
||
var u = s.next_code;
|
||
for(r = 0, l[0] = 0, i = 1; i <= t1; i++)r = r + l[i - 1] << 1, u[i] = r;
|
||
for(o = 0; o < f; o += 2)0 != (a = e[o + 1]) && (e[o] = u[a], u[a]++);
|
||
}, UZIP.F.codes2map = function(e, t1, r) {
|
||
for(var i = e.length, o = UZIP.F.U.rev15, a = 0; a < i; a += 2)if (0 != e[a + 1]) for(var s = a >> 1, f = e[a + 1], l = s << 4 | f, c = t1 - f, u = e[a] << c, h = u + (1 << c); u != h;){
|
||
r[o[u] >>> 15 - t1] = l, u++;
|
||
}
|
||
}, UZIP.F.revCodes = function(e, t1) {
|
||
for(var r = UZIP.F.U.rev15, i = 15 - t1, o = 0; o < e.length; o += 2){
|
||
var a = e[o] << t1 - e[o + 1];
|
||
e[o] = r[a] >>> i;
|
||
}
|
||
}, UZIP.F._putsE = function(e, t1, r) {
|
||
r <<= 7 & t1;
|
||
var i = t1 >>> 3;
|
||
e[i] |= r, e[i + 1] |= r >>> 8;
|
||
}, UZIP.F._putsF = function(e, t1, r) {
|
||
r <<= 7 & t1;
|
||
var i = t1 >>> 3;
|
||
e[i] |= r, e[i + 1] |= r >>> 8, e[i + 2] |= r >>> 16;
|
||
}, UZIP.F._bitsE = function(e, t1, r) {
|
||
return (e[t1 >>> 3] | e[1 + (t1 >>> 3)] << 8) >>> (7 & t1) & (1 << r) - 1;
|
||
}, UZIP.F._bitsF = function(e, t1, r) {
|
||
return (e[t1 >>> 3] | e[1 + (t1 >>> 3)] << 8 | e[2 + (t1 >>> 3)] << 16) >>> (7 & t1) & (1 << r) - 1;
|
||
}, UZIP.F._get17 = function(e, t1) {
|
||
return (e[t1 >>> 3] | e[1 + (t1 >>> 3)] << 8 | e[2 + (t1 >>> 3)] << 16) >>> (7 & t1);
|
||
}, UZIP.F._get25 = function(e, t1) {
|
||
return (e[t1 >>> 3] | e[1 + (t1 >>> 3)] << 8 | e[2 + (t1 >>> 3)] << 16 | e[3 + (t1 >>> 3)] << 24) >>> (7 & t1);
|
||
}, UZIP.F.U = (r = Uint16Array, i = Uint32Array, {
|
||
next_code: new r(16),
|
||
bl_count: new r(16),
|
||
ordr: [
|
||
16,
|
||
17,
|
||
18,
|
||
0,
|
||
8,
|
||
7,
|
||
9,
|
||
6,
|
||
10,
|
||
5,
|
||
11,
|
||
4,
|
||
12,
|
||
3,
|
||
13,
|
||
2,
|
||
14,
|
||
1,
|
||
15
|
||
],
|
||
of0: [
|
||
3,
|
||
4,
|
||
5,
|
||
6,
|
||
7,
|
||
8,
|
||
9,
|
||
10,
|
||
11,
|
||
13,
|
||
15,
|
||
17,
|
||
19,
|
||
23,
|
||
27,
|
||
31,
|
||
35,
|
||
43,
|
||
51,
|
||
59,
|
||
67,
|
||
83,
|
||
99,
|
||
115,
|
||
131,
|
||
163,
|
||
195,
|
||
227,
|
||
258,
|
||
999,
|
||
999,
|
||
999
|
||
],
|
||
exb: [
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
1,
|
||
1,
|
||
1,
|
||
2,
|
||
2,
|
||
2,
|
||
2,
|
||
3,
|
||
3,
|
||
3,
|
||
3,
|
||
4,
|
||
4,
|
||
4,
|
||
4,
|
||
5,
|
||
5,
|
||
5,
|
||
5,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
ldef: new r(32),
|
||
df0: [
|
||
1,
|
||
2,
|
||
3,
|
||
4,
|
||
5,
|
||
7,
|
||
9,
|
||
13,
|
||
17,
|
||
25,
|
||
33,
|
||
49,
|
||
65,
|
||
97,
|
||
129,
|
||
193,
|
||
257,
|
||
385,
|
||
513,
|
||
769,
|
||
1025,
|
||
1537,
|
||
2049,
|
||
3073,
|
||
4097,
|
||
6145,
|
||
8193,
|
||
12289,
|
||
16385,
|
||
24577,
|
||
65535,
|
||
65535
|
||
],
|
||
dxb: [
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
1,
|
||
2,
|
||
2,
|
||
3,
|
||
3,
|
||
4,
|
||
4,
|
||
5,
|
||
5,
|
||
6,
|
||
6,
|
||
7,
|
||
7,
|
||
8,
|
||
8,
|
||
9,
|
||
9,
|
||
10,
|
||
10,
|
||
11,
|
||
11,
|
||
12,
|
||
12,
|
||
13,
|
||
13,
|
||
0,
|
||
0
|
||
],
|
||
ddef: new i(32),
|
||
flmap: new r(512),
|
||
fltree: [],
|
||
fdmap: new r(32),
|
||
fdtree: [],
|
||
lmap: new r(32768),
|
||
ltree: [],
|
||
ttree: [],
|
||
dmap: new r(32768),
|
||
dtree: [],
|
||
imap: new r(512),
|
||
itree: [],
|
||
rev15: new r(32768),
|
||
lhst: new i(286),
|
||
dhst: new i(30),
|
||
ihst: new i(19),
|
||
lits: new i(15e3),
|
||
strt: new r(65536),
|
||
prev: new r(32768)
|
||
}), function() {
|
||
for(var e = UZIP.F.U, t1 = 0; t1 < 32768; t1++){
|
||
var r = t1;
|
||
r = (4278255360 & (r = (4042322160 & (r = (3435973836 & (r = (2863311530 & r) >>> 1 | (1431655765 & r) << 1)) >>> 2 | (858993459 & r) << 2)) >>> 4 | (252645135 & r) << 4)) >>> 8 | (16711935 & r) << 8, e.rev15[t1] = (r >>> 16 | r << 16) >>> 17;
|
||
}
|
||
function pushV(e, t1, r) {
|
||
for(; 0 != t1--;)e.push(0, r);
|
||
}
|
||
for(t1 = 0; t1 < 32; t1++)e.ldef[t1] = e.of0[t1] << 3 | e.exb[t1], e.ddef[t1] = e.df0[t1] << 4 | e.dxb[t1];
|
||
pushV(e.fltree, 144, 8), pushV(e.fltree, 112, 9), pushV(e.fltree, 24, 7), pushV(e.fltree, 8, 8), UZIP.F.makeCodes(e.fltree, 9), UZIP.F.codes2map(e.fltree, 9, e.flmap), UZIP.F.revCodes(e.fltree, 9), pushV(e.fdtree, 32, 5), UZIP.F.makeCodes(e.fdtree, 5), UZIP.F.codes2map(e.fdtree, 5, e.fdmap), UZIP.F.revCodes(e.fdtree, 5), pushV(e.itree, 19, 0), pushV(e.ltree, 286, 0), pushV(e.dtree, 30, 0), pushV(e.ttree, 320, 0);
|
||
}();
|
||
}();
|
||
var UZIP = _mergeNamespaces({
|
||
__proto__: null,
|
||
default: e
|
||
}, [
|
||
e
|
||
]);
|
||
const UPNG = function() {
|
||
var e = {
|
||
nextZero (e, t1) {
|
||
for(; 0 != e[t1];)t1++;
|
||
return t1;
|
||
},
|
||
readUshort: (e, t1)=>e[t1] << 8 | e[t1 + 1],
|
||
writeUshort (e, t1, r) {
|
||
e[t1] = r >> 8 & 255, e[t1 + 1] = 255 & r;
|
||
},
|
||
readUint: (e, t1)=>16777216 * e[t1] + (e[t1 + 1] << 16 | e[t1 + 2] << 8 | e[t1 + 3]),
|
||
writeUint (e, t1, r) {
|
||
e[t1] = r >> 24 & 255, e[t1 + 1] = r >> 16 & 255, e[t1 + 2] = r >> 8 & 255, e[t1 + 3] = 255 & r;
|
||
},
|
||
readASCII (e, t1, r) {
|
||
let i = "";
|
||
for(let o = 0; o < r; o++)i += String.fromCharCode(e[t1 + o]);
|
||
return i;
|
||
},
|
||
writeASCII (e, t1, r) {
|
||
for(let i = 0; i < r.length; i++)e[t1 + i] = r.charCodeAt(i);
|
||
},
|
||
readBytes (e, t1, r) {
|
||
const i = [];
|
||
for(let o = 0; o < r; o++)i.push(e[t1 + o]);
|
||
return i;
|
||
},
|
||
pad: (e)=>e.length < 2 ? `0${e}` : e,
|
||
readUTF8 (t1, r, i) {
|
||
let o, a = "";
|
||
for(let o = 0; o < i; o++)a += `%${e.pad(t1[r + o].toString(16))}`;
|
||
try {
|
||
o = decodeURIComponent(a);
|
||
} catch (o) {
|
||
return e.readASCII(t1, r, i);
|
||
}
|
||
return o;
|
||
}
|
||
};
|
||
function decodeImage(t1, r, i, o) {
|
||
const a = r * i, s = _getBPP(o), f = Math.ceil(r * s / 8), l = new Uint8Array(4 * a), c = new Uint32Array(l.buffer), { ctype: u } = o, { depth: h } = o, d = e.readUshort;
|
||
if (6 == u) {
|
||
const e = a << 2;
|
||
if (8 == h) for(var A = 0; A < e; A += 4)l[A] = t1[A], l[A + 1] = t1[A + 1], l[A + 2] = t1[A + 2], l[A + 3] = t1[A + 3];
|
||
if (16 == h) for(A = 0; A < e; A++)l[A] = t1[A << 1];
|
||
} else if (2 == u) {
|
||
const e = o.tabs.tRNS;
|
||
if (null == e) {
|
||
if (8 == h) for(A = 0; A < a; A++){
|
||
var g = 3 * A;
|
||
c[A] = 255 << 24 | t1[g + 2] << 16 | t1[g + 1] << 8 | t1[g];
|
||
}
|
||
if (16 == h) for(A = 0; A < a; A++){
|
||
g = 6 * A;
|
||
c[A] = 255 << 24 | t1[g + 4] << 16 | t1[g + 2] << 8 | t1[g];
|
||
}
|
||
} else {
|
||
var p = e[0];
|
||
const r = e[1], i = e[2];
|
||
if (8 == h) for(A = 0; A < a; A++){
|
||
var m = A << 2;
|
||
g = 3 * A;
|
||
c[A] = 255 << 24 | t1[g + 2] << 16 | t1[g + 1] << 8 | t1[g], t1[g] == p && t1[g + 1] == r && t1[g + 2] == i && (l[m + 3] = 0);
|
||
}
|
||
if (16 == h) for(A = 0; A < a; A++){
|
||
m = A << 2, g = 6 * A;
|
||
c[A] = 255 << 24 | t1[g + 4] << 16 | t1[g + 2] << 8 | t1[g], d(t1, g) == p && d(t1, g + 2) == r && d(t1, g + 4) == i && (l[m + 3] = 0);
|
||
}
|
||
}
|
||
} else if (3 == u) {
|
||
const e = o.tabs.PLTE, s = o.tabs.tRNS, c = s ? s.length : 0;
|
||
if (1 == h) for(var w = 0; w < i; w++){
|
||
var v = w * f, b = w * r;
|
||
for(A = 0; A < r; A++){
|
||
m = b + A << 2;
|
||
var y = 3 * (E = t1[v + (A >> 3)] >> 7 - ((7 & A) << 0) & 1);
|
||
l[m] = e[y], l[m + 1] = e[y + 1], l[m + 2] = e[y + 2], l[m + 3] = E < c ? s[E] : 255;
|
||
}
|
||
}
|
||
if (2 == h) for(w = 0; w < i; w++)for(v = w * f, b = w * r, A = 0; A < r; A++){
|
||
m = b + A << 2, y = 3 * (E = t1[v + (A >> 2)] >> 6 - ((3 & A) << 1) & 3);
|
||
l[m] = e[y], l[m + 1] = e[y + 1], l[m + 2] = e[y + 2], l[m + 3] = E < c ? s[E] : 255;
|
||
}
|
||
if (4 == h) for(w = 0; w < i; w++)for(v = w * f, b = w * r, A = 0; A < r; A++){
|
||
m = b + A << 2, y = 3 * (E = t1[v + (A >> 1)] >> 4 - ((1 & A) << 2) & 15);
|
||
l[m] = e[y], l[m + 1] = e[y + 1], l[m + 2] = e[y + 2], l[m + 3] = E < c ? s[E] : 255;
|
||
}
|
||
if (8 == h) for(A = 0; A < a; A++){
|
||
var E;
|
||
m = A << 2, y = 3 * (E = t1[A]);
|
||
l[m] = e[y], l[m + 1] = e[y + 1], l[m + 2] = e[y + 2], l[m + 3] = E < c ? s[E] : 255;
|
||
}
|
||
} else if (4 == u) {
|
||
if (8 == h) for(A = 0; A < a; A++){
|
||
m = A << 2;
|
||
var F = t1[_ = A << 1];
|
||
l[m] = F, l[m + 1] = F, l[m + 2] = F, l[m + 3] = t1[_ + 1];
|
||
}
|
||
if (16 == h) for(A = 0; A < a; A++){
|
||
var _;
|
||
m = A << 2, F = t1[_ = A << 2];
|
||
l[m] = F, l[m + 1] = F, l[m + 2] = F, l[m + 3] = t1[_ + 2];
|
||
}
|
||
} else if (0 == u) for(p = o.tabs.tRNS ? o.tabs.tRNS : -1, w = 0; w < i; w++){
|
||
const e = w * f, i = w * r;
|
||
if (1 == h) for(var B = 0; B < r; B++){
|
||
var U = (F = 255 * (t1[e + (B >>> 3)] >>> 7 - (7 & B) & 1)) == 255 * p ? 0 : 255;
|
||
c[i + B] = U << 24 | F << 16 | F << 8 | F;
|
||
}
|
||
else if (2 == h) for(B = 0; B < r; B++){
|
||
U = (F = 85 * (t1[e + (B >>> 2)] >>> 6 - ((3 & B) << 1) & 3)) == 85 * p ? 0 : 255;
|
||
c[i + B] = U << 24 | F << 16 | F << 8 | F;
|
||
}
|
||
else if (4 == h) for(B = 0; B < r; B++){
|
||
U = (F = 17 * (t1[e + (B >>> 1)] >>> 4 - ((1 & B) << 2) & 15)) == 17 * p ? 0 : 255;
|
||
c[i + B] = U << 24 | F << 16 | F << 8 | F;
|
||
}
|
||
else if (8 == h) for(B = 0; B < r; B++){
|
||
U = (F = t1[e + B]) == p ? 0 : 255;
|
||
c[i + B] = U << 24 | F << 16 | F << 8 | F;
|
||
}
|
||
else if (16 == h) for(B = 0; B < r; B++){
|
||
F = t1[e + (B << 1)], U = d(t1, e + (B << 1)) == p ? 0 : 255;
|
||
c[i + B] = U << 24 | F << 16 | F << 8 | F;
|
||
}
|
||
}
|
||
return l;
|
||
}
|
||
function _decompress(e, r, i, o) {
|
||
const a = _getBPP(e), s = Math.ceil(i * a / 8), f = new Uint8Array((s + 1 + e.interlace) * o);
|
||
return r = e.tabs.CgBI ? t1(r, f) : _inflate(r, f), 0 == e.interlace ? r = _filterZero(r, e, 0, i, o) : 1 == e.interlace && (r = function _readInterlace(e, t1) {
|
||
const r = t1.width, i = t1.height, o = _getBPP(t1), a = o >> 3, s = Math.ceil(r * o / 8), f = new Uint8Array(i * s);
|
||
let l = 0;
|
||
const c = [
|
||
0,
|
||
0,
|
||
4,
|
||
0,
|
||
2,
|
||
0,
|
||
1
|
||
], u = [
|
||
0,
|
||
4,
|
||
0,
|
||
2,
|
||
0,
|
||
1,
|
||
0
|
||
], h = [
|
||
8,
|
||
8,
|
||
8,
|
||
4,
|
||
4,
|
||
2,
|
||
2
|
||
], d = [
|
||
8,
|
||
8,
|
||
4,
|
||
4,
|
||
2,
|
||
2,
|
||
1
|
||
];
|
||
let A = 0;
|
||
for(; A < 7;){
|
||
const p = h[A], m = d[A];
|
||
let w = 0, v = 0, b = c[A];
|
||
for(; b < i;)b += p, v++;
|
||
let y = u[A];
|
||
for(; y < r;)y += m, w++;
|
||
const E = Math.ceil(w * o / 8);
|
||
_filterZero(e, t1, l, w, v);
|
||
let F = 0, _ = c[A];
|
||
for(; _ < i;){
|
||
let t1 = u[A], i = l + F * E << 3;
|
||
for(; t1 < r;){
|
||
var g;
|
||
if (1 == o) g = (g = e[i >> 3]) >> 7 - (7 & i) & 1, f[_ * s + (t1 >> 3)] |= g << 7 - ((7 & t1) << 0);
|
||
if (2 == o) g = (g = e[i >> 3]) >> 6 - (7 & i) & 3, f[_ * s + (t1 >> 2)] |= g << 6 - ((3 & t1) << 1);
|
||
if (4 == o) g = (g = e[i >> 3]) >> 4 - (7 & i) & 15, f[_ * s + (t1 >> 1)] |= g << 4 - ((1 & t1) << 2);
|
||
if (o >= 8) {
|
||
const r = _ * s + t1 * a;
|
||
for(let t1 = 0; t1 < a; t1++)f[r + t1] = e[(i >> 3) + t1];
|
||
}
|
||
i += o, t1 += m;
|
||
}
|
||
F++, _ += p;
|
||
}
|
||
w * v != 0 && (l += v * (1 + E)), A += 1;
|
||
}
|
||
return f;
|
||
}(r, e)), r;
|
||
}
|
||
function _inflate(e, r) {
|
||
return t1(new Uint8Array(e.buffer, 2, e.length - 6), r);
|
||
}
|
||
var t1 = function() {
|
||
const e = {
|
||
H: {}
|
||
};
|
||
return e.H.N = function(t1, r) {
|
||
const i = Uint8Array;
|
||
let o, a, s = 0, f = 0, l = 0, c = 0, u = 0, h = 0, d = 0, A = 0, g = 0;
|
||
if (3 == t1[0] && 0 == t1[1]) return r || new i(0);
|
||
const p = e.H, m = p.b, w = p.e, v = p.R, b = p.n, y = p.A, E = p.Z, F = p.m, _ = null == r;
|
||
for(_ && (r = new i(t1.length >>> 2 << 5)); 0 == s;)if (s = m(t1, g, 1), f = m(t1, g + 1, 2), g += 3, 0 != f) {
|
||
if (_ && (r = e.H.W(r, A + (1 << 17))), 1 == f && (o = F.J, a = F.h, h = 511, d = 31), 2 == f) {
|
||
l = w(t1, g, 5) + 257, c = w(t1, g + 5, 5) + 1, u = w(t1, g + 10, 4) + 4, g += 14;
|
||
let e = 1;
|
||
for(var B = 0; B < 38; B += 2)F.Q[B] = 0, F.Q[B + 1] = 0;
|
||
for(B = 0; B < u; B++){
|
||
const r = w(t1, g + 3 * B, 3);
|
||
F.Q[1 + (F.X[B] << 1)] = r, r > e && (e = r);
|
||
}
|
||
g += 3 * u, b(F.Q, e), y(F.Q, e, F.u), o = F.w, a = F.d, g = v(F.u, (1 << e) - 1, l + c, t1, g, F.v);
|
||
const r = p.V(F.v, 0, l, F.C);
|
||
h = (1 << r) - 1;
|
||
const i = p.V(F.v, l, c, F.D);
|
||
d = (1 << i) - 1, b(F.C, r), y(F.C, r, o), b(F.D, i), y(F.D, i, a);
|
||
}
|
||
for(;;){
|
||
const e = o[E(t1, g) & h];
|
||
g += 15 & e;
|
||
const i = e >>> 4;
|
||
if (i >>> 8 == 0) r[A++] = i;
|
||
else {
|
||
if (256 == i) break;
|
||
{
|
||
let e = A + i - 254;
|
||
if (i > 264) {
|
||
const r = F.q[i - 257];
|
||
e = A + (r >>> 3) + w(t1, g, 7 & r), g += 7 & r;
|
||
}
|
||
const o = a[E(t1, g) & d];
|
||
g += 15 & o;
|
||
const s = o >>> 4, f = F.c[s], l = (f >>> 4) + m(t1, g, 15 & f);
|
||
for(g += 15 & f; A < e;)r[A] = r[A++ - l], r[A] = r[A++ - l], r[A] = r[A++ - l], r[A] = r[A++ - l];
|
||
A = e;
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
0 != (7 & g) && (g += 8 - (7 & g));
|
||
const o = 4 + (g >>> 3), a = t1[o - 4] | t1[o - 3] << 8;
|
||
_ && (r = e.H.W(r, A + a)), r.set(new i(t1.buffer, t1.byteOffset + o, a), A), g = o + a << 3, A += a;
|
||
}
|
||
return r.length == A ? r : r.slice(0, A);
|
||
}, e.H.W = function(e, t1) {
|
||
const r = e.length;
|
||
if (t1 <= r) return e;
|
||
const i = new Uint8Array(r << 1);
|
||
return i.set(e, 0), i;
|
||
}, e.H.R = function(t1, r, i, o, a, s) {
|
||
const f = e.H.e, l = e.H.Z;
|
||
let c = 0;
|
||
for(; c < i;){
|
||
const e = t1[l(o, a) & r];
|
||
a += 15 & e;
|
||
const i = e >>> 4;
|
||
if (i <= 15) s[c] = i, c++;
|
||
else {
|
||
let e = 0, t1 = 0;
|
||
16 == i ? (t1 = 3 + f(o, a, 2), a += 2, e = s[c - 1]) : 17 == i ? (t1 = 3 + f(o, a, 3), a += 3) : 18 == i && (t1 = 11 + f(o, a, 7), a += 7);
|
||
const r = c + t1;
|
||
for(; c < r;)s[c] = e, c++;
|
||
}
|
||
}
|
||
return a;
|
||
}, e.H.V = function(e, t1, r, i) {
|
||
let o = 0, a = 0;
|
||
const s = i.length >>> 1;
|
||
for(; a < r;){
|
||
const r = e[a + t1];
|
||
i[a << 1] = 0, i[1 + (a << 1)] = r, r > o && (o = r), a++;
|
||
}
|
||
for(; a < s;)i[a << 1] = 0, i[1 + (a << 1)] = 0, a++;
|
||
return o;
|
||
}, e.H.n = function(t1, r) {
|
||
const i = e.H.m, o = t1.length;
|
||
let a, s, f;
|
||
let l;
|
||
const c = i.j;
|
||
for(var u = 0; u <= r; u++)c[u] = 0;
|
||
for(u = 1; u < o; u += 2)c[t1[u]]++;
|
||
const h = i.K;
|
||
for(a = 0, c[0] = 0, s = 1; s <= r; s++)a = a + c[s - 1] << 1, h[s] = a;
|
||
for(f = 0; f < o; f += 2)l = t1[f + 1], 0 != l && (t1[f] = h[l], h[l]++);
|
||
}, e.H.A = function(t1, r, i) {
|
||
const o = t1.length, a = e.H.m.r;
|
||
for(let e = 0; e < o; e += 2)if (0 != t1[e + 1]) {
|
||
const o = e >> 1, s = t1[e + 1], f = o << 4 | s, l = r - s;
|
||
let c = t1[e] << l;
|
||
const u = c + (1 << l);
|
||
for(; c != u;){
|
||
i[a[c] >>> 15 - r] = f, c++;
|
||
}
|
||
}
|
||
}, e.H.l = function(t1, r) {
|
||
const i = e.H.m.r, o = 15 - r;
|
||
for(let e = 0; e < t1.length; e += 2){
|
||
const a = t1[e] << r - t1[e + 1];
|
||
t1[e] = i[a] >>> o;
|
||
}
|
||
}, e.H.M = function(e, t1, r) {
|
||
r <<= 7 & t1;
|
||
const i = t1 >>> 3;
|
||
e[i] |= r, e[i + 1] |= r >>> 8;
|
||
}, e.H.I = function(e, t1, r) {
|
||
r <<= 7 & t1;
|
||
const i = t1 >>> 3;
|
||
e[i] |= r, e[i + 1] |= r >>> 8, e[i + 2] |= r >>> 16;
|
||
}, e.H.e = function(e, t1, r) {
|
||
return (e[t1 >>> 3] | e[1 + (t1 >>> 3)] << 8) >>> (7 & t1) & (1 << r) - 1;
|
||
}, e.H.b = function(e, t1, r) {
|
||
return (e[t1 >>> 3] | e[1 + (t1 >>> 3)] << 8 | e[2 + (t1 >>> 3)] << 16) >>> (7 & t1) & (1 << r) - 1;
|
||
}, e.H.Z = function(e, t1) {
|
||
return (e[t1 >>> 3] | e[1 + (t1 >>> 3)] << 8 | e[2 + (t1 >>> 3)] << 16) >>> (7 & t1);
|
||
}, e.H.i = function(e, t1) {
|
||
return (e[t1 >>> 3] | e[1 + (t1 >>> 3)] << 8 | e[2 + (t1 >>> 3)] << 16 | e[3 + (t1 >>> 3)] << 24) >>> (7 & t1);
|
||
}, e.H.m = function() {
|
||
const e = Uint16Array, t1 = Uint32Array;
|
||
return {
|
||
K: new e(16),
|
||
j: new e(16),
|
||
X: [
|
||
16,
|
||
17,
|
||
18,
|
||
0,
|
||
8,
|
||
7,
|
||
9,
|
||
6,
|
||
10,
|
||
5,
|
||
11,
|
||
4,
|
||
12,
|
||
3,
|
||
13,
|
||
2,
|
||
14,
|
||
1,
|
||
15
|
||
],
|
||
S: [
|
||
3,
|
||
4,
|
||
5,
|
||
6,
|
||
7,
|
||
8,
|
||
9,
|
||
10,
|
||
11,
|
||
13,
|
||
15,
|
||
17,
|
||
19,
|
||
23,
|
||
27,
|
||
31,
|
||
35,
|
||
43,
|
||
51,
|
||
59,
|
||
67,
|
||
83,
|
||
99,
|
||
115,
|
||
131,
|
||
163,
|
||
195,
|
||
227,
|
||
258,
|
||
999,
|
||
999,
|
||
999
|
||
],
|
||
T: [
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
1,
|
||
1,
|
||
1,
|
||
2,
|
||
2,
|
||
2,
|
||
2,
|
||
3,
|
||
3,
|
||
3,
|
||
3,
|
||
4,
|
||
4,
|
||
4,
|
||
4,
|
||
5,
|
||
5,
|
||
5,
|
||
5,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
q: new e(32),
|
||
p: [
|
||
1,
|
||
2,
|
||
3,
|
||
4,
|
||
5,
|
||
7,
|
||
9,
|
||
13,
|
||
17,
|
||
25,
|
||
33,
|
||
49,
|
||
65,
|
||
97,
|
||
129,
|
||
193,
|
||
257,
|
||
385,
|
||
513,
|
||
769,
|
||
1025,
|
||
1537,
|
||
2049,
|
||
3073,
|
||
4097,
|
||
6145,
|
||
8193,
|
||
12289,
|
||
16385,
|
||
24577,
|
||
65535,
|
||
65535
|
||
],
|
||
z: [
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
1,
|
||
2,
|
||
2,
|
||
3,
|
||
3,
|
||
4,
|
||
4,
|
||
5,
|
||
5,
|
||
6,
|
||
6,
|
||
7,
|
||
7,
|
||
8,
|
||
8,
|
||
9,
|
||
9,
|
||
10,
|
||
10,
|
||
11,
|
||
11,
|
||
12,
|
||
12,
|
||
13,
|
||
13,
|
||
0,
|
||
0
|
||
],
|
||
c: new t1(32),
|
||
J: new e(512),
|
||
_: [],
|
||
h: new e(32),
|
||
$: [],
|
||
w: new e(32768),
|
||
C: [],
|
||
v: [],
|
||
d: new e(32768),
|
||
D: [],
|
||
u: new e(512),
|
||
Q: [],
|
||
r: new e(32768),
|
||
s: new t1(286),
|
||
Y: new t1(30),
|
||
a: new t1(19),
|
||
t: new t1(15e3),
|
||
k: new e(65536),
|
||
g: new e(32768)
|
||
};
|
||
}(), function() {
|
||
const t1 = e.H.m;
|
||
for(var r = 0; r < 32768; r++){
|
||
let e = r;
|
||
e = (2863311530 & e) >>> 1 | (1431655765 & e) << 1, e = (3435973836 & e) >>> 2 | (858993459 & e) << 2, e = (4042322160 & e) >>> 4 | (252645135 & e) << 4, e = (4278255360 & e) >>> 8 | (16711935 & e) << 8, t1.r[r] = (e >>> 16 | e << 16) >>> 17;
|
||
}
|
||
function n(e, t1, r) {
|
||
for(; 0 != t1--;)e.push(0, r);
|
||
}
|
||
for(r = 0; r < 32; r++)t1.q[r] = t1.S[r] << 3 | t1.T[r], t1.c[r] = t1.p[r] << 4 | t1.z[r];
|
||
n(t1._, 144, 8), n(t1._, 112, 9), n(t1._, 24, 7), n(t1._, 8, 8), e.H.n(t1._, 9), e.H.A(t1._, 9, t1.J), e.H.l(t1._, 9), n(t1.$, 32, 5), e.H.n(t1.$, 5), e.H.A(t1.$, 5, t1.h), e.H.l(t1.$, 5), n(t1.Q, 19, 0), n(t1.C, 286, 0), n(t1.D, 30, 0), n(t1.v, 320, 0);
|
||
}(), e.H.N;
|
||
}();
|
||
function _getBPP(e) {
|
||
return [
|
||
1,
|
||
null,
|
||
3,
|
||
1,
|
||
2,
|
||
null,
|
||
4
|
||
][e.ctype] * e.depth;
|
||
}
|
||
function _filterZero(e, t1, r, i, o) {
|
||
let a = _getBPP(t1);
|
||
const s = Math.ceil(i * a / 8);
|
||
let f, l;
|
||
a = Math.ceil(a / 8);
|
||
let c = e[r], u = 0;
|
||
if (c > 1 && (e[r] = [
|
||
0,
|
||
0,
|
||
1
|
||
][c - 2]), 3 == c) for(u = a; u < s; u++)e[u + 1] = e[u + 1] + (e[u + 1 - a] >>> 1) & 255;
|
||
for(let t1 = 0; t1 < o; t1++)if (f = r + t1 * s, l = f + t1 + 1, c = e[l - 1], u = 0, 0 == c) for(; u < s; u++)e[f + u] = e[l + u];
|
||
else if (1 == c) {
|
||
for(; u < a; u++)e[f + u] = e[l + u];
|
||
for(; u < s; u++)e[f + u] = e[l + u] + e[f + u - a];
|
||
} else if (2 == c) for(; u < s; u++)e[f + u] = e[l + u] + e[f + u - s];
|
||
else if (3 == c) {
|
||
for(; u < a; u++)e[f + u] = e[l + u] + (e[f + u - s] >>> 1);
|
||
for(; u < s; u++)e[f + u] = e[l + u] + (e[f + u - s] + e[f + u - a] >>> 1);
|
||
} else {
|
||
for(; u < a; u++)e[f + u] = e[l + u] + _paeth(0, e[f + u - s], 0);
|
||
for(; u < s; u++)e[f + u] = e[l + u] + _paeth(e[f + u - a], e[f + u - s], e[f + u - a - s]);
|
||
}
|
||
return e;
|
||
}
|
||
function _paeth(e, t1, r) {
|
||
const i = e + t1 - r, o = i - e, a = i - t1, s = i - r;
|
||
return o * o <= a * a && o * o <= s * s ? e : a * a <= s * s ? t1 : r;
|
||
}
|
||
function _IHDR(t1, r, i) {
|
||
i.width = e.readUint(t1, r), r += 4, i.height = e.readUint(t1, r), r += 4, i.depth = t1[r], r++, i.ctype = t1[r], r++, i.compress = t1[r], r++, i.filter = t1[r], r++, i.interlace = t1[r], r++;
|
||
}
|
||
function _copyTile(e, t1, r, i, o, a, s, f, l) {
|
||
const c = Math.min(t1, o), u = Math.min(r, a);
|
||
let h = 0, d = 0;
|
||
for(let r = 0; r < u; r++)for(let a = 0; a < c; a++)if (s >= 0 && f >= 0 ? (h = r * t1 + a << 2, d = (f + r) * o + s + a << 2) : (h = (-f + r) * t1 - s + a << 2, d = r * o + a << 2), 0 == l) i[d] = e[h], i[d + 1] = e[h + 1], i[d + 2] = e[h + 2], i[d + 3] = e[h + 3];
|
||
else if (1 == l) {
|
||
var A = e[h + 3] * (1 / 255), g = e[h] * A, p = e[h + 1] * A, m = e[h + 2] * A, w = i[d + 3] * (1 / 255), v = i[d] * w, b = i[d + 1] * w, y = i[d + 2] * w;
|
||
const t1 = 1 - A, r = A + w * t1, o = 0 == r ? 0 : 1 / r;
|
||
i[d + 3] = 255 * r, i[d + 0] = (g + v * t1) * o, i[d + 1] = (p + b * t1) * o, i[d + 2] = (m + y * t1) * o;
|
||
} else if (2 == l) {
|
||
A = e[h + 3], g = e[h], p = e[h + 1], m = e[h + 2], w = i[d + 3], v = i[d], b = i[d + 1], y = i[d + 2];
|
||
A == w && g == v && p == b && m == y ? (i[d] = 0, i[d + 1] = 0, i[d + 2] = 0, i[d + 3] = 0) : (i[d] = g, i[d + 1] = p, i[d + 2] = m, i[d + 3] = A);
|
||
} else if (3 == l) {
|
||
A = e[h + 3], g = e[h], p = e[h + 1], m = e[h + 2], w = i[d + 3], v = i[d], b = i[d + 1], y = i[d + 2];
|
||
if (A == w && g == v && p == b && m == y) continue;
|
||
if (A < 220 && w > 20) return !1;
|
||
}
|
||
return !0;
|
||
}
|
||
return {
|
||
decode: function decode(r) {
|
||
const i = new Uint8Array(r);
|
||
let o = 8;
|
||
const a = e, s = a.readUshort, f = a.readUint, l = {
|
||
tabs: {},
|
||
frames: []
|
||
}, c = new Uint8Array(i.length);
|
||
let u, h = 0, d = 0;
|
||
const A = [
|
||
137,
|
||
80,
|
||
78,
|
||
71,
|
||
13,
|
||
10,
|
||
26,
|
||
10
|
||
];
|
||
for(var g = 0; g < 8; g++)if (i[g] != A[g]) throw "The input is not a PNG file!";
|
||
for(; o < i.length;){
|
||
const e = a.readUint(i, o);
|
||
o += 4;
|
||
const r = a.readASCII(i, o, 4);
|
||
if (o += 4, "IHDR" == r) _IHDR(i, o, l);
|
||
else if ("iCCP" == r) {
|
||
for(var p = o; 0 != i[p];)p++;
|
||
a.readASCII(i, o, p - o), i[p + 1];
|
||
const s = i.slice(p + 2, o + e);
|
||
let f = null;
|
||
try {
|
||
f = _inflate(s);
|
||
} catch (e) {
|
||
f = t1(s);
|
||
}
|
||
l.tabs[r] = f;
|
||
} else if ("CgBI" == r) l.tabs[r] = i.slice(o, o + 4);
|
||
else if ("IDAT" == r) {
|
||
for(g = 0; g < e; g++)c[h + g] = i[o + g];
|
||
h += e;
|
||
} else if ("acTL" == r) l.tabs[r] = {
|
||
num_frames: f(i, o),
|
||
num_plays: f(i, o + 4)
|
||
}, u = new Uint8Array(i.length);
|
||
else if ("fcTL" == r) {
|
||
if (0 != d) (E = l.frames[l.frames.length - 1]).data = _decompress(l, u.slice(0, d), E.rect.width, E.rect.height), d = 0;
|
||
const e = {
|
||
x: f(i, o + 12),
|
||
y: f(i, o + 16),
|
||
width: f(i, o + 4),
|
||
height: f(i, o + 8)
|
||
};
|
||
let t1 = s(i, o + 22);
|
||
t1 = s(i, o + 20) / (0 == t1 ? 100 : t1);
|
||
const r = {
|
||
rect: e,
|
||
delay: Math.round(1e3 * t1),
|
||
dispose: i[o + 24],
|
||
blend: i[o + 25]
|
||
};
|
||
l.frames.push(r);
|
||
} else if ("fdAT" == r) {
|
||
for(g = 0; g < e - 4; g++)u[d + g] = i[o + g + 4];
|
||
d += e - 4;
|
||
} else if ("pHYs" == r) l.tabs[r] = [
|
||
a.readUint(i, o),
|
||
a.readUint(i, o + 4),
|
||
i[o + 8]
|
||
];
|
||
else if ("cHRM" == r) {
|
||
l.tabs[r] = [];
|
||
for(g = 0; g < 8; g++)l.tabs[r].push(a.readUint(i, o + 4 * g));
|
||
} else if ("tEXt" == r || "zTXt" == r) {
|
||
null == l.tabs[r] && (l.tabs[r] = {});
|
||
var m = a.nextZero(i, o), w = a.readASCII(i, o, m - o), v = o + e - m - 1;
|
||
if ("tEXt" == r) y = a.readASCII(i, m + 1, v);
|
||
else {
|
||
var b = _inflate(i.slice(m + 2, m + 2 + v));
|
||
y = a.readUTF8(b, 0, b.length);
|
||
}
|
||
l.tabs[r][w] = y;
|
||
} else if ("iTXt" == r) {
|
||
null == l.tabs[r] && (l.tabs[r] = {});
|
||
m = 0, p = o;
|
||
m = a.nextZero(i, p);
|
||
w = a.readASCII(i, p, m - p);
|
||
const t1 = i[p = m + 1];
|
||
var y;
|
||
i[p + 1], p += 2, m = a.nextZero(i, p), a.readASCII(i, p, m - p), p = m + 1, m = a.nextZero(i, p), a.readUTF8(i, p, m - p);
|
||
v = e - ((p = m + 1) - o);
|
||
if (0 == t1) y = a.readUTF8(i, p, v);
|
||
else {
|
||
b = _inflate(i.slice(p, p + v));
|
||
y = a.readUTF8(b, 0, b.length);
|
||
}
|
||
l.tabs[r][w] = y;
|
||
} else if ("PLTE" == r) l.tabs[r] = a.readBytes(i, o, e);
|
||
else if ("hIST" == r) {
|
||
const e = l.tabs.PLTE.length / 3;
|
||
l.tabs[r] = [];
|
||
for(g = 0; g < e; g++)l.tabs[r].push(s(i, o + 2 * g));
|
||
} else if ("tRNS" == r) 3 == l.ctype ? l.tabs[r] = a.readBytes(i, o, e) : 0 == l.ctype ? l.tabs[r] = s(i, o) : 2 == l.ctype && (l.tabs[r] = [
|
||
s(i, o),
|
||
s(i, o + 2),
|
||
s(i, o + 4)
|
||
]);
|
||
else if ("gAMA" == r) l.tabs[r] = a.readUint(i, o) / 1e5;
|
||
else if ("sRGB" == r) l.tabs[r] = i[o];
|
||
else if ("bKGD" == r) 0 == l.ctype || 4 == l.ctype ? l.tabs[r] = [
|
||
s(i, o)
|
||
] : 2 == l.ctype || 6 == l.ctype ? l.tabs[r] = [
|
||
s(i, o),
|
||
s(i, o + 2),
|
||
s(i, o + 4)
|
||
] : 3 == l.ctype && (l.tabs[r] = i[o]);
|
||
else if ("IEND" == r) break;
|
||
o += e, a.readUint(i, o), o += 4;
|
||
}
|
||
var E;
|
||
return 0 != d && ((E = l.frames[l.frames.length - 1]).data = _decompress(l, u.slice(0, d), E.rect.width, E.rect.height)), l.data = _decompress(l, c, l.width, l.height), delete l.compress, delete l.interlace, delete l.filter, l;
|
||
},
|
||
toRGBA8: function toRGBA8(e) {
|
||
const t1 = e.width, r = e.height;
|
||
if (null == e.tabs.acTL) return [
|
||
decodeImage(e.data, t1, r, e).buffer
|
||
];
|
||
const i = [];
|
||
null == e.frames[0].data && (e.frames[0].data = e.data);
|
||
const o = t1 * r * 4, a = new Uint8Array(o), s = new Uint8Array(o), f = new Uint8Array(o);
|
||
for(let c = 0; c < e.frames.length; c++){
|
||
const u = e.frames[c], h = u.rect.x, d = u.rect.y, A = u.rect.width, g = u.rect.height, p = decodeImage(u.data, A, g, e);
|
||
if (0 != c) for(var l = 0; l < o; l++)f[l] = a[l];
|
||
if (0 == u.blend ? _copyTile(p, A, g, a, t1, r, h, d, 0) : 1 == u.blend && _copyTile(p, A, g, a, t1, r, h, d, 1), i.push(a.buffer.slice(0)), 0 == u.dispose) ;
|
||
else if (1 == u.dispose) _copyTile(s, A, g, a, t1, r, h, d, 0);
|
||
else if (2 == u.dispose) for(l = 0; l < o; l++)a[l] = f[l];
|
||
}
|
||
return i;
|
||
},
|
||
_paeth: _paeth,
|
||
_copyTile: _copyTile,
|
||
_bin: e
|
||
};
|
||
}();
|
||
!function() {
|
||
const { _copyTile: e } = UPNG, { _bin: t1 } = UPNG, r = UPNG._paeth;
|
||
var i = {
|
||
table: function() {
|
||
const e = new Uint32Array(256);
|
||
for(let t1 = 0; t1 < 256; t1++){
|
||
let r = t1;
|
||
for(let e = 0; e < 8; e++)1 & r ? r = 3988292384 ^ r >>> 1 : r >>>= 1;
|
||
e[t1] = r;
|
||
}
|
||
return e;
|
||
}(),
|
||
update (e, t1, r, o) {
|
||
for(let a = 0; a < o; a++)e = i.table[255 & (e ^ t1[r + a])] ^ e >>> 8;
|
||
return e;
|
||
},
|
||
crc: (e, t1, r)=>4294967295 ^ i.update(4294967295, e, t1, r)
|
||
};
|
||
function addErr(e, t1, r, i) {
|
||
t1[r] += e[0] * i >> 4, t1[r + 1] += e[1] * i >> 4, t1[r + 2] += e[2] * i >> 4, t1[r + 3] += e[3] * i >> 4;
|
||
}
|
||
function N(e) {
|
||
return Math.max(0, Math.min(255, e));
|
||
}
|
||
function D(e, t1) {
|
||
const r = e[0] - t1[0], i = e[1] - t1[1], o = e[2] - t1[2], a = e[3] - t1[3];
|
||
return r * r + i * i + o * o + a * a;
|
||
}
|
||
function dither(e, t1, r, i, o, a, s) {
|
||
null == s && (s = 1);
|
||
const f = i.length, l = [];
|
||
for(var c = 0; c < f; c++){
|
||
const e = i[c];
|
||
l.push([
|
||
e >>> 0 & 255,
|
||
e >>> 8 & 255,
|
||
e >>> 16 & 255,
|
||
e >>> 24 & 255
|
||
]);
|
||
}
|
||
for(c = 0; c < f; c++){
|
||
let e = 4294967295;
|
||
for(var u = 0, h = 0; h < f; h++){
|
||
var d = D(l[c], l[h]);
|
||
h != c && d < e && (e = d, u = h);
|
||
}
|
||
}
|
||
const A = new Uint32Array(o.buffer), g = new Int16Array(t1 * r * 4), p = [
|
||
0,
|
||
8,
|
||
2,
|
||
10,
|
||
12,
|
||
4,
|
||
14,
|
||
6,
|
||
3,
|
||
11,
|
||
1,
|
||
9,
|
||
15,
|
||
7,
|
||
13,
|
||
5
|
||
];
|
||
for(c = 0; c < p.length; c++)p[c] = 255 * ((p[c] + .5) / 16 - .5);
|
||
for(let o = 0; o < r; o++)for(let w = 0; w < t1; w++){
|
||
var m;
|
||
c = 4 * (o * t1 + w);
|
||
if (2 != s) m = [
|
||
N(e[c] + g[c]),
|
||
N(e[c + 1] + g[c + 1]),
|
||
N(e[c + 2] + g[c + 2]),
|
||
N(e[c + 3] + g[c + 3])
|
||
];
|
||
else {
|
||
d = p[4 * (3 & o) + (3 & w)];
|
||
m = [
|
||
N(e[c] + d),
|
||
N(e[c + 1] + d),
|
||
N(e[c + 2] + d),
|
||
N(e[c + 3] + d)
|
||
];
|
||
}
|
||
u = 0;
|
||
let v = 16777215;
|
||
for(h = 0; h < f; h++){
|
||
const e = D(m, l[h]);
|
||
e < v && (v = e, u = h);
|
||
}
|
||
const b = l[u], y = [
|
||
m[0] - b[0],
|
||
m[1] - b[1],
|
||
m[2] - b[2],
|
||
m[3] - b[3]
|
||
];
|
||
1 == s && (w != t1 - 1 && addErr(y, g, c + 4, 7), o != r - 1 && (0 != w && addErr(y, g, c + 4 * t1 - 4, 3), addErr(y, g, c + 4 * t1, 5), w != t1 - 1 && addErr(y, g, c + 4 * t1 + 4, 1))), a[c >> 2] = u, A[c >> 2] = i[u];
|
||
}
|
||
}
|
||
function _main(e, r, o, a, s) {
|
||
null == s && (s = {});
|
||
const { crc: f } = i, l = t1.writeUint, c = t1.writeUshort, u = t1.writeASCII;
|
||
let h = 8;
|
||
const d = e.frames.length > 1;
|
||
let A, g = !1, p = 33 + (d ? 20 : 0);
|
||
if (null != s.sRGB && (p += 13), null != s.pHYs && (p += 21), null != s.iCCP && (A = pako.deflate(s.iCCP), p += 21 + A.length + 4), 3 == e.ctype) {
|
||
for(var m = e.plte.length, w = 0; w < m; w++)e.plte[w] >>> 24 != 255 && (g = !0);
|
||
p += 8 + 3 * m + 4 + (g ? 8 + 1 * m + 4 : 0);
|
||
}
|
||
for(var v = 0; v < e.frames.length; v++){
|
||
d && (p += 38), p += (F = e.frames[v]).cimg.length + 12, 0 != v && (p += 4);
|
||
}
|
||
p += 12;
|
||
const b = new Uint8Array(p), y = [
|
||
137,
|
||
80,
|
||
78,
|
||
71,
|
||
13,
|
||
10,
|
||
26,
|
||
10
|
||
];
|
||
for(w = 0; w < 8; w++)b[w] = y[w];
|
||
if (l(b, h, 13), h += 4, u(b, h, "IHDR"), h += 4, l(b, h, r), h += 4, l(b, h, o), h += 4, b[h] = e.depth, h++, b[h] = e.ctype, h++, b[h] = 0, h++, b[h] = 0, h++, b[h] = 0, h++, l(b, h, f(b, h - 17, 17)), h += 4, null != s.sRGB && (l(b, h, 1), h += 4, u(b, h, "sRGB"), h += 4, b[h] = s.sRGB, h++, l(b, h, f(b, h - 5, 5)), h += 4), null != s.iCCP) {
|
||
const e = 13 + A.length;
|
||
l(b, h, e), h += 4, u(b, h, "iCCP"), h += 4, u(b, h, "ICC profile"), h += 11, h += 2, b.set(A, h), h += A.length, l(b, h, f(b, h - (e + 4), e + 4)), h += 4;
|
||
}
|
||
if (null != s.pHYs && (l(b, h, 9), h += 4, u(b, h, "pHYs"), h += 4, l(b, h, s.pHYs[0]), h += 4, l(b, h, s.pHYs[1]), h += 4, b[h] = s.pHYs[2], h++, l(b, h, f(b, h - 13, 13)), h += 4), d && (l(b, h, 8), h += 4, u(b, h, "acTL"), h += 4, l(b, h, e.frames.length), h += 4, l(b, h, null != s.loop ? s.loop : 0), h += 4, l(b, h, f(b, h - 12, 12)), h += 4), 3 == e.ctype) {
|
||
l(b, h, 3 * (m = e.plte.length)), h += 4, u(b, h, "PLTE"), h += 4;
|
||
for(w = 0; w < m; w++){
|
||
const t1 = 3 * w, r = e.plte[w], i = 255 & r, o = r >>> 8 & 255, a = r >>> 16 & 255;
|
||
b[h + t1 + 0] = i, b[h + t1 + 1] = o, b[h + t1 + 2] = a;
|
||
}
|
||
if (h += 3 * m, l(b, h, f(b, h - 3 * m - 4, 3 * m + 4)), h += 4, g) {
|
||
l(b, h, m), h += 4, u(b, h, "tRNS"), h += 4;
|
||
for(w = 0; w < m; w++)b[h + w] = e.plte[w] >>> 24 & 255;
|
||
h += m, l(b, h, f(b, h - m - 4, m + 4)), h += 4;
|
||
}
|
||
}
|
||
let E = 0;
|
||
for(v = 0; v < e.frames.length; v++){
|
||
var F = e.frames[v];
|
||
d && (l(b, h, 26), h += 4, u(b, h, "fcTL"), h += 4, l(b, h, E++), h += 4, l(b, h, F.rect.width), h += 4, l(b, h, F.rect.height), h += 4, l(b, h, F.rect.x), h += 4, l(b, h, F.rect.y), h += 4, c(b, h, a[v]), h += 2, c(b, h, 1e3), h += 2, b[h] = F.dispose, h++, b[h] = F.blend, h++, l(b, h, f(b, h - 30, 30)), h += 4);
|
||
const t1 = F.cimg;
|
||
l(b, h, (m = t1.length) + (0 == v ? 0 : 4)), h += 4;
|
||
const r = h;
|
||
u(b, h, 0 == v ? "IDAT" : "fdAT"), h += 4, 0 != v && (l(b, h, E++), h += 4), b.set(t1, h), h += m, l(b, h, f(b, r, h - r)), h += 4;
|
||
}
|
||
return l(b, h, 0), h += 4, u(b, h, "IEND"), h += 4, l(b, h, f(b, h - 4, 4)), h += 4, b.buffer;
|
||
}
|
||
function compressPNG(e, t1, r) {
|
||
for(let i = 0; i < e.frames.length; i++){
|
||
const o = e.frames[i];
|
||
o.rect.width;
|
||
const a = o.rect.height, s = new Uint8Array(a * o.bpl + a);
|
||
o.cimg = _filterZero(o.img, a, o.bpp, o.bpl, s, t1, r);
|
||
}
|
||
}
|
||
function compress(t1, r, i, o, a) {
|
||
const s = a[0], f = a[1], l = a[2], c = a[3], u = a[4], h = a[5];
|
||
let d = 6, A = 8, g = 255;
|
||
for(var p = 0; p < t1.length; p++){
|
||
const e = new Uint8Array(t1[p]);
|
||
for(var m = e.length, w = 0; w < m; w += 4)g &= e[w + 3];
|
||
}
|
||
const v = 255 != g, b = function framize(t1, r, i, o, a, s) {
|
||
const f = [];
|
||
for(var l = 0; l < t1.length; l++){
|
||
const h = new Uint8Array(t1[l]), A = new Uint32Array(h.buffer);
|
||
var c;
|
||
let g = 0, p = 0, m = r, w = i, v = o ? 1 : 0;
|
||
if (0 != l) {
|
||
const b = s || o || 1 == l || 0 != f[l - 2].dispose ? 1 : 2;
|
||
let y = 0, E = 1e9;
|
||
for(let e = 0; e < b; e++){
|
||
var u = new Uint8Array(t1[l - 1 - e]);
|
||
const o = new Uint32Array(t1[l - 1 - e]);
|
||
let s = r, f = i, c = -1, h = -1;
|
||
for(let e = 0; e < i; e++)for(let t1 = 0; t1 < r; t1++){
|
||
A[d = e * r + t1] != o[d] && (t1 < s && (s = t1), t1 > c && (c = t1), e < f && (f = e), e > h && (h = e));
|
||
}
|
||
-1 == c && (s = f = c = h = 0), a && (1 == (1 & s) && s--, 1 == (1 & f) && f--);
|
||
const v = (c - s + 1) * (h - f + 1);
|
||
v < E && (E = v, y = e, g = s, p = f, m = c - s + 1, w = h - f + 1);
|
||
}
|
||
u = new Uint8Array(t1[l - 1 - y]);
|
||
1 == y && (f[l - 1].dispose = 2), c = new Uint8Array(m * w * 4), e(u, r, i, c, m, w, -g, -p, 0), v = e(h, r, i, c, m, w, -g, -p, 3) ? 1 : 0, 1 == v ? _prepareDiff(h, r, i, c, {
|
||
x: g,
|
||
y: p,
|
||
width: m,
|
||
height: w
|
||
}) : e(h, r, i, c, m, w, -g, -p, 0);
|
||
} else c = h.slice(0);
|
||
f.push({
|
||
rect: {
|
||
x: g,
|
||
y: p,
|
||
width: m,
|
||
height: w
|
||
},
|
||
img: c,
|
||
blend: v,
|
||
dispose: 0
|
||
});
|
||
}
|
||
if (o) for(l = 0; l < f.length; l++){
|
||
if (1 == (A = f[l]).blend) continue;
|
||
const e = A.rect, o = f[l - 1].rect, s = Math.min(e.x, o.x), c = Math.min(e.y, o.y), u = {
|
||
x: s,
|
||
y: c,
|
||
width: Math.max(e.x + e.width, o.x + o.width) - s,
|
||
height: Math.max(e.y + e.height, o.y + o.height) - c
|
||
};
|
||
f[l - 1].dispose = 1, l - 1 != 0 && _updateFrame(t1, r, i, f, l - 1, u, a), _updateFrame(t1, r, i, f, l, u, a);
|
||
}
|
||
let h = 0;
|
||
if (1 != t1.length) for(var d = 0; d < f.length; d++){
|
||
var A;
|
||
h += (A = f[d]).rect.width * A.rect.height;
|
||
}
|
||
return f;
|
||
}(t1, r, i, s, f, l), y = {}, E = [], F = [];
|
||
if (0 != o) {
|
||
const e = [];
|
||
for(w = 0; w < b.length; w++)e.push(b[w].img.buffer);
|
||
const t1 = function concatRGBA(e) {
|
||
let t1 = 0;
|
||
for(var r = 0; r < e.length; r++)t1 += e[r].byteLength;
|
||
const i = new Uint8Array(t1);
|
||
let o = 0;
|
||
for(r = 0; r < e.length; r++){
|
||
const t1 = new Uint8Array(e[r]), a = t1.length;
|
||
for(let e = 0; e < a; e += 4){
|
||
let r = t1[e], a = t1[e + 1], s = t1[e + 2];
|
||
const f = t1[e + 3];
|
||
0 == f && (r = a = s = 0), i[o + e] = r, i[o + e + 1] = a, i[o + e + 2] = s, i[o + e + 3] = f;
|
||
}
|
||
o += a;
|
||
}
|
||
return i.buffer;
|
||
}(e), r = quantize(t1, o);
|
||
for(w = 0; w < r.plte.length; w++)E.push(r.plte[w].est.rgba);
|
||
let i = 0;
|
||
for(w = 0; w < b.length; w++){
|
||
const e = (B = b[w]).img.length;
|
||
var _ = new Uint8Array(r.inds.buffer, i >> 2, e >> 2);
|
||
F.push(_);
|
||
const t1 = new Uint8Array(r.abuf, i, e);
|
||
h && dither(B.img, B.rect.width, B.rect.height, E, t1, _), B.img.set(t1), i += e;
|
||
}
|
||
} else for(p = 0; p < b.length; p++){
|
||
var B = b[p];
|
||
const e = new Uint32Array(B.img.buffer);
|
||
var U = B.rect.width;
|
||
m = e.length, _ = new Uint8Array(m);
|
||
F.push(_);
|
||
for(w = 0; w < m; w++){
|
||
const t1 = e[w];
|
||
if (0 != w && t1 == e[w - 1]) _[w] = _[w - 1];
|
||
else if (w > U && t1 == e[w - U]) _[w] = _[w - U];
|
||
else {
|
||
let e = y[t1];
|
||
if (null == e && (y[t1] = e = E.length, E.push(t1), E.length >= 300)) break;
|
||
_[w] = e;
|
||
}
|
||
}
|
||
}
|
||
const C = E.length;
|
||
C <= 256 && 0 == u && (A = C <= 2 ? 1 : C <= 4 ? 2 : C <= 16 ? 4 : 8, A = Math.max(A, c));
|
||
for(p = 0; p < b.length; p++){
|
||
(B = b[p]).rect.x, B.rect.y;
|
||
U = B.rect.width;
|
||
const e = B.rect.height;
|
||
let t1 = B.img;
|
||
new Uint32Array(t1.buffer);
|
||
let r = 4 * U, i = 4;
|
||
if (C <= 256 && 0 == u) {
|
||
r = Math.ceil(A * U / 8);
|
||
var I = new Uint8Array(r * e);
|
||
const o = F[p];
|
||
for(let t1 = 0; t1 < e; t1++){
|
||
w = t1 * r;
|
||
const e = t1 * U;
|
||
if (8 == A) for(var Q = 0; Q < U; Q++)I[w + Q] = o[e + Q];
|
||
else if (4 == A) for(Q = 0; Q < U; Q++)I[w + (Q >> 1)] |= o[e + Q] << 4 - 4 * (1 & Q);
|
||
else if (2 == A) for(Q = 0; Q < U; Q++)I[w + (Q >> 2)] |= o[e + Q] << 6 - 2 * (3 & Q);
|
||
else if (1 == A) for(Q = 0; Q < U; Q++)I[w + (Q >> 3)] |= o[e + Q] << 7 - 1 * (7 & Q);
|
||
}
|
||
t1 = I, d = 3, i = 1;
|
||
} else if (0 == v && 1 == b.length) {
|
||
I = new Uint8Array(U * e * 3);
|
||
const o = U * e;
|
||
for(w = 0; w < o; w++){
|
||
const e = 3 * w, r = 4 * w;
|
||
I[e] = t1[r], I[e + 1] = t1[r + 1], I[e + 2] = t1[r + 2];
|
||
}
|
||
t1 = I, d = 2, i = 3, r = 3 * U;
|
||
}
|
||
B.img = t1, B.bpl = r, B.bpp = i;
|
||
}
|
||
return {
|
||
ctype: d,
|
||
depth: A,
|
||
plte: E,
|
||
frames: b
|
||
};
|
||
}
|
||
function _updateFrame(t1, r, i, o, a, s, f) {
|
||
const l = Uint8Array, c = Uint32Array, u = new l(t1[a - 1]), h = new c(t1[a - 1]), d = a + 1 < t1.length ? new l(t1[a + 1]) : null, A = new l(t1[a]), g = new c(A.buffer);
|
||
let p = r, m = i, w = -1, v = -1;
|
||
for(let e = 0; e < s.height; e++)for(let t1 = 0; t1 < s.width; t1++){
|
||
const i = s.x + t1, f = s.y + e, l = f * r + i, c = g[l];
|
||
0 == c || 0 == o[a - 1].dispose && h[l] == c && (null == d || 0 != d[4 * l + 3]) || (i < p && (p = i), i > w && (w = i), f < m && (m = f), f > v && (v = f));
|
||
}
|
||
-1 == w && (p = m = w = v = 0), f && (1 == (1 & p) && p--, 1 == (1 & m) && m--), s = {
|
||
x: p,
|
||
y: m,
|
||
width: w - p + 1,
|
||
height: v - m + 1
|
||
};
|
||
const b = o[a];
|
||
b.rect = s, b.blend = 1, b.img = new Uint8Array(s.width * s.height * 4), 0 == o[a - 1].dispose ? (e(u, r, i, b.img, s.width, s.height, -s.x, -s.y, 0), _prepareDiff(A, r, i, b.img, s)) : e(A, r, i, b.img, s.width, s.height, -s.x, -s.y, 0);
|
||
}
|
||
function _prepareDiff(t1, r, i, o, a) {
|
||
e(t1, r, i, o, a.width, a.height, -a.x, -a.y, 2);
|
||
}
|
||
function _filterZero(e, t1, r, i, o, a, s) {
|
||
const f = [];
|
||
let l, c = [
|
||
0,
|
||
1,
|
||
2,
|
||
3,
|
||
4
|
||
];
|
||
-1 != a ? c = [
|
||
a
|
||
] : (t1 * i > 5e5 || 1 == r) && (c = [
|
||
0
|
||
]), s && (l = {
|
||
level: 0
|
||
});
|
||
const u = UZIP;
|
||
for(var h = 0; h < c.length; h++){
|
||
for(let a = 0; a < t1; a++)_filterLine(o, e, a, i, r, c[h]);
|
||
f.push(u.deflate(o, l));
|
||
}
|
||
let d, A = 1e9;
|
||
for(h = 0; h < f.length; h++)f[h].length < A && (d = h, A = f[h].length);
|
||
return f[d];
|
||
}
|
||
function _filterLine(e, t1, i, o, a, s) {
|
||
const f = i * o;
|
||
let l = f + i;
|
||
if (e[l] = s, l++, 0 == s) if (o < 500) for(var c = 0; c < o; c++)e[l + c] = t1[f + c];
|
||
else e.set(new Uint8Array(t1.buffer, f, o), l);
|
||
else if (1 == s) {
|
||
for(c = 0; c < a; c++)e[l + c] = t1[f + c];
|
||
for(c = a; c < o; c++)e[l + c] = t1[f + c] - t1[f + c - a] + 256 & 255;
|
||
} else if (0 == i) {
|
||
for(c = 0; c < a; c++)e[l + c] = t1[f + c];
|
||
if (2 == s) for(c = a; c < o; c++)e[l + c] = t1[f + c];
|
||
if (3 == s) for(c = a; c < o; c++)e[l + c] = t1[f + c] - (t1[f + c - a] >> 1) + 256 & 255;
|
||
if (4 == s) for(c = a; c < o; c++)e[l + c] = t1[f + c] - r(t1[f + c - a], 0, 0) + 256 & 255;
|
||
} else {
|
||
if (2 == s) for(c = 0; c < o; c++)e[l + c] = t1[f + c] + 256 - t1[f + c - o] & 255;
|
||
if (3 == s) {
|
||
for(c = 0; c < a; c++)e[l + c] = t1[f + c] + 256 - (t1[f + c - o] >> 1) & 255;
|
||
for(c = a; c < o; c++)e[l + c] = t1[f + c] + 256 - (t1[f + c - o] + t1[f + c - a] >> 1) & 255;
|
||
}
|
||
if (4 == s) {
|
||
for(c = 0; c < a; c++)e[l + c] = t1[f + c] + 256 - r(0, t1[f + c - o], 0) & 255;
|
||
for(c = a; c < o; c++)e[l + c] = t1[f + c] + 256 - r(t1[f + c - a], t1[f + c - o], t1[f + c - a - o]) & 255;
|
||
}
|
||
}
|
||
}
|
||
function quantize(e, t1) {
|
||
const r = new Uint8Array(e), i = r.slice(0), o = new Uint32Array(i.buffer), a = getKDtree(i, t1), s = a[0], f = a[1], l = r.length, c = new Uint8Array(l >> 2);
|
||
let u;
|
||
if (r.length < 2e7) for(var h = 0; h < l; h += 4){
|
||
u = getNearest(s, d = r[h] * (1 / 255), A = r[h + 1] * (1 / 255), g = r[h + 2] * (1 / 255), p = r[h + 3] * (1 / 255)), c[h >> 2] = u.ind, o[h >> 2] = u.est.rgba;
|
||
}
|
||
else for(h = 0; h < l; h += 4){
|
||
var d = r[h] * (1 / 255), A = r[h + 1] * (1 / 255), g = r[h + 2] * (1 / 255), p = r[h + 3] * (1 / 255);
|
||
for(u = s; u.left;)u = planeDst(u.est, d, A, g, p) <= 0 ? u.left : u.right;
|
||
c[h >> 2] = u.ind, o[h >> 2] = u.est.rgba;
|
||
}
|
||
return {
|
||
abuf: i.buffer,
|
||
inds: c,
|
||
plte: f
|
||
};
|
||
}
|
||
function getKDtree(e, t1, r) {
|
||
null == r && (r = 1e-4);
|
||
const i = new Uint32Array(e.buffer), o = {
|
||
i0: 0,
|
||
i1: e.length,
|
||
bst: null,
|
||
est: null,
|
||
tdst: 0,
|
||
left: null,
|
||
right: null
|
||
};
|
||
o.bst = stats(e, o.i0, o.i1), o.est = estats(o.bst);
|
||
const a = [
|
||
o
|
||
];
|
||
for(; a.length < t1;){
|
||
let t1 = 0, o = 0;
|
||
for(var s = 0; s < a.length; s++)a[s].est.L > t1 && (t1 = a[s].est.L, o = s);
|
||
if (t1 < r) break;
|
||
const f = a[o], l = splitPixels(e, i, f.i0, f.i1, f.est.e, f.est.eMq255);
|
||
if (f.i0 >= l || f.i1 <= l) {
|
||
f.est.L = 0;
|
||
continue;
|
||
}
|
||
const c = {
|
||
i0: f.i0,
|
||
i1: l,
|
||
bst: null,
|
||
est: null,
|
||
tdst: 0,
|
||
left: null,
|
||
right: null
|
||
};
|
||
c.bst = stats(e, c.i0, c.i1), c.est = estats(c.bst);
|
||
const u = {
|
||
i0: l,
|
||
i1: f.i1,
|
||
bst: null,
|
||
est: null,
|
||
tdst: 0,
|
||
left: null,
|
||
right: null
|
||
};
|
||
u.bst = {
|
||
R: [],
|
||
m: [],
|
||
N: f.bst.N - c.bst.N
|
||
};
|
||
for(s = 0; s < 16; s++)u.bst.R[s] = f.bst.R[s] - c.bst.R[s];
|
||
for(s = 0; s < 4; s++)u.bst.m[s] = f.bst.m[s] - c.bst.m[s];
|
||
u.est = estats(u.bst), f.left = c, f.right = u, a[o] = c, a.push(u);
|
||
}
|
||
a.sort((e, t1)=>t1.bst.N - e.bst.N);
|
||
for(s = 0; s < a.length; s++)a[s].ind = s;
|
||
return [
|
||
o,
|
||
a
|
||
];
|
||
}
|
||
function getNearest(e, t1, r, i, o) {
|
||
if (null == e.left) return e.tdst = function dist(e, t1, r, i, o) {
|
||
const a = t1 - e[0], s = r - e[1], f = i - e[2], l = o - e[3];
|
||
return a * a + s * s + f * f + l * l;
|
||
}(e.est.q, t1, r, i, o), e;
|
||
const a = planeDst(e.est, t1, r, i, o);
|
||
let s = e.left, f = e.right;
|
||
a > 0 && (s = e.right, f = e.left);
|
||
const l = getNearest(s, t1, r, i, o);
|
||
if (l.tdst <= a * a) return l;
|
||
const c = getNearest(f, t1, r, i, o);
|
||
return c.tdst < l.tdst ? c : l;
|
||
}
|
||
function planeDst(e, t1, r, i, o) {
|
||
const { e: a } = e;
|
||
return a[0] * t1 + a[1] * r + a[2] * i + a[3] * o - e.eMq;
|
||
}
|
||
function splitPixels(e, t1, r, i, o, a) {
|
||
for(i -= 4; r < i;){
|
||
for(; vecDot(e, r, o) <= a;)r += 4;
|
||
for(; vecDot(e, i, o) > a;)i -= 4;
|
||
if (r >= i) break;
|
||
const s = t1[r >> 2];
|
||
t1[r >> 2] = t1[i >> 2], t1[i >> 2] = s, r += 4, i -= 4;
|
||
}
|
||
for(; vecDot(e, r, o) > a;)r -= 4;
|
||
return r + 4;
|
||
}
|
||
function vecDot(e, t1, r) {
|
||
return e[t1] * r[0] + e[t1 + 1] * r[1] + e[t1 + 2] * r[2] + e[t1 + 3] * r[3];
|
||
}
|
||
function stats(e, t1, r) {
|
||
const i = [
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
], o = [
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
], a = r - t1 >> 2;
|
||
for(let a = t1; a < r; a += 4){
|
||
const t1 = e[a] * (1 / 255), r = e[a + 1] * (1 / 255), s = e[a + 2] * (1 / 255), f = e[a + 3] * (1 / 255);
|
||
o[0] += t1, o[1] += r, o[2] += s, o[3] += f, i[0] += t1 * t1, i[1] += t1 * r, i[2] += t1 * s, i[3] += t1 * f, i[5] += r * r, i[6] += r * s, i[7] += r * f, i[10] += s * s, i[11] += s * f, i[15] += f * f;
|
||
}
|
||
return i[4] = i[1], i[8] = i[2], i[9] = i[6], i[12] = i[3], i[13] = i[7], i[14] = i[11], {
|
||
R: i,
|
||
m: o,
|
||
N: a
|
||
};
|
||
}
|
||
function estats(e) {
|
||
const { R: t1 } = e, { m: r } = e, { N: i } = e, a = r[0], s = r[1], f = r[2], l = r[3], c = 0 == i ? 0 : 1 / i, u = [
|
||
t1[0] - a * a * c,
|
||
t1[1] - a * s * c,
|
||
t1[2] - a * f * c,
|
||
t1[3] - a * l * c,
|
||
t1[4] - s * a * c,
|
||
t1[5] - s * s * c,
|
||
t1[6] - s * f * c,
|
||
t1[7] - s * l * c,
|
||
t1[8] - f * a * c,
|
||
t1[9] - f * s * c,
|
||
t1[10] - f * f * c,
|
||
t1[11] - f * l * c,
|
||
t1[12] - l * a * c,
|
||
t1[13] - l * s * c,
|
||
t1[14] - l * f * c,
|
||
t1[15] - l * l * c
|
||
], h = u, d = o;
|
||
let A = [
|
||
Math.random(),
|
||
Math.random(),
|
||
Math.random(),
|
||
Math.random()
|
||
], g = 0, p = 0;
|
||
if (0 != i) for(let e = 0; e < 16 && (A = d.multVec(h, A), p = Math.sqrt(d.dot(A, A)), A = d.sml(1 / p, A), !(0 != e && Math.abs(p - g) < 1e-9)); e++)g = p;
|
||
const m = [
|
||
a * c,
|
||
s * c,
|
||
f * c,
|
||
l * c
|
||
];
|
||
return {
|
||
Cov: u,
|
||
q: m,
|
||
e: A,
|
||
L: g,
|
||
eMq255: d.dot(d.sml(255, m), A),
|
||
eMq: d.dot(A, m),
|
||
rgba: (Math.round(255 * m[3]) << 24 | Math.round(255 * m[2]) << 16 | Math.round(255 * m[1]) << 8 | Math.round(255 * m[0]) << 0) >>> 0
|
||
};
|
||
}
|
||
var o = {
|
||
multVec: (e, t1)=>[
|
||
e[0] * t1[0] + e[1] * t1[1] + e[2] * t1[2] + e[3] * t1[3],
|
||
e[4] * t1[0] + e[5] * t1[1] + e[6] * t1[2] + e[7] * t1[3],
|
||
e[8] * t1[0] + e[9] * t1[1] + e[10] * t1[2] + e[11] * t1[3],
|
||
e[12] * t1[0] + e[13] * t1[1] + e[14] * t1[2] + e[15] * t1[3]
|
||
],
|
||
dot: (e, t1)=>e[0] * t1[0] + e[1] * t1[1] + e[2] * t1[2] + e[3] * t1[3],
|
||
sml: (e, t1)=>[
|
||
e * t1[0],
|
||
e * t1[1],
|
||
e * t1[2],
|
||
e * t1[3]
|
||
]
|
||
};
|
||
UPNG.encode = function encode(e, t1, r, i, o, a, s) {
|
||
null == i && (i = 0), null == s && (s = !1);
|
||
const f = compress(e, t1, r, i, [
|
||
!1,
|
||
!1,
|
||
!1,
|
||
0,
|
||
s,
|
||
!1
|
||
]);
|
||
return compressPNG(f, -1), _main(f, t1, r, o, a);
|
||
}, UPNG.encodeLL = function encodeLL(e, t1, r, i, o, a, s, f) {
|
||
const l = {
|
||
ctype: 0 + (1 == i ? 0 : 2) + (0 == o ? 0 : 4),
|
||
depth: a,
|
||
frames: []
|
||
}, c = (i + o) * a, u = c * t1;
|
||
for(let i = 0; i < e.length; i++)l.frames.push({
|
||
rect: {
|
||
x: 0,
|
||
y: 0,
|
||
width: t1,
|
||
height: r
|
||
},
|
||
img: new Uint8Array(e[i]),
|
||
blend: 0,
|
||
dispose: 1,
|
||
bpp: Math.ceil(c / 8),
|
||
bpl: Math.ceil(u / 8)
|
||
});
|
||
return compressPNG(l, 0, !0), _main(l, t1, r, s, f);
|
||
}, UPNG.encode.compress = compress, UPNG.encode.dither = dither, UPNG.quantize = quantize, UPNG.quantize.getKDtree = getKDtree, UPNG.quantize.getNearest = getNearest;
|
||
}();
|
||
const r = {
|
||
toArrayBuffer (e, t1) {
|
||
const i = e.width, o = e.height, a = i << 2, s = e.getContext("2d").getImageData(0, 0, i, o), f = new Uint32Array(s.data.buffer), l = (32 * i + 31) / 32 << 2, c = l * o, u = 122 + c, h = new ArrayBuffer(u), d = new DataView(h), A = 1 << 20;
|
||
let g, p, m, w, v = A, b = 0, y = 0, E = 0;
|
||
function set16(e) {
|
||
d.setUint16(y, e, !0), y += 2;
|
||
}
|
||
function set32(e) {
|
||
d.setUint32(y, e, !0), y += 4;
|
||
}
|
||
function seek(e) {
|
||
y += e;
|
||
}
|
||
set16(19778), set32(u), seek(4), set32(122), set32(108), set32(i), set32(-o >>> 0), set16(1), set16(32), set32(3), set32(c), set32(2835), set32(2835), seek(8), set32(16711680), set32(65280), set32(255), set32(4278190080), set32(1466527264), function convert() {
|
||
for(; b < o && v > 0;){
|
||
for(w = 122 + b * l, g = 0; g < a;)v--, p = f[E++], m = p >>> 24, d.setUint32(w + g, p << 8 | m), g += 4;
|
||
b++;
|
||
}
|
||
E < f.length ? (v = A, setTimeout(convert, r._dly)) : t1(h);
|
||
}();
|
||
},
|
||
toBlob (e, t1) {
|
||
this.toArrayBuffer(e, (e)=>{
|
||
t1(new Blob([
|
||
e
|
||
], {
|
||
type: "image/bmp"
|
||
}));
|
||
});
|
||
},
|
||
_dly: 9
|
||
};
|
||
var i = {
|
||
CHROME: "CHROME",
|
||
FIREFOX: "FIREFOX",
|
||
DESKTOP_SAFARI: "DESKTOP_SAFARI",
|
||
IE: "IE",
|
||
IOS: "IOS",
|
||
ETC: "ETC"
|
||
}, o = {
|
||
[i.CHROME]: 16384,
|
||
[i.FIREFOX]: 11180,
|
||
[i.DESKTOP_SAFARI]: 16384,
|
||
[i.IE]: 8192,
|
||
[i.IOS]: 4096,
|
||
[i.ETC]: 8192
|
||
};
|
||
const a = "undefined" != typeof window, s = "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope, f = a && window.cordova && window.cordova.require && window.cordova.require("cordova/modulemapper"), CustomFile = (a || s) && (f && f.getOriginalSymbol(window, "File") || "undefined" != typeof File && File), CustomFileReader = (a || s) && (f && f.getOriginalSymbol(window, "FileReader") || "undefined" != typeof FileReader && FileReader);
|
||
function getFilefromDataUrl(e, t1, r = Date.now()) {
|
||
return new Promise((i)=>{
|
||
const o = e.split(","), a = o[0].match(/:(.*?);/)[1], s = globalThis.atob(o[1]);
|
||
let f = s.length;
|
||
const l = new Uint8Array(f);
|
||
for(; f--;)l[f] = s.charCodeAt(f);
|
||
const c = new Blob([
|
||
l
|
||
], {
|
||
type: a
|
||
});
|
||
c.name = t1, c.lastModified = r, i(c);
|
||
});
|
||
}
|
||
function getDataUrlFromFile(e) {
|
||
return new Promise((t1, r)=>{
|
||
const i = new CustomFileReader;
|
||
i.onload = ()=>t1(i.result), i.onerror = (e)=>r(e), i.readAsDataURL(e);
|
||
});
|
||
}
|
||
function loadImage(e) {
|
||
return new Promise((t1, r)=>{
|
||
const i = new Image;
|
||
i.onload = ()=>t1(i), i.onerror = (e)=>r(e), i.src = e;
|
||
});
|
||
}
|
||
function getBrowserName() {
|
||
if (void 0 !== getBrowserName.cachedResult) return getBrowserName.cachedResult;
|
||
let e = i.ETC;
|
||
const { userAgent: t1 } = navigator;
|
||
return /Chrom(e|ium)/i.test(t1) ? e = i.CHROME : /iP(ad|od|hone)/i.test(t1) && /WebKit/i.test(t1) ? e = i.IOS : /Safari/i.test(t1) ? e = i.DESKTOP_SAFARI : /Firefox/i.test(t1) ? e = i.FIREFOX : (/MSIE/i.test(t1) || !0 == !!document.documentMode) && (e = i.IE), getBrowserName.cachedResult = e, getBrowserName.cachedResult;
|
||
}
|
||
function approximateBelowMaximumCanvasSizeOfBrowser(e, t1) {
|
||
const r = getBrowserName(), i = o[r];
|
||
let a = e, s = t1, f = a * s;
|
||
const l = a > s ? s / a : a / s;
|
||
for(; f > i * i;){
|
||
const e = (i + a) / 2, t1 = (i + s) / 2;
|
||
e < t1 ? (s = t1, a = t1 * l) : (s = e * l, a = e), f = a * s;
|
||
}
|
||
return {
|
||
width: a,
|
||
height: s
|
||
};
|
||
}
|
||
function getNewCanvasAndCtx(e, t1) {
|
||
let r, i;
|
||
try {
|
||
if (r = new OffscreenCanvas(e, t1), i = r.getContext("2d"), null === i) throw new Error("getContext of OffscreenCanvas returns null");
|
||
} catch (e) {
|
||
r = document.createElement("canvas"), i = r.getContext("2d");
|
||
}
|
||
return r.width = e, r.height = t1, [
|
||
r,
|
||
i
|
||
];
|
||
}
|
||
function drawImageInCanvas(e, t1) {
|
||
const { width: r, height: i } = approximateBelowMaximumCanvasSizeOfBrowser(e.width, e.height), [o, a] = getNewCanvasAndCtx(r, i);
|
||
return t1 && /jpe?g/.test(t1) && (a.fillStyle = "white", a.fillRect(0, 0, o.width, o.height)), a.drawImage(e, 0, 0, o.width, o.height), o;
|
||
}
|
||
function isIOS() {
|
||
return void 0 !== isIOS.cachedResult || (isIOS.cachedResult = [
|
||
"iPad Simulator",
|
||
"iPhone Simulator",
|
||
"iPod Simulator",
|
||
"iPad",
|
||
"iPhone",
|
||
"iPod"
|
||
].includes(navigator.platform) || navigator.userAgent.includes("Mac") && "undefined" != typeof document && "ontouchend" in document), isIOS.cachedResult;
|
||
}
|
||
function drawFileInCanvas(e, t1 = {}) {
|
||
return new Promise(function(r, o) {
|
||
let a, s;
|
||
var $Try_2_Post = function() {
|
||
try {
|
||
return s = drawImageInCanvas(a, t1.fileType || e.type), r([
|
||
a,
|
||
s
|
||
]);
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
}, $Try_2_Catch = function(t1) {
|
||
try {
|
||
0;
|
||
var $Try_3_Catch = function(e) {
|
||
try {
|
||
throw e;
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
};
|
||
try {
|
||
let t1;
|
||
return getDataUrlFromFile(e).then(function(e) {
|
||
try {
|
||
return t1 = e, loadImage(t1).then(function(e) {
|
||
try {
|
||
return a = e, function() {
|
||
try {
|
||
return $Try_2_Post();
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
}();
|
||
} catch (e) {
|
||
return $Try_3_Catch(e);
|
||
}
|
||
}, $Try_3_Catch);
|
||
} catch (e) {
|
||
return $Try_3_Catch(e);
|
||
}
|
||
}, $Try_3_Catch);
|
||
} catch (e) {
|
||
$Try_3_Catch(e);
|
||
}
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
};
|
||
try {
|
||
if (isIOS() || [
|
||
i.DESKTOP_SAFARI,
|
||
i.MOBILE_SAFARI
|
||
].includes(getBrowserName())) throw new Error("Skip createImageBitmap on IOS and Safari");
|
||
return createImageBitmap(e).then(function(e) {
|
||
try {
|
||
return a = e, $Try_2_Post();
|
||
} catch (e) {
|
||
return $Try_2_Catch();
|
||
}
|
||
}, $Try_2_Catch);
|
||
} catch (e) {
|
||
$Try_2_Catch();
|
||
}
|
||
});
|
||
}
|
||
function canvasToFile(e, t1, i, o, a = 1) {
|
||
return new Promise(function(s, f) {
|
||
let l;
|
||
if ("image/png" === t1) {
|
||
let c, u, h;
|
||
return c = e.getContext("2d"), { data: u } = c.getImageData(0, 0, e.width, e.height), h = UPNG.encode([
|
||
u.buffer
|
||
], e.width, e.height, 4096 * a), l = new Blob([
|
||
h
|
||
], {
|
||
type: t1
|
||
}), l.name = i, l.lastModified = o, $If_4.call(this);
|
||
}
|
||
{
|
||
if ("image/bmp" === t1) return new Promise((t1)=>r.toBlob(e, t1)).then((function(e) {
|
||
try {
|
||
return l = e, l.name = i, l.lastModified = o, $If_5.call(this);
|
||
} catch (e) {
|
||
return f(e);
|
||
}
|
||
}).bind(this), f);
|
||
{
|
||
if ("function" == typeof OffscreenCanvas && e instanceof OffscreenCanvas) return e.convertToBlob({
|
||
type: t1,
|
||
quality: a
|
||
}).then((function(e) {
|
||
try {
|
||
return l = e, l.name = i, l.lastModified = o, $If_6.call(this);
|
||
} catch (e) {
|
||
return f(e);
|
||
}
|
||
}).bind(this), f);
|
||
{
|
||
let d;
|
||
return d = e.toDataURL(t1, a), getFilefromDataUrl(d, i, o).then((function(e) {
|
||
try {
|
||
return l = e, $If_6.call(this);
|
||
} catch (e) {
|
||
return f(e);
|
||
}
|
||
}).bind(this), f);
|
||
}
|
||
//TURBOPACK unreachable
|
||
;
|
||
function $If_6() {
|
||
return $If_5.call(this);
|
||
}
|
||
}
|
||
//TURBOPACK unreachable
|
||
;
|
||
function $If_5() {
|
||
return $If_4.call(this);
|
||
}
|
||
}
|
||
//TURBOPACK unreachable
|
||
;
|
||
function $If_4() {
|
||
return s(l);
|
||
}
|
||
});
|
||
}
|
||
function cleanupCanvasMemory(e) {
|
||
e.width = 0, e.height = 0;
|
||
}
|
||
function isAutoOrientationInBrowser() {
|
||
return new Promise(function(e, t1) {
|
||
let r, i, o, a, s;
|
||
return void 0 !== isAutoOrientationInBrowser.cachedResult ? e(isAutoOrientationInBrowser.cachedResult) : (r = "data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==", getFilefromDataUrl("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==", "test.jpg", Date.now()).then(function(r) {
|
||
try {
|
||
return i = r, drawFileInCanvas(i).then(function(r) {
|
||
try {
|
||
return o = r[1], canvasToFile(o, i.type, i.name, i.lastModified).then(function(r) {
|
||
try {
|
||
return a = r, cleanupCanvasMemory(o), drawFileInCanvas(a).then(function(r) {
|
||
try {
|
||
return s = r[0], isAutoOrientationInBrowser.cachedResult = 1 === s.width && 2 === s.height, e(isAutoOrientationInBrowser.cachedResult);
|
||
} catch (e) {
|
||
return t1(e);
|
||
}
|
||
}, t1);
|
||
} catch (e) {
|
||
return t1(e);
|
||
}
|
||
}, t1);
|
||
} catch (e) {
|
||
return t1(e);
|
||
}
|
||
}, t1);
|
||
} catch (e) {
|
||
return t1(e);
|
||
}
|
||
}, t1));
|
||
});
|
||
}
|
||
function getExifOrientation(e) {
|
||
return new Promise((t1, r)=>{
|
||
const i = new CustomFileReader;
|
||
i.onload = (e)=>{
|
||
const r = new DataView(e.target.result);
|
||
if (65496 != r.getUint16(0, !1)) return t1(-2);
|
||
const i = r.byteLength;
|
||
let o = 2;
|
||
for(; o < i;){
|
||
if (r.getUint16(o + 2, !1) <= 8) return t1(-1);
|
||
const e = r.getUint16(o, !1);
|
||
if (o += 2, 65505 == e) {
|
||
if (1165519206 != r.getUint32(o += 2, !1)) return t1(-1);
|
||
const e = 18761 == r.getUint16(o += 6, !1);
|
||
o += r.getUint32(o + 4, e);
|
||
const i = r.getUint16(o, e);
|
||
o += 2;
|
||
for(let a = 0; a < i; a++)if (274 == r.getUint16(o + 12 * a, e)) return t1(r.getUint16(o + 12 * a + 8, e));
|
||
} else {
|
||
if (65280 != (65280 & e)) break;
|
||
o += r.getUint16(o, !1);
|
||
}
|
||
}
|
||
return t1(-1);
|
||
}, i.onerror = (e)=>r(e), i.readAsArrayBuffer(e);
|
||
});
|
||
}
|
||
function handleMaxWidthOrHeight(e, t1) {
|
||
const { width: r } = e, { height: i } = e, { maxWidthOrHeight: o } = t1;
|
||
let a, s = e;
|
||
return isFinite(o) && (r > o || i > o) && ([s, a] = getNewCanvasAndCtx(r, i), r > i ? (s.width = o, s.height = i / r * o) : (s.width = r / i * o, s.height = o), a.drawImage(e, 0, 0, s.width, s.height), cleanupCanvasMemory(e)), s;
|
||
}
|
||
function followExifOrientation(e, t1) {
|
||
const { width: r } = e, { height: i } = e, [o, a] = getNewCanvasAndCtx(r, i);
|
||
switch(t1 > 4 && t1 < 9 ? (o.width = i, o.height = r) : (o.width = r, o.height = i), t1){
|
||
case 2:
|
||
a.transform(-1, 0, 0, 1, r, 0);
|
||
break;
|
||
case 3:
|
||
a.transform(-1, 0, 0, -1, r, i);
|
||
break;
|
||
case 4:
|
||
a.transform(1, 0, 0, -1, 0, i);
|
||
break;
|
||
case 5:
|
||
a.transform(0, 1, 1, 0, 0, 0);
|
||
break;
|
||
case 6:
|
||
a.transform(0, 1, -1, 0, i, 0);
|
||
break;
|
||
case 7:
|
||
a.transform(0, -1, -1, 0, i, r);
|
||
break;
|
||
case 8:
|
||
a.transform(0, -1, 1, 0, 0, r);
|
||
}
|
||
return a.drawImage(e, 0, 0, r, i), cleanupCanvasMemory(e), o;
|
||
}
|
||
function compress(e, t1, r = 0) {
|
||
return new Promise(function(i, o) {
|
||
let a, s, f, l, c, u, h, d, A, g, p, m, w, v, b, y, E, F, _, B;
|
||
function incProgress(e = 5) {
|
||
if (t1.signal && t1.signal.aborted) throw t1.signal.reason;
|
||
a += e, t1.onProgress(Math.min(a, 100));
|
||
}
|
||
function setProgress(e) {
|
||
if (t1.signal && t1.signal.aborted) throw t1.signal.reason;
|
||
a = Math.min(Math.max(e, a), 100), t1.onProgress(a);
|
||
}
|
||
return a = r, s = t1.maxIteration || 10, f = 1024 * t1.maxSizeMB * 1024, incProgress(), drawFileInCanvas(e, t1).then((function(r) {
|
||
try {
|
||
return [, l] = r, incProgress(), c = handleMaxWidthOrHeight(l, t1), incProgress(), new Promise(function(r, i) {
|
||
var o;
|
||
if (!(o = t1.exifOrientation)) return getExifOrientation(e).then((function(e) {
|
||
try {
|
||
return o = e, $If_2.call(this);
|
||
} catch (e) {
|
||
return i(e);
|
||
}
|
||
}).bind(this), i);
|
||
function $If_2() {
|
||
return r(o);
|
||
}
|
||
return $If_2.call(this);
|
||
}).then((function(r) {
|
||
try {
|
||
return u = r, incProgress(), isAutoOrientationInBrowser().then((function(r) {
|
||
try {
|
||
return h = r ? c : followExifOrientation(c, u), incProgress(), d = t1.initialQuality || 1, A = t1.fileType || e.type, canvasToFile(h, A, e.name, e.lastModified, d).then((function(r) {
|
||
try {
|
||
{
|
||
if (g = r, incProgress(), p = g.size > f, m = g.size > e.size, !p && !m) return setProgress(100), i(g);
|
||
var a;
|
||
function $Loop_3() {
|
||
if (s-- && (b > f || b > w)) {
|
||
let t1, r;
|
||
return t1 = B ? .95 * _.width : _.width, r = B ? .95 * _.height : _.height, [E, F] = getNewCanvasAndCtx(t1, r), F.drawImage(_, 0, 0, t1, r), d *= "image/png" === A ? .85 : .95, canvasToFile(E, A, e.name, e.lastModified, d).then(function(e) {
|
||
try {
|
||
return y = e, cleanupCanvasMemory(_), _ = E, b = y.size, setProgress(Math.min(99, Math.floor((v - b) / (v - f) * 100))), $Loop_3;
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
}, o);
|
||
}
|
||
return [
|
||
1
|
||
];
|
||
}
|
||
return w = e.size, v = g.size, b = v, _ = h, B = !t1.alwaysKeepResolution && p, (a = (function(e) {
|
||
for(; e;){
|
||
if (e.then) return void e.then(a, o);
|
||
try {
|
||
if (e.pop) {
|
||
if (e.length) return e.pop() ? $Loop_3_exit.call(this) : e;
|
||
e = $Loop_3;
|
||
} else e = e.call(this);
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
}
|
||
}).bind(this))($Loop_3);
|
||
//TURBOPACK unreachable
|
||
;
|
||
function $Loop_3_exit() {
|
||
return cleanupCanvasMemory(_), cleanupCanvasMemory(E), cleanupCanvasMemory(c), cleanupCanvasMemory(h), cleanupCanvasMemory(l), setProgress(100), i(y);
|
||
}
|
||
}
|
||
} catch (u) {
|
||
return o(u);
|
||
}
|
||
}).bind(this), o);
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
}).bind(this), o);
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
}).bind(this), o);
|
||
} catch (e) {
|
||
return o(e);
|
||
}
|
||
}).bind(this), o);
|
||
});
|
||
}
|
||
const l = "\nlet scriptImported = false\nself.addEventListener('message', async (e) => {\n const { file, id, imageCompressionLibUrl, options } = e.data\n options.onProgress = (progress) => self.postMessage({ progress, id })\n try {\n if (!scriptImported) {\n // console.log('[worker] importScripts', imageCompressionLibUrl)\n self.importScripts(imageCompressionLibUrl)\n scriptImported = true\n }\n // console.log('[worker] self', self)\n const compressedFile = await imageCompression(file, options)\n self.postMessage({ file: compressedFile, id })\n } catch (e) {\n // console.error('[worker] error', e)\n self.postMessage({ error: e.message + '\\n' + e.stack, id })\n }\n})\n";
|
||
let c;
|
||
function compressOnWebWorker(e, t1) {
|
||
return new Promise((r, i)=>{
|
||
c || (c = function createWorkerScriptURL(e) {
|
||
const t1 = [];
|
||
return "function" == typeof e ? t1.push(`(${e})()`) : t1.push(e), URL.createObjectURL(new Blob(t1));
|
||
}(l));
|
||
const o = new Worker(c);
|
||
o.addEventListener("message", function handler(e) {
|
||
if (t1.signal && t1.signal.aborted) o.terminate();
|
||
else if (void 0 === e.data.progress) {
|
||
if (e.data.error) return i(new Error(e.data.error)), void o.terminate();
|
||
r(e.data.file), o.terminate();
|
||
} else t1.onProgress(e.data.progress);
|
||
}), o.addEventListener("error", i), t1.signal && t1.signal.addEventListener("abort", ()=>{
|
||
i(t1.signal.reason), o.terminate();
|
||
}), o.postMessage({
|
||
file: e,
|
||
imageCompressionLibUrl: t1.libURL,
|
||
options: {
|
||
...t1,
|
||
onProgress: void 0,
|
||
signal: void 0
|
||
}
|
||
});
|
||
});
|
||
}
|
||
function imageCompression(e, t1) {
|
||
return new Promise(function(r, i) {
|
||
let o, a, s, f, l, c;
|
||
if (o = {
|
||
...t1
|
||
}, s = 0, { onProgress: f } = o, o.maxSizeMB = o.maxSizeMB || Number.POSITIVE_INFINITY, l = "boolean" != typeof o.useWebWorker || o.useWebWorker, delete o.useWebWorker, o.onProgress = (e)=>{
|
||
s = e, "function" == typeof f && f(s);
|
||
}, !(e instanceof Blob || e instanceof CustomFile)) return i(new Error("The file given is not an instance of Blob or File"));
|
||
if (!/^image/.test(e.type)) return i(new Error("The file given is not an image"));
|
||
if (c = "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope, !l || "function" != typeof Worker || c) return compress(e, o).then((function(e) {
|
||
try {
|
||
return a = e, $If_4.call(this);
|
||
} catch (e) {
|
||
return i(e);
|
||
}
|
||
}).bind(this), i);
|
||
var u = (function() {
|
||
try {
|
||
return $If_4.call(this);
|
||
} catch (e) {
|
||
return i(e);
|
||
}
|
||
}).bind(this), $Try_1_Catch = function(t1) {
|
||
try {
|
||
return compress(e, o).then(function(e) {
|
||
try {
|
||
return a = e, u();
|
||
} catch (e) {
|
||
return i(e);
|
||
}
|
||
}, i);
|
||
} catch (e) {
|
||
return i(e);
|
||
}
|
||
};
|
||
try {
|
||
return o.libURL = o.libURL || "https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js", compressOnWebWorker(e, o).then(function(e) {
|
||
try {
|
||
return a = e, u();
|
||
} catch (e) {
|
||
return $Try_1_Catch();
|
||
}
|
||
}, $Try_1_Catch);
|
||
} catch (e) {
|
||
$Try_1_Catch();
|
||
}
|
||
function $If_4() {
|
||
try {
|
||
a.name = e.name, a.lastModified = e.lastModified;
|
||
} catch (e) {}
|
||
try {
|
||
o.preserveExif && "image/jpeg" === e.type && (!o.fileType || o.fileType && o.fileType === e.type) && (a = copyExifWithoutOrientation(e, a));
|
||
} catch (e) {}
|
||
return r(a);
|
||
}
|
||
});
|
||
}
|
||
imageCompression.getDataUrlFromFile = getDataUrlFromFile, imageCompression.getFilefromDataUrl = getFilefromDataUrl, imageCompression.loadImage = loadImage, imageCompression.drawImageInCanvas = drawImageInCanvas, imageCompression.drawFileInCanvas = drawFileInCanvas, imageCompression.canvasToFile = canvasToFile, imageCompression.getExifOrientation = getExifOrientation, imageCompression.handleMaxWidthOrHeight = handleMaxWidthOrHeight, imageCompression.followExifOrientation = followExifOrientation, imageCompression.cleanupCanvasMemory = cleanupCanvasMemory, imageCompression.isAutoOrientationInBrowser = isAutoOrientationInBrowser, imageCompression.approximateBelowMaximumCanvasSizeOfBrowser = approximateBelowMaximumCanvasSizeOfBrowser, imageCompression.copyExifWithoutOrientation = copyExifWithoutOrientation, imageCompression.getBrowserName = getBrowserName, imageCompression.version = "2.0.2";
|
||
;
|
||
//# sourceMappingURL=browser-image-compression.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/zoom-in.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",
|
||
()=>ZoomIn
|
||
]);
|
||
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 ZoomIn = (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"])("ZoomIn", [
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "11",
|
||
cy: "11",
|
||
r: "8",
|
||
key: "4ej97u"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "21",
|
||
x2: "16.65",
|
||
y1: "21",
|
||
y2: "16.65",
|
||
key: "13gj7c"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "11",
|
||
x2: "11",
|
||
y1: "8",
|
||
y2: "14",
|
||
key: "1vmskp"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "8",
|
||
x2: "14",
|
||
y1: "11",
|
||
y2: "11",
|
||
key: "durymu"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=zoom-in.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/zoom-in.js [app-client] (ecmascript) <export default as ZoomIn>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ZoomIn",
|
||
()=>__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$zoom$2d$in$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$zoom$2d$in$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/zoom-in.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/square-pen.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",
|
||
()=>SquarePen
|
||
]);
|
||
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 SquarePen = (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"])("SquarePen", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",
|
||
key: "1m0v6g"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",
|
||
key: "ohrbg2"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=square-pen.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/square-pen.js [app-client] (ecmascript) <export default as Edit>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Edit",
|
||
()=>__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$square$2d$pen$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$square$2d$pen$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/square-pen.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.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",
|
||
()=>Trash
|
||
]);
|
||
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 Trash = (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"])("Trash", [
|
||
[
|
||
"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"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=trash.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.js [app-client] (ecmascript) <export default as Trash>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Trash",
|
||
()=>__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$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$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.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/calendar.js [app-client] (ecmascript) <export default as Calendar>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Calendar",
|
||
()=>__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$calendar$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$calendar$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/calendar.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/arrow-left.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",
|
||
()=>ArrowLeft
|
||
]);
|
||
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 ArrowLeft = (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"])("ArrowLeft", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "m12 19-7-7 7-7",
|
||
key: "1l729n"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M19 12H5",
|
||
key: "x3x0zl"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=arrow-left.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/arrow-left.js [app-client] (ecmascript) <export default as ArrowLeft>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"ArrowLeft",
|
||
()=>__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$arrow$2d$left$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$arrow$2d$left$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/arrow-left.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/share-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",
|
||
()=>Share2
|
||
]);
|
||
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 Share2 = (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"])("Share2", [
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "18",
|
||
cy: "5",
|
||
r: "3",
|
||
key: "gq8acd"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "6",
|
||
cy: "12",
|
||
r: "3",
|
||
key: "w7nqdw"
|
||
}
|
||
],
|
||
[
|
||
"circle",
|
||
{
|
||
cx: "18",
|
||
cy: "19",
|
||
r: "3",
|
||
key: "1xt0gg"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "8.59",
|
||
x2: "15.42",
|
||
y1: "13.51",
|
||
y2: "17.49",
|
||
key: "47mynk"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "15.41",
|
||
x2: "8.59",
|
||
y1: "6.51",
|
||
y2: "10.49",
|
||
key: "1n3mei"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=share-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/share-2.js [app-client] (ecmascript) <export default as Share2>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Share2",
|
||
()=>__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$share$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$share$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/share-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/printer.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",
|
||
()=>Printer
|
||
]);
|
||
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 Printer = (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"])("Printer", [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",
|
||
key: "143wyd"
|
||
}
|
||
],
|
||
[
|
||
"path",
|
||
{
|
||
d: "M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",
|
||
key: "1itne7"
|
||
}
|
||
],
|
||
[
|
||
"rect",
|
||
{
|
||
x: "6",
|
||
y: "14",
|
||
width: "12",
|
||
height: "8",
|
||
rx: "1",
|
||
key: "1ue0tg"
|
||
}
|
||
]
|
||
]);
|
||
;
|
||
//# sourceMappingURL=printer.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/printer.js [app-client] (ecmascript) <export default as Printer>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Printer",
|
||
()=>__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$printer$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$printer$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/printer.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.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)");
|
||
}),
|
||
]);
|
||
|
||
//# sourceMappingURL=a0629__pnpm_a5fa0ed9._.js.map |