mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-07-21 03:46:11 +00:00
3489 lines
196 KiB
JavaScript
3489 lines
196 KiB
JavaScript
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
|
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/panel-left.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"__iconNode",
|
|
()=>__iconNode,
|
|
"default",
|
|
()=>PanelLeft
|
|
]);
|
|
/**
|
|
* @license lucide-react v0.507.0 - ISC
|
|
*
|
|
* This source code is licensed under the ISC license.
|
|
* See the LICENSE file in the root directory of this source tree.
|
|
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
|
|
;
|
|
const __iconNode = [
|
|
[
|
|
"rect",
|
|
{
|
|
width: "18",
|
|
height: "18",
|
|
x: "3",
|
|
y: "3",
|
|
rx: "2",
|
|
key: "afitv7"
|
|
}
|
|
],
|
|
[
|
|
"path",
|
|
{
|
|
d: "M9 3v18",
|
|
key: "fh3hqa"
|
|
}
|
|
]
|
|
];
|
|
const PanelLeft = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("panel-left", __iconNode);
|
|
;
|
|
//# sourceMappingURL=panel-left.js.map
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/panel-left.js [app-client] (ecmascript) <export default as PanelLeftIcon>", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"PanelLeftIcon",
|
|
()=>__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$panel$2d$left$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
|
|
]);
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$panel$2d$left$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/panel-left.js [app-client] (ecmascript)");
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"Root",
|
|
()=>Slot,
|
|
"Slot",
|
|
()=>Slot,
|
|
"Slottable",
|
|
()=>Slottable,
|
|
"createSlot",
|
|
()=>createSlot,
|
|
"createSlottable",
|
|
()=>createSlottable
|
|
]);
|
|
// src/slot.tsx
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$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]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
|
;
|
|
;
|
|
;
|
|
// @__NO_SIDE_EFFECTS__
|
|
function createSlot(ownerName) {
|
|
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
const Slot2 = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
|
const { children, ...slotProps } = props;
|
|
const childrenArray = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].toArray(children);
|
|
const slottable = childrenArray.find(isSlottable);
|
|
if (slottable) {
|
|
const newElement = slottable.props.children;
|
|
const newChildren = childrenArray.map((child)=>{
|
|
if (child === slottable) {
|
|
if (__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(newElement) > 1) return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null);
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? newElement.props.children : null;
|
|
} else {
|
|
return child;
|
|
}
|
|
});
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
|
...slotProps,
|
|
ref: forwardedRef,
|
|
children: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](newElement, void 0, newChildren) : null
|
|
});
|
|
}
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
|
|
...slotProps,
|
|
ref: forwardedRef,
|
|
children
|
|
});
|
|
});
|
|
Slot2.displayName = `${ownerName}.Slot`;
|
|
return Slot2;
|
|
}
|
|
var Slot = /* @__PURE__ */ createSlot("Slot");
|
|
// @__NO_SIDE_EFFECTS__
|
|
function createSlotClone(ownerName) {
|
|
const SlotClone = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
|
|
const { children, ...slotProps } = props;
|
|
if (__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](children)) {
|
|
const childrenRef = getElementRef(children);
|
|
const props2 = mergeProps(slotProps, children.props);
|
|
if (children.type !== __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"]) {
|
|
props2.ref = forwardedRef ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, childrenRef) : childrenRef;
|
|
}
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](children, props2);
|
|
}
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(children) > 1 ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null) : null;
|
|
});
|
|
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
return SlotClone;
|
|
}
|
|
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
// @__NO_SIDE_EFFECTS__
|
|
function createSlottable(ownerName) {
|
|
const Slottable2 = ({ children })=>{
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$2f$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
|
|
});
|
|
};
|
|
Slottable2.displayName = `${ownerName}.Slottable`;
|
|
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
|
return Slottable2;
|
|
}
|
|
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
|
function isSlottable(child) {
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
}
|
|
function mergeProps(slotProps, childProps) {
|
|
const overrideProps = {
|
|
...childProps
|
|
};
|
|
for(const propName in childProps){
|
|
const slotPropValue = slotProps[propName];
|
|
const childPropValue = childProps[propName];
|
|
const isHandler = /^on[A-Z]/.test(propName);
|
|
if (isHandler) {
|
|
if (slotPropValue && childPropValue) {
|
|
overrideProps[propName] = (...args)=>{
|
|
const result = childPropValue(...args);
|
|
slotPropValue(...args);
|
|
return result;
|
|
};
|
|
} else if (slotPropValue) {
|
|
overrideProps[propName] = slotPropValue;
|
|
}
|
|
} else if (propName === "style") {
|
|
overrideProps[propName] = {
|
|
...slotPropValue,
|
|
...childPropValue
|
|
};
|
|
} else if (propName === "className") {
|
|
overrideProps[propName] = [
|
|
slotPropValue,
|
|
childPropValue
|
|
].filter(Boolean).join(" ");
|
|
}
|
|
}
|
|
return {
|
|
...slotProps,
|
|
...overrideProps
|
|
};
|
|
}
|
|
function getElementRef(element) {
|
|
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
|
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
if (mayWarn) {
|
|
return element.ref;
|
|
}
|
|
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
|
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
if (mayWarn) {
|
|
return element.props.ref;
|
|
}
|
|
return element.props.ref || element.ref;
|
|
}
|
|
;
|
|
//# sourceMappingURL=index.mjs.map
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/@radix-ui/react-tooltip/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"Arrow",
|
|
()=>Arrow2,
|
|
"Content",
|
|
()=>Content2,
|
|
"Portal",
|
|
()=>Portal,
|
|
"Provider",
|
|
()=>Provider,
|
|
"Root",
|
|
()=>Root3,
|
|
"Tooltip",
|
|
()=>Tooltip,
|
|
"TooltipArrow",
|
|
()=>TooltipArrow,
|
|
"TooltipContent",
|
|
()=>TooltipContent,
|
|
"TooltipPortal",
|
|
()=>TooltipPortal,
|
|
"TooltipProvider",
|
|
()=>TooltipProvider,
|
|
"TooltipTrigger",
|
|
()=>TooltipTrigger,
|
|
"Trigger",
|
|
()=>Trigger,
|
|
"createTooltipScope",
|
|
()=>createTooltipScope
|
|
]);
|
|
// src/tooltip.tsx
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-id/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-popper/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-portal/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-presence/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$tooltip$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$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]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
|
"use client";
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
var [createTooltipContext, createTooltipScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])("Tooltip", [
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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 PROVIDER_NAME = "TooltipProvider";
|
|
var DEFAULT_DELAY_DURATION = 700;
|
|
var TOOLTIP_OPEN = "tooltip.open";
|
|
var [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);
|
|
var TooltipProvider = (props)=>{
|
|
const { __scopeTooltip, delayDuration = DEFAULT_DELAY_DURATION, skipDelayDuration = 300, disableHoverableContent = false, children } = props;
|
|
const isOpenDelayedRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 isPointerInTransitRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 skipDelayTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"TooltipProvider.useEffect": ()=>{
|
|
const skipDelayTimer = skipDelayTimerRef.current;
|
|
return ({
|
|
"TooltipProvider.useEffect": ()=>window.clearTimeout(skipDelayTimer)
|
|
})["TooltipProvider.useEffect"];
|
|
}
|
|
}["TooltipProvider.useEffect"], []);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(TooltipProviderContextProvider, {
|
|
scope: __scopeTooltip,
|
|
isOpenDelayedRef,
|
|
delayDuration,
|
|
onOpen: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"TooltipProvider.useCallback": ()=>{
|
|
window.clearTimeout(skipDelayTimerRef.current);
|
|
isOpenDelayedRef.current = false;
|
|
}
|
|
}["TooltipProvider.useCallback"], []),
|
|
onClose: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"TooltipProvider.useCallback": ()=>{
|
|
window.clearTimeout(skipDelayTimerRef.current);
|
|
skipDelayTimerRef.current = window.setTimeout({
|
|
"TooltipProvider.useCallback": ()=>isOpenDelayedRef.current = true
|
|
}["TooltipProvider.useCallback"], skipDelayDuration);
|
|
}
|
|
}["TooltipProvider.useCallback"], [
|
|
skipDelayDuration
|
|
]),
|
|
isPointerInTransitRef,
|
|
onPointerInTransitChange: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"TooltipProvider.useCallback": (inTransit)=>{
|
|
isPointerInTransitRef.current = inTransit;
|
|
}
|
|
}["TooltipProvider.useCallback"], []),
|
|
disableHoverableContent,
|
|
children
|
|
});
|
|
};
|
|
TooltipProvider.displayName = PROVIDER_NAME;
|
|
var TOOLTIP_NAME = "Tooltip";
|
|
var [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);
|
|
var Tooltip = (props)=>{
|
|
const { __scopeTooltip, children, open: openProp, defaultOpen, onOpenChange, disableHoverableContent: disableHoverableContentProp, delayDuration: delayDurationProp } = props;
|
|
const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);
|
|
const popperScope = usePopperScope(__scopeTooltip);
|
|
const [trigger, setTrigger] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 contentId = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 openTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;
|
|
const delayDuration = delayDurationProp ?? providerContext.delayDuration;
|
|
const wasOpenDelayedRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 [open, setOpen] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 ?? false,
|
|
onChange: {
|
|
"Tooltip.useControllableState": (open2)=>{
|
|
if (open2) {
|
|
providerContext.onOpen();
|
|
document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));
|
|
} else {
|
|
providerContext.onClose();
|
|
}
|
|
onOpenChange?.(open2);
|
|
}
|
|
}["Tooltip.useControllableState"],
|
|
caller: TOOLTIP_NAME
|
|
});
|
|
const stateAttribute = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"]({
|
|
"Tooltip.useMemo[stateAttribute]": ()=>{
|
|
return open ? wasOpenDelayedRef.current ? "delayed-open" : "instant-open" : "closed";
|
|
}
|
|
}["Tooltip.useMemo[stateAttribute]"], [
|
|
open
|
|
]);
|
|
const handleOpen = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"Tooltip.useCallback[handleOpen]": ()=>{
|
|
window.clearTimeout(openTimerRef.current);
|
|
openTimerRef.current = 0;
|
|
wasOpenDelayedRef.current = false;
|
|
setOpen(true);
|
|
}
|
|
}["Tooltip.useCallback[handleOpen]"], [
|
|
setOpen
|
|
]);
|
|
const handleClose = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"Tooltip.useCallback[handleClose]": ()=>{
|
|
window.clearTimeout(openTimerRef.current);
|
|
openTimerRef.current = 0;
|
|
setOpen(false);
|
|
}
|
|
}["Tooltip.useCallback[handleClose]"], [
|
|
setOpen
|
|
]);
|
|
const handleDelayedOpen = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"Tooltip.useCallback[handleDelayedOpen]": ()=>{
|
|
window.clearTimeout(openTimerRef.current);
|
|
openTimerRef.current = window.setTimeout({
|
|
"Tooltip.useCallback[handleDelayedOpen]": ()=>{
|
|
wasOpenDelayedRef.current = true;
|
|
setOpen(true);
|
|
openTimerRef.current = 0;
|
|
}
|
|
}["Tooltip.useCallback[handleDelayedOpen]"], delayDuration);
|
|
}
|
|
}["Tooltip.useCallback[handleDelayedOpen]"], [
|
|
delayDuration,
|
|
setOpen
|
|
]);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"Tooltip.useEffect": ()=>{
|
|
return ({
|
|
"Tooltip.useEffect": ()=>{
|
|
if (openTimerRef.current) {
|
|
window.clearTimeout(openTimerRef.current);
|
|
openTimerRef.current = 0;
|
|
}
|
|
}
|
|
})["Tooltip.useEffect"];
|
|
}
|
|
}["Tooltip.useEffect"], []);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(TooltipContextProvider, {
|
|
scope: __scopeTooltip,
|
|
contentId,
|
|
open,
|
|
stateAttribute,
|
|
trigger,
|
|
onTriggerChange: setTrigger,
|
|
onTriggerEnter: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"Tooltip.useCallback": ()=>{
|
|
if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();
|
|
else handleOpen();
|
|
}
|
|
}["Tooltip.useCallback"], [
|
|
providerContext.isOpenDelayedRef,
|
|
handleDelayedOpen,
|
|
handleOpen
|
|
]),
|
|
onTriggerLeave: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"Tooltip.useCallback": ()=>{
|
|
if (disableHoverableContent) {
|
|
handleClose();
|
|
} else {
|
|
window.clearTimeout(openTimerRef.current);
|
|
openTimerRef.current = 0;
|
|
}
|
|
}
|
|
}["Tooltip.useCallback"], [
|
|
handleClose,
|
|
disableHoverableContent
|
|
]),
|
|
onOpen: handleOpen,
|
|
onClose: handleClose,
|
|
disableHoverableContent,
|
|
children
|
|
})
|
|
});
|
|
};
|
|
Tooltip.displayName = TOOLTIP_NAME;
|
|
var TRIGGER_NAME = "TooltipTrigger";
|
|
var TooltipTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { __scopeTooltip, ...triggerProps } = props;
|
|
const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);
|
|
const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);
|
|
const popperScope = usePopperScope(__scopeTooltip);
|
|
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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, context.onTriggerChange);
|
|
const isPointerDownRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 hasPointerMoveOpenedRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 handlePointerUp = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"TooltipTrigger.useCallback[handlePointerUp]": ()=>isPointerDownRef.current = false
|
|
}["TooltipTrigger.useCallback[handlePointerUp]"], []);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"TooltipTrigger.useEffect": ()=>{
|
|
return ({
|
|
"TooltipTrigger.useEffect": ()=>document.removeEventListener("pointerup", handlePointerUp)
|
|
})["TooltipTrigger.useEffect"];
|
|
}
|
|
}["TooltipTrigger.useEffect"], [
|
|
handlePointerUp
|
|
]);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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, {
|
|
"aria-describedby": context.open ? context.contentId : void 0,
|
|
"data-state": context.stateAttribute,
|
|
...triggerProps,
|
|
ref: composedRefs,
|
|
onPointerMove: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerMove, (event)=>{
|
|
if (event.pointerType === "touch") return;
|
|
if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {
|
|
context.onTriggerEnter();
|
|
hasPointerMoveOpenedRef.current = true;
|
|
}
|
|
}),
|
|
onPointerLeave: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, ()=>{
|
|
context.onTriggerLeave();
|
|
hasPointerMoveOpenedRef.current = false;
|
|
}),
|
|
onPointerDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, ()=>{
|
|
if (context.open) {
|
|
context.onClose();
|
|
}
|
|
isPointerDownRef.current = true;
|
|
document.addEventListener("pointerup", handlePointerUp, {
|
|
once: true
|
|
});
|
|
}),
|
|
onFocus: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, ()=>{
|
|
if (!isPointerDownRef.current) context.onOpen();
|
|
}),
|
|
onBlur: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, context.onClose),
|
|
onClick: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, context.onClose)
|
|
})
|
|
});
|
|
});
|
|
TooltipTrigger.displayName = TRIGGER_NAME;
|
|
var PORTAL_NAME = "TooltipPortal";
|
|
var [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {
|
|
forceMount: void 0
|
|
});
|
|
var TooltipPortal = (props)=>{
|
|
const { __scopeTooltip, forceMount, children, container } = props;
|
|
const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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: __scopeTooltip,
|
|
forceMount,
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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
|
|
})
|
|
})
|
|
});
|
|
};
|
|
TooltipPortal.displayName = PORTAL_NAME;
|
|
var CONTENT_NAME = "TooltipContent";
|
|
var TooltipContent = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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.__scopeTooltip);
|
|
const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
|
|
const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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: context.disableHoverableContent ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(TooltipContentImpl, {
|
|
side,
|
|
...contentProps,
|
|
ref: forwardedRef
|
|
}) : /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(TooltipContentHoverable, {
|
|
side,
|
|
...contentProps,
|
|
ref: forwardedRef
|
|
})
|
|
});
|
|
});
|
|
var TooltipContentHoverable = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
|
|
const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);
|
|
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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 [pointerGraceArea, setPointerGraceArea] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { trigger, onClose } = context;
|
|
const content = ref.current;
|
|
const { onPointerInTransitChange } = providerContext;
|
|
const handleRemoveGraceArea = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"TooltipContentHoverable.useCallback[handleRemoveGraceArea]": ()=>{
|
|
setPointerGraceArea(null);
|
|
onPointerInTransitChange(false);
|
|
}
|
|
}["TooltipContentHoverable.useCallback[handleRemoveGraceArea]"], [
|
|
onPointerInTransitChange
|
|
]);
|
|
const handleCreateGraceArea = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"TooltipContentHoverable.useCallback[handleCreateGraceArea]": (event, hoverTarget)=>{
|
|
const currentTarget = event.currentTarget;
|
|
const exitPoint = {
|
|
x: event.clientX,
|
|
y: event.clientY
|
|
};
|
|
const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());
|
|
const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);
|
|
const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());
|
|
const graceArea = getHull([
|
|
...paddedExitPoints,
|
|
...hoverTargetPoints
|
|
]);
|
|
setPointerGraceArea(graceArea);
|
|
onPointerInTransitChange(true);
|
|
}
|
|
}["TooltipContentHoverable.useCallback[handleCreateGraceArea]"], [
|
|
onPointerInTransitChange
|
|
]);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"TooltipContentHoverable.useEffect": ()=>{
|
|
return ({
|
|
"TooltipContentHoverable.useEffect": ()=>handleRemoveGraceArea()
|
|
})["TooltipContentHoverable.useEffect"];
|
|
}
|
|
}["TooltipContentHoverable.useEffect"], [
|
|
handleRemoveGraceArea
|
|
]);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"TooltipContentHoverable.useEffect": ()=>{
|
|
if (trigger && content) {
|
|
const handleTriggerLeave = {
|
|
"TooltipContentHoverable.useEffect.handleTriggerLeave": (event)=>handleCreateGraceArea(event, content)
|
|
}["TooltipContentHoverable.useEffect.handleTriggerLeave"];
|
|
const handleContentLeave = {
|
|
"TooltipContentHoverable.useEffect.handleContentLeave": (event)=>handleCreateGraceArea(event, trigger)
|
|
}["TooltipContentHoverable.useEffect.handleContentLeave"];
|
|
trigger.addEventListener("pointerleave", handleTriggerLeave);
|
|
content.addEventListener("pointerleave", handleContentLeave);
|
|
return ({
|
|
"TooltipContentHoverable.useEffect": ()=>{
|
|
trigger.removeEventListener("pointerleave", handleTriggerLeave);
|
|
content.removeEventListener("pointerleave", handleContentLeave);
|
|
}
|
|
})["TooltipContentHoverable.useEffect"];
|
|
}
|
|
}
|
|
}["TooltipContentHoverable.useEffect"], [
|
|
trigger,
|
|
content,
|
|
handleCreateGraceArea,
|
|
handleRemoveGraceArea
|
|
]);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"TooltipContentHoverable.useEffect": ()=>{
|
|
if (pointerGraceArea) {
|
|
const handleTrackPointerGrace = {
|
|
"TooltipContentHoverable.useEffect.handleTrackPointerGrace": (event)=>{
|
|
const target = event.target;
|
|
const pointerPosition = {
|
|
x: event.clientX,
|
|
y: event.clientY
|
|
};
|
|
const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);
|
|
const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);
|
|
if (hasEnteredTarget) {
|
|
handleRemoveGraceArea();
|
|
} else if (isPointerOutsideGraceArea) {
|
|
handleRemoveGraceArea();
|
|
onClose();
|
|
}
|
|
}
|
|
}["TooltipContentHoverable.useEffect.handleTrackPointerGrace"];
|
|
document.addEventListener("pointermove", handleTrackPointerGrace);
|
|
return ({
|
|
"TooltipContentHoverable.useEffect": ()=>document.removeEventListener("pointermove", handleTrackPointerGrace)
|
|
})["TooltipContentHoverable.useEffect"];
|
|
}
|
|
}
|
|
}["TooltipContentHoverable.useEffect"], [
|
|
trigger,
|
|
content,
|
|
pointerGraceArea,
|
|
onClose,
|
|
handleRemoveGraceArea
|
|
]);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(TooltipContentImpl, {
|
|
...props,
|
|
ref: composedRefs
|
|
});
|
|
});
|
|
var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, {
|
|
isInside: false
|
|
});
|
|
var Slottable = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$tooltip$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$__["createSlottable"])("TooltipContent");
|
|
var TooltipContentImpl = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { __scopeTooltip, children, "aria-label": ariaLabel, onEscapeKeyDown, onPointerDownOutside, ...contentProps } = props;
|
|
const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);
|
|
const popperScope = usePopperScope(__scopeTooltip);
|
|
const { onClose } = context;
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"TooltipContentImpl.useEffect": ()=>{
|
|
document.addEventListener(TOOLTIP_OPEN, onClose);
|
|
return ({
|
|
"TooltipContentImpl.useEffect": ()=>document.removeEventListener(TOOLTIP_OPEN, onClose)
|
|
})["TooltipContentImpl.useEffect"];
|
|
}
|
|
}["TooltipContentImpl.useEffect"], [
|
|
onClose
|
|
]);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"TooltipContentImpl.useEffect": ()=>{
|
|
if (context.trigger) {
|
|
const handleScroll = {
|
|
"TooltipContentImpl.useEffect.handleScroll": (event)=>{
|
|
const target = event.target;
|
|
if (target?.contains(context.trigger)) onClose();
|
|
}
|
|
}["TooltipContentImpl.useEffect.handleScroll"];
|
|
window.addEventListener("scroll", handleScroll, {
|
|
capture: true
|
|
});
|
|
return ({
|
|
"TooltipContentImpl.useEffect": ()=>window.removeEventListener("scroll", handleScroll, {
|
|
capture: true
|
|
})
|
|
})["TooltipContentImpl.useEffect"];
|
|
}
|
|
}
|
|
}["TooltipContentImpl.useEffect"], [
|
|
context.trigger,
|
|
onClose
|
|
]);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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: false,
|
|
onEscapeKeyDown,
|
|
onPointerDownOutside,
|
|
onFocusOutside: (event)=>event.preventDefault(),
|
|
onDismiss: onClose,
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$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$coding$2f$projects$2f$LangBot$2f$web$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"], {
|
|
"data-state": context.stateAttribute,
|
|
...popperScope,
|
|
...contentProps,
|
|
ref: forwardedRef,
|
|
style: {
|
|
...contentProps.style,
|
|
// re-namespace exposed content custom properties
|
|
...{
|
|
"--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
"--radix-tooltip-content-available-width": "var(--radix-popper-available-width)",
|
|
"--radix-tooltip-content-available-height": "var(--radix-popper-available-height)",
|
|
"--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
|
|
"--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
|
|
}
|
|
},
|
|
children: [
|
|
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(Slottable, {
|
|
children
|
|
}),
|
|
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(VisuallyHiddenContentContextProvider, {
|
|
scope: __scopeTooltip,
|
|
isInside: true,
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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$__["Root"], {
|
|
id: context.contentId,
|
|
role: "tooltip",
|
|
children: ariaLabel || children
|
|
})
|
|
})
|
|
]
|
|
})
|
|
});
|
|
});
|
|
TooltipContent.displayName = CONTENT_NAME;
|
|
var ARROW_NAME = "TooltipArrow";
|
|
var TooltipArrow = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { __scopeTooltip, ...arrowProps } = props;
|
|
const popperScope = usePopperScope(__scopeTooltip);
|
|
const visuallyHiddenContentContext = useVisuallyHiddenContentContext(ARROW_NAME, __scopeTooltip);
|
|
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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
|
|
});
|
|
});
|
|
TooltipArrow.displayName = ARROW_NAME;
|
|
function getExitSideFromRect(point, rect) {
|
|
const top = Math.abs(rect.top - point.y);
|
|
const bottom = Math.abs(rect.bottom - point.y);
|
|
const right = Math.abs(rect.right - point.x);
|
|
const left = Math.abs(rect.left - point.x);
|
|
switch(Math.min(top, bottom, right, left)){
|
|
case left:
|
|
return "left";
|
|
case right:
|
|
return "right";
|
|
case top:
|
|
return "top";
|
|
case bottom:
|
|
return "bottom";
|
|
default:
|
|
throw new Error("unreachable");
|
|
}
|
|
}
|
|
function getPaddedExitPoints(exitPoint, exitSide, padding = 5) {
|
|
const paddedExitPoints = [];
|
|
switch(exitSide){
|
|
case "top":
|
|
paddedExitPoints.push({
|
|
x: exitPoint.x - padding,
|
|
y: exitPoint.y + padding
|
|
}, {
|
|
x: exitPoint.x + padding,
|
|
y: exitPoint.y + padding
|
|
});
|
|
break;
|
|
case "bottom":
|
|
paddedExitPoints.push({
|
|
x: exitPoint.x - padding,
|
|
y: exitPoint.y - padding
|
|
}, {
|
|
x: exitPoint.x + padding,
|
|
y: exitPoint.y - padding
|
|
});
|
|
break;
|
|
case "left":
|
|
paddedExitPoints.push({
|
|
x: exitPoint.x + padding,
|
|
y: exitPoint.y - padding
|
|
}, {
|
|
x: exitPoint.x + padding,
|
|
y: exitPoint.y + padding
|
|
});
|
|
break;
|
|
case "right":
|
|
paddedExitPoints.push({
|
|
x: exitPoint.x - padding,
|
|
y: exitPoint.y - padding
|
|
}, {
|
|
x: exitPoint.x - padding,
|
|
y: exitPoint.y + padding
|
|
});
|
|
break;
|
|
}
|
|
return paddedExitPoints;
|
|
}
|
|
function getPointsFromRect(rect) {
|
|
const { top, right, bottom, left } = rect;
|
|
return [
|
|
{
|
|
x: left,
|
|
y: top
|
|
},
|
|
{
|
|
x: right,
|
|
y: top
|
|
},
|
|
{
|
|
x: right,
|
|
y: bottom
|
|
},
|
|
{
|
|
x: left,
|
|
y: bottom
|
|
}
|
|
];
|
|
}
|
|
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 ii = polygon[i];
|
|
const jj = polygon[j];
|
|
const xi = ii.x;
|
|
const yi = ii.y;
|
|
const xj = jj.x;
|
|
const yj = jj.y;
|
|
const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
|
|
if (intersect) inside = !inside;
|
|
}
|
|
return inside;
|
|
}
|
|
function getHull(points) {
|
|
const newPoints = points.slice();
|
|
newPoints.sort((a, b)=>{
|
|
if (a.x < b.x) return -1;
|
|
else if (a.x > b.x) return 1;
|
|
else if (a.y < b.y) return -1;
|
|
else if (a.y > b.y) return 1;
|
|
else return 0;
|
|
});
|
|
return getHullPresorted(newPoints);
|
|
}
|
|
function getHullPresorted(points) {
|
|
if (points.length <= 1) return points.slice();
|
|
const upperHull = [];
|
|
for(let i = 0; i < points.length; i++){
|
|
const p = points[i];
|
|
while(upperHull.length >= 2){
|
|
const q = upperHull[upperHull.length - 1];
|
|
const r = upperHull[upperHull.length - 2];
|
|
if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();
|
|
else break;
|
|
}
|
|
upperHull.push(p);
|
|
}
|
|
upperHull.pop();
|
|
const lowerHull = [];
|
|
for(let i = points.length - 1; i >= 0; i--){
|
|
const p = points[i];
|
|
while(lowerHull.length >= 2){
|
|
const q = lowerHull[lowerHull.length - 1];
|
|
const r = lowerHull[lowerHull.length - 2];
|
|
if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();
|
|
else break;
|
|
}
|
|
lowerHull.push(p);
|
|
}
|
|
lowerHull.pop();
|
|
if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {
|
|
return upperHull;
|
|
} else {
|
|
return upperHull.concat(lowerHull);
|
|
}
|
|
}
|
|
var Provider = TooltipProvider;
|
|
var Root3 = Tooltip;
|
|
var Trigger = TooltipTrigger;
|
|
var Portal = TooltipPortal;
|
|
var Content2 = TooltipContent;
|
|
var Arrow2 = TooltipArrow;
|
|
;
|
|
//# sourceMappingURL=index.mjs.map
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/uuidjs/dist/uuid.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"UUID",
|
|
()=>UUID
|
|
]);
|
|
/**
|
|
* UUID.js - RFC-compliant UUID Generator for JavaScript
|
|
*
|
|
* @author LiosK
|
|
* @version v5.1.0
|
|
* @license Apache License 2.0: Copyright (c) 2010-2024 LiosK
|
|
* @packageDocumentation
|
|
*/ var _a;
|
|
class UUID {
|
|
// Core Component {{{
|
|
/**
|
|
* Generates a UUIDv4 as a hexadecimal string.
|
|
* @returns The hexadecimal UUID string.
|
|
*/ static generate() {
|
|
var rand = _a._getRandomInt, hex = _a._hexAligner;
|
|
return hex(rand(32), 8) + // time_low
|
|
"-" + hex(rand(16), 4) + // time_mid
|
|
"-" + hex(0x4000 | rand(12), 4) + // time_hi_and_version
|
|
"-" + hex(0x8000 | rand(14), 4) + // clock_seq_hi_and_reserved clock_seq_low
|
|
"-" + hex(rand(48), 12) // node
|
|
;
|
|
}
|
|
/**
|
|
* Returns an unsigned `x`-bit random integer.
|
|
* @param x - An unsigned integer ranging from 0 to 53, inclusive.
|
|
* @returns An unsigned `x`-bit random integer (`0 <= f(x) < 2^x`).
|
|
*/ static _getRandomInt(x) {
|
|
if (x < 0 || x > 53) {
|
|
return NaN;
|
|
}
|
|
var n = 0 | Math.random() * 0x40000000; // 1 << 30
|
|
return x > 30 ? n + (0 | Math.random() * (1 << x - 30)) * 0x40000000 : n >>> 30 - x;
|
|
}
|
|
/**
|
|
* Converts an integer to a zero-filled hexadecimal string.
|
|
*/ static _hexAligner(num, length) {
|
|
var str = num.toString(16), i = length - str.length, z = "0";
|
|
for(; i > 0; i >>>= 1, z += z){
|
|
if (i & 1) {
|
|
str = z + str;
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
/**
|
|
* Enables Math.random()-based pseudorandom number generator instead of cryptographically safer options.
|
|
* @since v3.5.0
|
|
* @deprecated This method is provided only to work around performance drawbacks of the safer algorithms.
|
|
*/ static useMathRandom() {
|
|
_a._getRandomInt = _a._mathPRNG;
|
|
}
|
|
/**
|
|
* Creates a UUIDv4 object.
|
|
* @returns A UUIDv4 object.
|
|
* @since 3.0
|
|
*/ static genV4() {
|
|
var rand = _a._getRandomInt;
|
|
return new _a(rand(32), rand(16), 0x4000 | rand(12), 0x80 | rand(6), rand(8), rand(48));
|
|
}
|
|
/**
|
|
* Converts a hexadecimal UUID string to a UUID object.
|
|
* @param strId - A hexadecimal UUID string ("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").
|
|
* @returns The UUID object or `null`.
|
|
* @since 3.0
|
|
*/ static parse(strId) {
|
|
var r, p = /^\s*(urn:uuid:|\{)?([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{2})([0-9a-f]{2})-([0-9a-f]{12})(\})?\s*$/i;
|
|
if (r = p.exec(strId)) {
|
|
var l = r[1] || "", t = r[8] || "";
|
|
if (l + t === "" || l === "{" && t === "}" || l.toLowerCase() === "urn:uuid:" && t === "") {
|
|
return new _a(parseInt(r[2], 16), parseInt(r[3], 16), parseInt(r[4], 16), parseInt(r[5], 16), parseInt(r[6], 16), parseInt(r[7], 16));
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
/**
|
|
* Initializes the UUID object.
|
|
* @param _timeLow - The time_low field (octet 0-3, uint32).
|
|
* @param _timeMid - The time_mid field (octet 4-5, uint16).
|
|
* @param _timeHiAndVersion - The time_hi_and_version field (octet 6-7, uint16).
|
|
* @param _clockSeqHiAndReserved - The clock_seq_hi_and_reserved field (octet 8, uint8).
|
|
* @param _clockSeqLow - The clock_seq_low field (octet 9, uint8).
|
|
* @param _node - The node field (octet 10-15, uint48).
|
|
*/ constructor(_timeLow, _timeMid, _timeHiAndVersion, _clockSeqHiAndReserved, _clockSeqLow, _node){
|
|
var names = _a.FIELD_NAMES, sizes = _a.FIELD_SIZES;
|
|
var bin = _a._binAligner, hex = _a._hexAligner;
|
|
// @ts-ignore
|
|
this.intFields = new Array(6);
|
|
// @ts-ignore
|
|
this.bitFields = new Array(6);
|
|
// @ts-ignore
|
|
this.hexFields = new Array(6);
|
|
for(var i = 0; i < 6; i++){
|
|
var intValue = parseInt(arguments[i] || 0);
|
|
// @ts-ignore
|
|
this.intFields[i] = this.intFields[names[i]] = intValue;
|
|
// @ts-ignore
|
|
this.bitFields[i] = this.bitFields[names[i]] = bin(intValue, sizes[i]);
|
|
// @ts-ignore
|
|
this.hexFields[i] = this.hexFields[names[i]] = hex(intValue, sizes[i] >>> 2);
|
|
}
|
|
this.version = this.intFields.timeHiAndVersion >>> 12 & 0xf;
|
|
this.bitString = this.bitFields.join("");
|
|
this.hexNoDelim = this.hexFields.join("");
|
|
this.hexString = this.hexFields[0] + "-" + this.hexFields[1] + "-" + this.hexFields[2] + "-" + this.hexFields[3] + this.hexFields[4] + "-" + this.hexFields[5];
|
|
this.urn = "urn:uuid:" + this.hexString;
|
|
}
|
|
/**
|
|
* Converts an integer to a zero-filled binary string.
|
|
*/ static _binAligner(num, length) {
|
|
var str = num.toString(2), i = length - str.length, z = "0";
|
|
for(; i > 0; i >>>= 1, z += z){
|
|
if (i & 1) {
|
|
str = z + str;
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
/**
|
|
* Returns the hexadecimal string representation.
|
|
* @returns {@link UUID#hexString}.
|
|
*/ toString() {
|
|
return this.hexString;
|
|
}
|
|
/**
|
|
* Tests if two UUID objects are equal.
|
|
* @returns `true` if two UUID objects are equal.
|
|
*/ equals(uuid) {
|
|
if (!(uuid instanceof _a)) {
|
|
return false;
|
|
}
|
|
for(var i = 0; i < 6; i++){
|
|
if (this.intFields[i] !== uuid.intFields[i]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
// }}}
|
|
// UUIDv1 Component (1 of 2) {{{
|
|
/**
|
|
* Creates a UUIDv1 object.
|
|
* @returns A UUIDv1 object.
|
|
* @since 3.0
|
|
*/ static genV1() {
|
|
if (_a._state == null) {
|
|
_a._state = new UUIDState();
|
|
}
|
|
var now = new Date().getTime(), st = _a._state;
|
|
if (now != st.timestamp) {
|
|
if (now < st.timestamp) {
|
|
st.sequence++;
|
|
}
|
|
st.timestamp = now;
|
|
st.tick = _a._getRandomInt(12); // up to 4095, allowing 5904 tick per msec
|
|
} else if (st.tick < 9992) {
|
|
// advance sub-millisecond fraction up to 9999 100-nanoseconds
|
|
st.tick += 1 + _a._getRandomInt(3);
|
|
} else {
|
|
// advance seq if tick overflows in remote chance
|
|
st.sequence++;
|
|
}
|
|
// format time fields
|
|
var tf = _a._getTimeFieldValues(st.timestamp);
|
|
var tl = tf.low + st.tick;
|
|
var thav = tf.hi & 0xfff | 0x1000; // set version '0001'
|
|
// format clock sequence
|
|
st.sequence &= 0x3fff;
|
|
var cshar = st.sequence >>> 8 | 0x80; // set variant '10'
|
|
var csl = st.sequence & 0xff;
|
|
return new _a(tl, tf.mid, thav, cshar, csl, st.node);
|
|
}
|
|
/**
|
|
* Re-initializes the internal state for UUIDv1 and UUIDv6 creation.
|
|
* @since 3.0
|
|
*/ static resetState() {
|
|
_a._state = new UUIDState();
|
|
}
|
|
/**
|
|
* @param time - The number of milliseconds elapsed since 1970-01-01.
|
|
*/ static _getTimeFieldValues(time) {
|
|
var ts = time - Date.UTC(1582, 9, 15);
|
|
var hm = ts / 0x100000000 * 10000 & 0xfffffff;
|
|
return {
|
|
low: (ts & 0xfffffff) * 10000 % 0x100000000,
|
|
mid: hm & 0xffff,
|
|
hi: hm >>> 16,
|
|
timestamp: ts
|
|
};
|
|
}
|
|
// }}}
|
|
// UUIDv6 Component {{{
|
|
/**
|
|
* Creates a UUIDv6 object.
|
|
* @returns A UUIDv6 object.
|
|
* @since v4.2.13
|
|
*/ static genV6() {
|
|
if (_a._state == null) {
|
|
_a._state = new UUIDState();
|
|
}
|
|
var now = new Date().getTime(), st = _a._state;
|
|
if (now != st.timestamp) {
|
|
if (now < st.timestamp) {
|
|
st.sequence++;
|
|
}
|
|
st.timestamp = now;
|
|
st.tick = _a._getRandomInt(12); // up to 4095, allowing 5904 tick per msec
|
|
} else if (st.tick < 9992) {
|
|
// advance sub-millisecond fraction up to 9999 100-nanoseconds
|
|
st.tick += 1 + _a._getRandomInt(3);
|
|
} else {
|
|
// advance seq if tick overflows in remote chance
|
|
st.sequence++;
|
|
}
|
|
// format time fields
|
|
var ts = st.timestamp - Date.UTC(1582, 9, 15);
|
|
var th = Math.floor(ts / 0x10000000 * 10000) % 0x100000000;
|
|
var midlow = ((ts & 0xfffffff) * 10000 & 0xfffffff) + st.tick;
|
|
var tm = midlow >>> 12;
|
|
var tlav = midlow & 0xfff | 0x6000; // set version '0110'
|
|
// format clock sequence
|
|
st.sequence &= 0x3fff;
|
|
var cshar = st.sequence >>> 8 | 0x80; // set variant '10'
|
|
var csl = st.sequence & 0xff;
|
|
return new _a(th, tm, tlav, cshar, csl, st.node);
|
|
}
|
|
}
|
|
_a = UUID;
|
|
// }}}
|
|
// Advanced Random Number Generator Component {{{
|
|
UUID._mathPRNG = _a._getRandomInt;
|
|
(()=>{
|
|
if (typeof crypto !== "undefined" && crypto.getRandomValues) {
|
|
// Web Cryptography API
|
|
_a._getRandomInt = (x)=>{
|
|
if (x < 0 || x > 53) {
|
|
return NaN;
|
|
}
|
|
var ns = new Uint32Array(x > 32 ? 2 : 1);
|
|
crypto.getRandomValues(ns);
|
|
return x > 32 ? ns[0] + (ns[1] >>> 64 - x) * 0x100000000 : ns[0] >>> 32 - x;
|
|
};
|
|
}
|
|
})();
|
|
// }}}
|
|
// UUID Object Component {{{
|
|
/**
|
|
* The names of UUID internal fields.
|
|
*
|
|
* Note that these internal fields from the obsolete RFC 4122 are no longer
|
|
* used in the current RFC 9562.
|
|
* @since 3.0
|
|
*/ UUID.FIELD_NAMES = [
|
|
"timeLow",
|
|
"timeMid",
|
|
"timeHiAndVersion",
|
|
"clockSeqHiAndReserved",
|
|
"clockSeqLow",
|
|
"node"
|
|
];
|
|
/**
|
|
* The sizes of UUID internal fields.
|
|
*
|
|
* Note that these internal fields from the obsolete RFC 4122 are no longer
|
|
* used in the current RFC 9562.
|
|
* @since 3.0
|
|
*/ UUID.FIELD_SIZES = [
|
|
32,
|
|
16,
|
|
16,
|
|
8,
|
|
8,
|
|
48
|
|
];
|
|
/**
|
|
* A nil UUID object.
|
|
* @since v3.4.0
|
|
*/ UUID.NIL = new _a(0, 0, 0, 0, 0, 0);
|
|
/**
|
|
* The persistent internal state for UUIDv1 and UUIDv6 creation.
|
|
*/ UUID._state = null;
|
|
// UUIDv1 Component (2 of 2) {{{
|
|
class UUIDState {
|
|
constructor(){
|
|
// @ts-ignore
|
|
var rand = UUID._getRandomInt;
|
|
this.timestamp = 0;
|
|
this.tick = 0; // timestamp fraction smaller than a millisecond
|
|
this.sequence = rand(14);
|
|
this.node = (rand(8) | 1) * 0x10000000000 + rand(40); // set multicast bit '1'
|
|
}
|
|
} // }}}
|
|
// vim: fdm=marker fmr&
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/react-photo-view/dist/react-photo-view.module.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"PhotoProvider",
|
|
()=>$,
|
|
"PhotoSlider",
|
|
()=>J,
|
|
"PhotoView",
|
|
()=>ee
|
|
]);
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)");
|
|
;
|
|
;
|
|
function h() {
|
|
return h = ("TURBOPACK compile-time truthy", 1) ? Object.assign.bind() : "TURBOPACK unreachable", h.apply(null, arguments);
|
|
}
|
|
function m(e, n) {
|
|
if (null == e) return {};
|
|
var t = {};
|
|
for(var r in e)if (({}).hasOwnProperty.call(e, r)) {
|
|
if (n.includes(r)) continue;
|
|
t[r] = e[r];
|
|
}
|
|
return t;
|
|
}
|
|
function g(e) {
|
|
var t = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])({
|
|
fn: e,
|
|
curr: void 0
|
|
}).current;
|
|
if (t.fn = e, !t.curr) {
|
|
var r = Object.create(null);
|
|
Object.keys(e).forEach(function(e) {
|
|
r[e] = function() {
|
|
var n;
|
|
return (n = t.fn[e]).call.apply(n, [
|
|
t.fn
|
|
].concat([].slice.call(arguments)));
|
|
};
|
|
}), t.curr = r;
|
|
}
|
|
return t.curr;
|
|
}
|
|
function p(e) {
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useReducer"])(function(e, n) {
|
|
return h({}, e, "function" == typeof n ? n(e) : n);
|
|
}, e);
|
|
}
|
|
var w = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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), y = "cubic-bezier(0.25, 0.8, 0.25, 1)", x = 20, C = "undefined" != typeof window && "ontouchstart" in window, b = function(e, n, t) {
|
|
return Math.max(Math.min(e, t), n);
|
|
}, E = function(e, n, t) {
|
|
return void 0 === n && (n = 0), void 0 === t && (t = 0), b(e, 1 * (1 - t), Math.max(6, n) * (1 + t));
|
|
}, k = "undefined" == typeof window || /ServerSideRendering/.test(navigator && navigator.userAgent) ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"] : __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLayoutEffect"];
|
|
function P(e, t, r) {
|
|
var o = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(t);
|
|
o.current = t, (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])(function() {
|
|
function n(e) {
|
|
o.current(e);
|
|
}
|
|
return e && window.addEventListener(e, n, r), function() {
|
|
e && window.removeEventListener(e, n);
|
|
};
|
|
}, [
|
|
e
|
|
]);
|
|
}
|
|
var _ = [
|
|
"container"
|
|
];
|
|
function M(n) {
|
|
var t = n.container, r = void 0 === t ? document.body : t, i = m(n, _);
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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", h({}, i)), r);
|
|
}
|
|
function Y(n) {
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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", h({
|
|
width: "44",
|
|
height: "44",
|
|
viewBox: "0 0 768 768"
|
|
}, n), __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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("path", {
|
|
d: "M607.5 205.5l-178.5 178.5 178.5 178.5-45 45-178.5-178.5-178.5 178.5-45-45 178.5-178.5-178.5-178.5 45-45 178.5 178.5 178.5-178.5z"
|
|
}));
|
|
}
|
|
function X(n) {
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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", h({
|
|
width: "44",
|
|
height: "44",
|
|
viewBox: "0 0 768 768"
|
|
}, n), __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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("path", {
|
|
d: "M640.5 352.5v63h-390l178.5 180-45 45-256.5-256.5 256.5-256.5 45 45-178.5 180h390z"
|
|
}));
|
|
}
|
|
function N(n) {
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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", h({
|
|
width: "44",
|
|
height: "44",
|
|
viewBox: "0 0 768 768"
|
|
}, n), __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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("path", {
|
|
d: "M384 127.5l256.5 256.5-256.5 256.5-45-45 178.5-180h-390v-63h390l-178.5-180z"
|
|
}));
|
|
}
|
|
function W() {
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])(function() {
|
|
var e = document.body.style, n = e.overflow;
|
|
return e.overflow = "hidden", function() {
|
|
e.overflow = n;
|
|
};
|
|
}, []), null;
|
|
}
|
|
function S(e) {
|
|
var n = e.touches[0], t = n.clientX, r = n.clientY;
|
|
if (e.touches.length >= 2) {
|
|
var i = e.touches[1], o = i.clientX, a = i.clientY;
|
|
return [
|
|
(t + o) / 2,
|
|
(r + a) / 2,
|
|
Math.sqrt(Math.pow(o - t, 2) + Math.pow(a - r, 2))
|
|
];
|
|
}
|
|
return [
|
|
t,
|
|
r,
|
|
0
|
|
];
|
|
}
|
|
var T = function(e, n, t, r) {
|
|
var i, o = t * n, a = (o - r) / 2, c = e;
|
|
return o <= r ? (i = 1, c = 0) : e > 0 && a - e <= 0 ? (i = 2, c = a) : e < 0 && a + e <= 0 && (i = 3, c = -a), [
|
|
i,
|
|
c
|
|
];
|
|
};
|
|
function V(e, n, t, r, i, o, a, c, u, l) {
|
|
void 0 === a && (a = innerWidth / 2), void 0 === c && (c = innerHeight / 2), void 0 === u && (u = 0), void 0 === l && (l = 0);
|
|
var s = T(e, o, t, innerWidth)[0], d = T(n, o, r, innerHeight), v = innerWidth / 2, f = innerHeight / 2;
|
|
return {
|
|
x: a - o / i * (a - (v + e)) - v + (r / t >= 3 && t * o === innerWidth ? 0 : s ? u / 2 : u),
|
|
y: c - o / i * (c - (f + n)) - f + (d[0] ? l / 2 : l),
|
|
lastCX: a,
|
|
lastCY: c
|
|
};
|
|
}
|
|
function R(e, n, t) {
|
|
var r = e % 180 != 0;
|
|
return r ? [
|
|
t,
|
|
n,
|
|
r
|
|
] : [
|
|
n,
|
|
t,
|
|
r
|
|
];
|
|
}
|
|
function A(e, n, t) {
|
|
var r = R(t, innerWidth, innerHeight), i = r[0], o = r[1], a = 0, c = i, u = o, l = e / n * o, s = n / e * i;
|
|
return e < i && n < o ? (c = e, u = n) : e < i && n >= o ? c = l : e >= i && n < o || e / n > i / o ? u = s : n / e >= 3 && !r[2] ? a = ((u = s) - o) / 2 : c = l, {
|
|
width: c,
|
|
height: u,
|
|
x: 0,
|
|
y: a,
|
|
pause: !0
|
|
};
|
|
}
|
|
function I(e, t) {
|
|
var r = t.leading, i = void 0 !== r && r, o = t.maxWait, a = t.wait, u = void 0 === a ? o || 0 : a, l = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(e);
|
|
l.current = e;
|
|
var s = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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), d = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(), v = function() {
|
|
return d.current && clearTimeout(d.current);
|
|
}, f = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])(function() {
|
|
var e = [].slice.call(arguments), n = Date.now();
|
|
function t() {
|
|
s.current = n, v(), l.current.apply(null, e);
|
|
}
|
|
var r = s.current, a = n - r;
|
|
if (0 === r && (i && t(), s.current = n), void 0 !== o) {
|
|
if (a > o) return void t();
|
|
} else a < u && (s.current = n);
|
|
v(), d.current = setTimeout(function() {
|
|
t(), s.current = 0;
|
|
}, u);
|
|
}, [
|
|
u,
|
|
o,
|
|
i
|
|
]);
|
|
return f.cancel = v, f;
|
|
}
|
|
var H = function(e, n, t) {
|
|
return F(e, n, t, 100, function(e) {
|
|
return e;
|
|
}, function() {
|
|
return F(n, e, t);
|
|
});
|
|
}, L = function(e) {
|
|
return 1 - Math.pow(1 - e, 4);
|
|
};
|
|
function F(e, n, t, r, i, o) {
|
|
void 0 === r && (r = 400), void 0 === i && (i = L);
|
|
var a = n - e;
|
|
if (0 !== a) {
|
|
var c = Date.now(), u = 0, l = function() {
|
|
var n = Math.min(1, (Date.now() - c) / r);
|
|
t(e + i(n) * a) && n < 1 ? s() : (cancelAnimationFrame(u), n >= 1 && o && o());
|
|
};
|
|
s();
|
|
}
|
|
function s() {
|
|
u = requestAnimationFrame(l);
|
|
}
|
|
}
|
|
var D = {
|
|
T: 0,
|
|
L: 0,
|
|
W: 0,
|
|
H: 0,
|
|
FIT: void 0
|
|
}, B = function() {
|
|
var e = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(!1);
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])(function() {
|
|
return e.current = !0, function() {
|
|
e.current = !1;
|
|
};
|
|
}, []), e;
|
|
}, O = [
|
|
"className"
|
|
];
|
|
function z(n) {
|
|
var t = n.className, r = void 0 === t ? "" : t, i = m(n, O);
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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", h({
|
|
className: "PhotoView__Spinner " + r
|
|
}, i), __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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", {
|
|
viewBox: "0 0 32 32",
|
|
width: "36",
|
|
height: "36",
|
|
fill: "white"
|
|
}, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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("path", {
|
|
opacity: ".25",
|
|
d: "M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4"
|
|
}), __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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("path", {
|
|
d: "M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"
|
|
})));
|
|
}
|
|
var j = [
|
|
"src",
|
|
"loaded",
|
|
"broken",
|
|
"className",
|
|
"onPhotoLoad",
|
|
"loadingElement",
|
|
"brokenElement"
|
|
];
|
|
function q(n) {
|
|
var t = n.src, r = n.loaded, i = n.broken, o = n.className, a = n.onPhotoLoad, c = n.loadingElement, u = n.brokenElement, l = m(n, j), s = B();
|
|
return t && !i ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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("img", h({
|
|
className: "PhotoView__Photo" + (o ? " " + o : ""),
|
|
src: t,
|
|
onLoad: function(e) {
|
|
var n = e.target;
|
|
s.current && a({
|
|
loaded: !0,
|
|
naturalWidth: n.naturalWidth,
|
|
naturalHeight: n.naturalHeight
|
|
});
|
|
},
|
|
onError: function() {
|
|
s.current && a({
|
|
broken: !0
|
|
});
|
|
},
|
|
draggable: !1,
|
|
alt: ""
|
|
}, l)), !r && (c ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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("span", {
|
|
className: "PhotoView__icon"
|
|
}, c) : __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(z, {
|
|
className: "PhotoView__icon"
|
|
}))) : u ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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("span", {
|
|
className: "PhotoView__icon"
|
|
}, "function" == typeof u ? u({
|
|
src: t
|
|
}) : u) : null;
|
|
}
|
|
var K = {
|
|
naturalWidth: void 0,
|
|
naturalHeight: void 0,
|
|
width: void 0,
|
|
height: void 0,
|
|
loaded: void 0,
|
|
broken: !1,
|
|
x: 0,
|
|
y: 0,
|
|
touched: !1,
|
|
maskTouched: !1,
|
|
rotate: 0,
|
|
scale: 1,
|
|
CX: 0,
|
|
CY: 0,
|
|
lastX: 0,
|
|
lastY: 0,
|
|
lastCX: 0,
|
|
lastCY: 0,
|
|
lastScale: 1,
|
|
touchTime: 0,
|
|
touchLength: 0,
|
|
pause: !0,
|
|
stopRaf: !0,
|
|
reach: void 0
|
|
};
|
|
function U(t) {
|
|
var r = t.item, o = r.src, a = r.render, c = r.width, l = void 0 === c ? 0 : c, s = r.height, d = void 0 === s ? 0 : s, v = r.originRef, f = t.visible, m = t.speed, w = t.easing, y = t.wrapClassName, x = t.className, b = t.style, _ = t.loadingElement, M = t.brokenElement, Y = t.onPhotoTap, X = t.onMaskTap, N = t.onReachMove, W = t.onReachUp, L = t.onPhotoResize, O = t.isActive, z = t.expose, j = p(K), U = j[0], G = j[1], J = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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), Q = B(), Z = U.naturalWidth, $ = void 0 === Z ? l : Z, ee = U.naturalHeight, ne = void 0 === ee ? d : ee, te = U.width, re = void 0 === te ? l : te, ie = U.height, oe = void 0 === ie ? d : ie, ae = U.loaded, ce = void 0 === ae ? !o : ae, ue = U.broken, le = U.x, se = U.y, de = U.touched, ve = U.stopRaf, fe = U.maskTouched, he = U.rotate, me = U.scale, ge = U.CX, pe = U.CY, we = U.lastX, ye = U.lastY, xe = U.lastCX, Ce = U.lastCY, be = U.lastScale, Ee = U.touchTime, ke = U.touchLength, Pe = U.pause, _e = U.reach, Me = g({
|
|
onScale: function(e) {
|
|
return Ye(E(e));
|
|
},
|
|
onRotate: function(e) {
|
|
he !== e && (z({
|
|
rotate: e
|
|
}), G(h({
|
|
rotate: e
|
|
}, A($, ne, e))));
|
|
}
|
|
});
|
|
function Ye(e, n, t) {
|
|
me !== e && (z({
|
|
scale: e
|
|
}), G(h({
|
|
scale: e
|
|
}, V(le, se, re, oe, me, e, n, t), e <= 1 && {
|
|
x: 0,
|
|
y: 0
|
|
})));
|
|
}
|
|
var Xe = I(function(e, n, t) {
|
|
if (void 0 === t && (t = 0), (de || fe) && O) {
|
|
var r = R(he, re, oe), i = r[0], o = r[1];
|
|
if (0 === t && 0 === J.current) {
|
|
var a = Math.abs(e - ge) <= 20, c = Math.abs(n - pe) <= 20;
|
|
if (a && c) return void G({
|
|
lastCX: e,
|
|
lastCY: n
|
|
});
|
|
J.current = a ? n > pe ? 3 : 2 : 1;
|
|
}
|
|
var u, l = e - xe, s = n - Ce;
|
|
if (0 === t) {
|
|
var d = T(l + we, me, i, innerWidth)[0], v = T(s + ye, me, o, innerHeight);
|
|
u = function(e, n, t, r) {
|
|
return n && 1 === e || "x" === r ? "x" : t && e > 1 || "y" === r ? "y" : void 0;
|
|
}(J.current, d, v[0], _e), void 0 !== u && N(u, e, n, me);
|
|
}
|
|
if ("x" === u || fe) return void G({
|
|
reach: "x"
|
|
});
|
|
var f = E(me + (t - ke) / 100 / 2 * me, $ / re, .2);
|
|
z({
|
|
scale: f
|
|
}), G(h({
|
|
touchLength: t,
|
|
reach: u,
|
|
scale: f
|
|
}, V(le, se, re, oe, me, f, e, n, l, s)));
|
|
}
|
|
}, {
|
|
maxWait: 8
|
|
});
|
|
function Ne(e) {
|
|
return !ve && !de && (Q.current && G(h({}, e, {
|
|
pause: f
|
|
})), Q.current);
|
|
}
|
|
var We, Se, Te, Ve, Re, Ae, Ie, He, Le = (Re = function(e) {
|
|
return Ne({
|
|
x: e
|
|
});
|
|
}, Ae = function(e) {
|
|
return Ne({
|
|
y: e
|
|
});
|
|
}, Ie = function(e) {
|
|
return Q.current && (z({
|
|
scale: e
|
|
}), G({
|
|
scale: e
|
|
})), !de && Q.current;
|
|
}, He = g({
|
|
X: function(e) {
|
|
return Re(e);
|
|
},
|
|
Y: function(e) {
|
|
return Ae(e);
|
|
},
|
|
S: function(e) {
|
|
return Ie(e);
|
|
}
|
|
}), function(e, n, t, r, i, o, a, c, u, l, s) {
|
|
var d = R(l, i, o), v = d[0], f = d[1], h = T(e, c, v, innerWidth), m = h[0], g = h[1], p = T(n, c, f, innerHeight), w = p[0], y = p[1], x = Date.now() - s;
|
|
if (x >= 200 || c !== a || Math.abs(u - a) > 1) {
|
|
var C = V(e, n, i, o, a, c), b = C.x, E = C.y, k = m ? g : b !== e ? b : null, P = w ? y : E !== n ? E : null;
|
|
return null !== k && F(e, k, He.X), null !== P && F(n, P, He.Y), void (c !== a && F(a, c, He.S));
|
|
}
|
|
var _ = (e - t) / x, M = (n - r) / x, Y = Math.sqrt(Math.pow(_, 2) + Math.pow(M, 2)), X = !1, N = !1;
|
|
!function(e, n) {
|
|
var t, r = e, i = 0, o = 0, a = function(o) {
|
|
t || (t = o);
|
|
var a = o - t, l = Math.sign(e), s = -.001 * l, d = Math.sign(-r) * Math.pow(r, 2) * 2e-4, v = r * a + (s + d) * Math.pow(a, 2) / 2;
|
|
i += v, t = o, l * (r += (s + d) * a) <= 0 ? u() : n(i) ? c() : u();
|
|
};
|
|
function c() {
|
|
o = requestAnimationFrame(a);
|
|
}
|
|
function u() {
|
|
cancelAnimationFrame(o);
|
|
}
|
|
c();
|
|
}(Y, function(t) {
|
|
var r = e + t * (_ / Y), i = n + t * (M / Y), o = T(r, a, v, innerWidth), c = o[0], u = o[1], l = T(i, a, f, innerHeight), s = l[0], d = l[1];
|
|
if (c && !X && (X = !0, m ? F(r, u, He.X) : H(u, r + (r - u), He.X)), s && !N && (N = !0, w ? F(i, d, He.Y) : H(d, i + (i - d), He.Y)), X && N) return !1;
|
|
var h = X || He.X(u), g = N || He.Y(d);
|
|
return h && g;
|
|
});
|
|
}), Fe = (We = Y, Se = function(e, n) {
|
|
_e || Ye(1 !== me ? 1 : Math.max(2, $ / re), e, n);
|
|
}, Te = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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), Ve = I(function() {
|
|
Te.current = 0, We.apply(void 0, [].slice.call(arguments));
|
|
}, {
|
|
wait: 300
|
|
}), function() {
|
|
var e = [].slice.call(arguments);
|
|
Te.current += 1, Ve.apply(void 0, e), Te.current >= 2 && (Ve.cancel(), Te.current = 0, Se.apply(void 0, e));
|
|
});
|
|
function De(e, n) {
|
|
if (J.current = 0, (de || fe) && O) {
|
|
G({
|
|
touched: !1,
|
|
maskTouched: !1,
|
|
pause: !1,
|
|
stopRaf: !1,
|
|
reach: void 0
|
|
});
|
|
var t = E(me, $ / re);
|
|
if (Le(le, se, we, ye, re, oe, me, t, be, he, Ee), W(e, n), ge === e && pe === n) {
|
|
if (de) return void Fe(e, n);
|
|
fe && X(e, n);
|
|
}
|
|
}
|
|
}
|
|
function Be(e, n, t) {
|
|
void 0 === t && (t = 0), G({
|
|
touched: !0,
|
|
CX: e,
|
|
CY: n,
|
|
lastCX: e,
|
|
lastCY: n,
|
|
lastX: le,
|
|
lastY: se,
|
|
lastScale: me,
|
|
touchLength: t,
|
|
touchTime: Date.now()
|
|
});
|
|
}
|
|
function Oe(e) {
|
|
G({
|
|
maskTouched: !0,
|
|
CX: e.clientX,
|
|
CY: e.clientY,
|
|
lastX: le,
|
|
lastY: se
|
|
});
|
|
}
|
|
P(C ? void 0 : "mousemove", function(e) {
|
|
e.preventDefault(), Xe(e.clientX, e.clientY);
|
|
}), P(C ? void 0 : "mouseup", function(e) {
|
|
De(e.clientX, e.clientY);
|
|
}), P(C ? "touchmove" : void 0, function(e) {
|
|
e.preventDefault();
|
|
var n = S(e);
|
|
Xe.apply(void 0, n);
|
|
}, {
|
|
passive: !1
|
|
}), P(C ? "touchend" : void 0, function(e) {
|
|
var n = e.changedTouches[0];
|
|
De(n.clientX, n.clientY);
|
|
}, {
|
|
passive: !1
|
|
}), P("resize", I(function() {
|
|
ce && !de && (G(A($, ne, he)), L());
|
|
}, {
|
|
maxWait: 8
|
|
})), k(function() {
|
|
O && z(h({
|
|
scale: me,
|
|
rotate: he
|
|
}, Me));
|
|
}, [
|
|
O
|
|
]);
|
|
var ze = function(e, t, r, o, a, c, l, s, d, v) {
|
|
var f = function(e, t, r, i, o) {
|
|
var a = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(!1), c = p({
|
|
lead: !0,
|
|
scale: r
|
|
}), u = c[0], l = u.lead, s = u.scale, d = c[1], v = I(function(e) {
|
|
try {
|
|
return o(!0), d({
|
|
lead: !1,
|
|
scale: e
|
|
}), Promise.resolve();
|
|
} catch (e) {
|
|
return Promise.reject(e);
|
|
}
|
|
}, {
|
|
wait: i
|
|
});
|
|
return k(function() {
|
|
a.current ? (o(!1), d({
|
|
lead: !0
|
|
}), v(r)) : a.current = !0;
|
|
}, [
|
|
r
|
|
]), l ? [
|
|
e * s,
|
|
t * s,
|
|
r / s
|
|
] : [
|
|
e * r,
|
|
t * r,
|
|
1
|
|
];
|
|
}(c, l, s, d, v), h = f[0], m = f[1], w = f[2], y = function(e, t, r, o, a) {
|
|
var c = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])(D), l = c[0], s = c[1], d = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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), v = d[0], f = d[1], h = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(), m = g({
|
|
OK: function() {
|
|
return e && f(4);
|
|
}
|
|
});
|
|
function p(e) {
|
|
a(!1), f(e);
|
|
}
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])(function() {
|
|
if (h.current || (h.current = Date.now()), r) {
|
|
if (function(e, n) {
|
|
var t = e && e.current;
|
|
if (t && 1 === t.nodeType) {
|
|
var r = t.getBoundingClientRect();
|
|
n({
|
|
T: r.top,
|
|
L: r.left,
|
|
W: r.width,
|
|
H: r.height,
|
|
FIT: "IMG" === t.tagName ? getComputedStyle(t).objectFit : void 0
|
|
});
|
|
}
|
|
}(t, s), e) return Date.now() - h.current < 250 ? (f(1), requestAnimationFrame(function() {
|
|
f(2), requestAnimationFrame(function() {
|
|
return p(3);
|
|
});
|
|
}), void setTimeout(m.OK, o)) : void f(4);
|
|
p(5);
|
|
}
|
|
}, [
|
|
e,
|
|
r
|
|
]), [
|
|
v,
|
|
l
|
|
];
|
|
}(e, t, r, d, v), x = y[0], C = y[1], b = C.W, E = C.FIT, P = innerWidth / 2, _ = innerHeight / 2, M = x < 3 || x > 4;
|
|
return [
|
|
M ? b ? C.L : P : o + (P - c * s / 2),
|
|
M ? b ? C.T : _ : a + (_ - l * s / 2),
|
|
h,
|
|
M && E ? h * (C.H / b) : m,
|
|
0 === x ? w : M ? b / (c * s) || .01 : w,
|
|
M ? E ? 1 : 0 : 1,
|
|
x,
|
|
E
|
|
];
|
|
}(f, v, ce, le, se, re, oe, me, m, function(e) {
|
|
return G({
|
|
pause: e
|
|
});
|
|
}), je = ze[4], qe = ze[6], Ke = "transform " + m + "ms " + w, Ue = {
|
|
className: x,
|
|
onMouseDown: C ? void 0 : function(e) {
|
|
e.stopPropagation(), 0 === e.button && Be(e.clientX, e.clientY, 0);
|
|
},
|
|
onTouchStart: C ? function(e) {
|
|
e.stopPropagation(), Be.apply(void 0, S(e));
|
|
} : void 0,
|
|
onWheel: function(e) {
|
|
if (!_e) {
|
|
var n = E(me - e.deltaY / 100 / 2, $ / re);
|
|
G({
|
|
stopRaf: !0
|
|
}), Ye(n, e.clientX, e.clientY);
|
|
}
|
|
},
|
|
style: {
|
|
width: ze[2] + "px",
|
|
height: ze[3] + "px",
|
|
opacity: ze[5],
|
|
objectFit: 4 === qe ? void 0 : ze[7],
|
|
transform: he ? "rotate(" + he + "deg)" : void 0,
|
|
transition: qe > 2 ? Ke + ", opacity " + m + "ms ease, height " + (qe < 4 ? m / 2 : qe > 4 ? m : 0) + "ms " + w : void 0
|
|
}
|
|
};
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView__PhotoWrap" + (y ? " " + y : ""),
|
|
style: b,
|
|
onMouseDown: !C && O ? Oe : void 0,
|
|
onTouchStart: C && O ? function(e) {
|
|
return Oe(e.touches[0]);
|
|
} : void 0
|
|
}, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView__PhotoBox",
|
|
style: {
|
|
transform: "matrix(" + je + ", 0, 0, " + je + ", " + ze[0] + ", " + ze[1] + ")",
|
|
transition: de || Pe ? void 0 : Ke,
|
|
willChange: O ? "transform" : void 0
|
|
}
|
|
}, o ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(q, h({
|
|
src: o,
|
|
loaded: ce,
|
|
broken: ue
|
|
}, Ue, {
|
|
onPhotoLoad: function(e) {
|
|
G(h({}, e, e.loaded && A(e.naturalWidth || 0, e.naturalHeight || 0, he)));
|
|
},
|
|
loadingElement: _,
|
|
brokenElement: M
|
|
})) : a && a({
|
|
attrs: Ue,
|
|
scale: je,
|
|
rotate: he
|
|
})));
|
|
}
|
|
var G = {
|
|
x: 0,
|
|
touched: !1,
|
|
pause: !1,
|
|
lastCX: void 0,
|
|
lastCY: void 0,
|
|
bg: void 0,
|
|
lastBg: void 0,
|
|
overlay: !0,
|
|
minimal: !0,
|
|
scale: 1,
|
|
rotate: 0
|
|
};
|
|
function J(r) {
|
|
var i = r.loop, o = void 0 === i ? 3 : i, c = r.speed, l = r.easing, s = r.photoClosable, d = r.maskClosable, v = void 0 === d || d, f = r.maskOpacity, h = void 0 === f ? 1 : f, m = r.pullClosable, w = void 0 === m || m, E = r.bannerVisible, _ = void 0 === E || E, S = r.overlayRender, T = r.toolbarRender, V = r.className, R = r.maskClassName, A = r.photoClassName, I = r.photoWrapClassName, H = r.loadingElement, L = r.brokenElement, F = r.images, D = r.index, B = void 0 === D ? 0 : D, O = r.onIndexChange, z = r.visible, j = r.onClose, q = r.afterClose, K = r.portalContainer, J = p(G), Q = J[0], Z = J[1], $ = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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), ee = $[0], ne = $[1], te = Q.x, re = Q.touched, ie = Q.pause, oe = Q.lastCX, ae = Q.lastCY, ce = Q.bg, ue = void 0 === ce ? h : ce, le = Q.lastBg, se = Q.overlay, de = Q.minimal, ve = Q.scale, fe = Q.rotate, he = Q.onScale, me = Q.onRotate, ge = r.hasOwnProperty("index"), pe = ge ? B : ee, we = ge ? O : ne, ye = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(pe), xe = F.length, Ce = F[pe], be = "boolean" == typeof o ? o : xe > o, Ee = function(e, r) {
|
|
var i = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useReducer"])(function(e) {
|
|
return !e;
|
|
}, !1)[1], o = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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), c = function(t) {
|
|
var r = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(t);
|
|
function i(e) {
|
|
r.current = e;
|
|
}
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"])(function() {
|
|
!function(n) {
|
|
e ? (n(e), o.current = 1) : o.current = 2;
|
|
}(i);
|
|
}, [
|
|
t
|
|
]), [
|
|
r.current,
|
|
i
|
|
];
|
|
}(e), u = c[1];
|
|
return [
|
|
c[0],
|
|
o.current,
|
|
function() {
|
|
i(), 2 === o.current && (u(!1), r && r()), o.current = 0;
|
|
}
|
|
];
|
|
}(z, q), ke = Ee[0], Pe = Ee[1], _e = Ee[2];
|
|
k(function() {
|
|
if (ke) return Z({
|
|
pause: !0,
|
|
x: pe * -(innerWidth + x)
|
|
}), void (ye.current = pe);
|
|
Z(G);
|
|
}, [
|
|
ke
|
|
]);
|
|
var Me = g({
|
|
close: function(e) {
|
|
me && me(0), Z({
|
|
overlay: !0,
|
|
lastBg: ue
|
|
}), j(e);
|
|
},
|
|
changeIndex: function(e, n) {
|
|
void 0 === n && (n = !1);
|
|
var t = be ? ye.current + (e - pe) : e, r = xe - 1, i = b(t, 0, r), o = be ? t : i, a = innerWidth + x;
|
|
Z({
|
|
touched: !1,
|
|
lastCX: void 0,
|
|
lastCY: void 0,
|
|
x: -a * o,
|
|
pause: n
|
|
}), ye.current = o, we && we(be ? e < 0 ? r : e > r ? 0 : e : i);
|
|
}
|
|
}), Ye = Me.close, Xe = Me.changeIndex;
|
|
function Ne(e) {
|
|
return e ? Ye() : Z({
|
|
overlay: !se
|
|
});
|
|
}
|
|
function We() {
|
|
Z({
|
|
x: -(innerWidth + x) * pe,
|
|
lastCX: void 0,
|
|
lastCY: void 0,
|
|
pause: !0
|
|
}), ye.current = pe;
|
|
}
|
|
function Se(e, n, t, r) {
|
|
"x" === e ? function(e) {
|
|
if (void 0 !== oe) {
|
|
var n = e - oe, t = n;
|
|
!be && (0 === pe && n > 0 || pe === xe - 1 && n < 0) && (t = n / 2), Z({
|
|
touched: !0,
|
|
lastCX: oe,
|
|
x: -(innerWidth + x) * ye.current + t,
|
|
pause: !1
|
|
});
|
|
} else Z({
|
|
touched: !0,
|
|
lastCX: e,
|
|
x: te,
|
|
pause: !1
|
|
});
|
|
}(n) : "y" === e && function(e, n) {
|
|
if (void 0 !== ae) {
|
|
var t = null === h ? null : b(h, .01, h - Math.abs(e - ae) / 100 / 4);
|
|
Z({
|
|
touched: !0,
|
|
lastCY: ae,
|
|
bg: 1 === n ? t : h,
|
|
minimal: 1 === n
|
|
});
|
|
} else Z({
|
|
touched: !0,
|
|
lastCY: e,
|
|
bg: ue,
|
|
minimal: !0
|
|
});
|
|
}(t, r);
|
|
}
|
|
function Te(e, n) {
|
|
var t = e - (null != oe ? oe : e), r = n - (null != ae ? ae : n), i = !1;
|
|
if (t < -40) Xe(pe + 1);
|
|
else if (t > 40) Xe(pe - 1);
|
|
else {
|
|
var o = -(innerWidth + x) * ye.current;
|
|
Math.abs(r) > 100 && de && w && (i = !0, Ye()), Z({
|
|
touched: !1,
|
|
x: o,
|
|
lastCX: void 0,
|
|
lastCY: void 0,
|
|
bg: h,
|
|
overlay: !!i || se
|
|
});
|
|
}
|
|
}
|
|
P("keydown", function(e) {
|
|
if (z) switch(e.key){
|
|
case "ArrowLeft":
|
|
Xe(pe - 1, !0);
|
|
break;
|
|
case "ArrowRight":
|
|
Xe(pe + 1, !0);
|
|
break;
|
|
case "Escape":
|
|
Ye();
|
|
}
|
|
});
|
|
var Ve = function(e, n, t) {
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"])(function() {
|
|
var r = e.length;
|
|
return t ? e.concat(e).concat(e).slice(r + n - 1, r + n + 2) : e.slice(Math.max(n - 1, 0), Math.min(n + 2, r + 1));
|
|
}, [
|
|
e,
|
|
n,
|
|
t
|
|
]);
|
|
}(F, pe, be);
|
|
if (!ke) return null;
|
|
var Re = se && !Pe, Ae = z ? ue : le, Ie = he && me && {
|
|
images: F,
|
|
index: pe,
|
|
visible: z,
|
|
onClose: Ye,
|
|
onIndexChange: Xe,
|
|
overlayVisible: Re,
|
|
overlay: Ce && Ce.overlay,
|
|
scale: ve,
|
|
rotate: fe,
|
|
onScale: he,
|
|
onRotate: me
|
|
}, He = c ? c(Pe) : 400, Le = l ? l(Pe) : y, Fe = c ? c(3) : 600, De = l ? l(3) : y;
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(M, {
|
|
className: "PhotoView-Portal" + (Re ? "" : " PhotoView-Slider__clean") + (z ? "" : " PhotoView-Slider__willClose") + (V ? " " + V : ""),
|
|
role: "dialog",
|
|
onClick: function(e) {
|
|
return e.stopPropagation();
|
|
},
|
|
container: K
|
|
}, z && __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(W, null), __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView-Slider__Backdrop" + (R ? " " + R : "") + (1 === Pe ? " PhotoView-Slider__fadeIn" : 2 === Pe ? " PhotoView-Slider__fadeOut" : ""),
|
|
style: {
|
|
background: Ae ? "rgba(0, 0, 0, " + Ae + ")" : void 0,
|
|
transitionTimingFunction: Le,
|
|
transitionDuration: (re ? 0 : He) + "ms",
|
|
animationDuration: He + "ms"
|
|
},
|
|
onAnimationEnd: _e
|
|
}), _ && __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView-Slider__BannerWrap"
|
|
}, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView-Slider__Counter"
|
|
}, pe + 1, " / ", xe), __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView-Slider__BannerRight"
|
|
}, T && Ie && T(Ie), __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(Y, {
|
|
className: "PhotoView-Slider__toolbarIcon",
|
|
onClick: Ye
|
|
}))), Ve.map(function(n, t) {
|
|
var r = be || 0 !== pe ? ye.current - 1 + t : pe + t;
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(U, {
|
|
key: be ? n.key + "/" + n.src + "/" + r : n.key,
|
|
item: n,
|
|
speed: He,
|
|
easing: Le,
|
|
visible: z,
|
|
onReachMove: Se,
|
|
onReachUp: Te,
|
|
onPhotoTap: function() {
|
|
return Ne(s);
|
|
},
|
|
onMaskTap: function() {
|
|
return Ne(v);
|
|
},
|
|
wrapClassName: I,
|
|
className: A,
|
|
style: {
|
|
left: (innerWidth + x) * r + "px",
|
|
transform: "translate3d(" + te + "px, 0px, 0)",
|
|
transition: re || ie ? void 0 : "transform " + Fe + "ms " + De
|
|
},
|
|
loadingElement: H,
|
|
brokenElement: L,
|
|
onPhotoResize: We,
|
|
isActive: ye.current === r,
|
|
expose: Z
|
|
});
|
|
}), !C && _ && __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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, (be || 0 !== pe) && __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView-Slider__ArrowLeft",
|
|
onClick: function() {
|
|
return Xe(pe - 1, !0);
|
|
}
|
|
}, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(X, null)), (be || pe + 1 < xe) && __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView-Slider__ArrowRight",
|
|
onClick: function() {
|
|
return Xe(pe + 1, !0);
|
|
}
|
|
}, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(N, null))), S && Ie && __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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: "PhotoView-Slider__Overlay"
|
|
}, S(Ie)));
|
|
}
|
|
var Q = [
|
|
"children",
|
|
"onIndexChange",
|
|
"onVisibleChange"
|
|
], Z = {
|
|
images: [],
|
|
visible: !1,
|
|
index: 0
|
|
};
|
|
function $(t) {
|
|
var r = t.children, i = t.onIndexChange, o = t.onVisibleChange, c = m(t, Q), u = p(Z), l = u[0], s = u[1], d = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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), v = l.images, f = l.visible, y = l.index, x = g({
|
|
nextId: function() {
|
|
return d.current += 1;
|
|
},
|
|
update: function(e) {
|
|
var n = v.findIndex(function(n) {
|
|
return n.key === e.key;
|
|
});
|
|
if (n > -1) {
|
|
var t = v.slice();
|
|
return t.splice(n, 1, e), void s({
|
|
images: t
|
|
});
|
|
}
|
|
s(function(n) {
|
|
return {
|
|
images: n.images.concat(e)
|
|
};
|
|
});
|
|
},
|
|
remove: function(e) {
|
|
s(function(n) {
|
|
var t = n.images.filter(function(n) {
|
|
return n.key !== e;
|
|
});
|
|
return {
|
|
images: t,
|
|
index: Math.min(t.length - 1, y)
|
|
};
|
|
});
|
|
},
|
|
show: function(e) {
|
|
var n = v.findIndex(function(n) {
|
|
return n.key === e;
|
|
});
|
|
s({
|
|
visible: !0,
|
|
index: n
|
|
}), o && o(!0, n, l);
|
|
}
|
|
}), C = g({
|
|
close: function() {
|
|
s({
|
|
visible: !1
|
|
}), o && o(!1, y, l);
|
|
},
|
|
changeIndex: function(e) {
|
|
s({
|
|
index: e
|
|
}), i && i(e, l);
|
|
}
|
|
}), b = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"])(function() {
|
|
return h({}, l, x);
|
|
}, [
|
|
l,
|
|
x
|
|
]);
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(w.Provider, {
|
|
value: b
|
|
}, r, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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(J, h({
|
|
images: v,
|
|
visible: f,
|
|
index: y,
|
|
onIndexChange: C.changeIndex,
|
|
onClose: C.close
|
|
}, c)));
|
|
}
|
|
var ee = function(e) {
|
|
var t, r, o = e.src, c = e.render, u = e.overlay, f = e.width, m = e.height, p = e.triggers, y = void 0 === p ? [
|
|
"onClick"
|
|
] : p, x = e.children, C = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"])(w), b = (t = function() {
|
|
return C.nextId();
|
|
}, (r = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])({
|
|
sign: !1,
|
|
fn: void 0
|
|
}).current).sign || (r.sign = !0, r.fn = t()), r.fn), E = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
(0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useImperativeHandle"])(null == x ? void 0 : x.ref, function() {
|
|
return E.current;
|
|
}), (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])(function() {
|
|
return function() {
|
|
C.remove(b);
|
|
};
|
|
}, []);
|
|
var k = g({
|
|
render: function(e) {
|
|
return c && c(e);
|
|
},
|
|
show: function(e, n) {
|
|
C.show(b), function(e, n) {
|
|
if (x) {
|
|
var t = x.props[e];
|
|
t && t(n);
|
|
}
|
|
}(e, n);
|
|
}
|
|
}), P = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"])(function() {
|
|
var e = {};
|
|
return y.forEach(function(n) {
|
|
e[n] = k.show.bind(null, n);
|
|
}), e;
|
|
}, []);
|
|
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])(function() {
|
|
C.update({
|
|
key: b,
|
|
src: o,
|
|
originRef: E,
|
|
render: k.render,
|
|
overlay: u,
|
|
width: f,
|
|
height: m
|
|
});
|
|
}, [
|
|
o
|
|
]), x ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only((0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"])(x, h({}, P, {
|
|
ref: E
|
|
}))) : null;
|
|
};
|
|
;
|
|
//# sourceMappingURL=react-photo-view.module.js.map
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/isObject.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
/**
|
|
* Checks if `value` is the
|
|
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
|
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
|
*
|
|
* @static
|
|
* @memberOf _
|
|
* @since 0.1.0
|
|
* @category Lang
|
|
* @param {*} value The value to check.
|
|
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
|
* @example
|
|
*
|
|
* _.isObject({});
|
|
* // => true
|
|
*
|
|
* _.isObject([1, 2, 3]);
|
|
* // => true
|
|
*
|
|
* _.isObject(_.noop);
|
|
* // => true
|
|
*
|
|
* _.isObject(null);
|
|
* // => false
|
|
*/ function isObject(value) {
|
|
var type = typeof value;
|
|
return value != null && (type == 'object' || type == 'function');
|
|
}
|
|
module.exports = isObject;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/_freeGlobal.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
/** Detect free variable `global` from Node.js. */ var freeGlobal = ("TURBOPACK compile-time value", "object") == 'object' && /*TURBOPACK member replacement*/ __turbopack_context__.g && /*TURBOPACK member replacement*/ __turbopack_context__.g.Object === Object && /*TURBOPACK member replacement*/ __turbopack_context__.g;
|
|
module.exports = freeGlobal;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/_root.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var freeGlobal = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_freeGlobal.js [app-client] (ecmascript)");
|
|
/** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
|
/** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')();
|
|
module.exports = root;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/now.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var root = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_root.js [app-client] (ecmascript)");
|
|
/**
|
|
* Gets the timestamp of the number of milliseconds that have elapsed since
|
|
* the Unix epoch (1 January 1970 00:00:00 UTC).
|
|
*
|
|
* @static
|
|
* @memberOf _
|
|
* @since 2.4.0
|
|
* @category Date
|
|
* @returns {number} Returns the timestamp.
|
|
* @example
|
|
*
|
|
* _.defer(function(stamp) {
|
|
* console.log(_.now() - stamp);
|
|
* }, _.now());
|
|
* // => Logs the number of milliseconds it took for the deferred invocation.
|
|
*/ var now = function() {
|
|
return root.Date.now();
|
|
};
|
|
module.exports = now;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/_trimmedEndIndex.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
/** Used to match a single whitespace character. */ var reWhitespace = /\s/;
|
|
/**
|
|
* Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
|
|
* character of `string`.
|
|
*
|
|
* @private
|
|
* @param {string} string The string to inspect.
|
|
* @returns {number} Returns the index of the last non-whitespace character.
|
|
*/ function trimmedEndIndex(string) {
|
|
var index = string.length;
|
|
while(index-- && reWhitespace.test(string.charAt(index))){}
|
|
return index;
|
|
}
|
|
module.exports = trimmedEndIndex;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/_baseTrim.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var trimmedEndIndex = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_trimmedEndIndex.js [app-client] (ecmascript)");
|
|
/** Used to match leading whitespace. */ var reTrimStart = /^\s+/;
|
|
/**
|
|
* The base implementation of `_.trim`.
|
|
*
|
|
* @private
|
|
* @param {string} string The string to trim.
|
|
* @returns {string} Returns the trimmed string.
|
|
*/ function baseTrim(string) {
|
|
return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') : string;
|
|
}
|
|
module.exports = baseTrim;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/_Symbol.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var root = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_root.js [app-client] (ecmascript)");
|
|
/** Built-in value references. */ var Symbol = root.Symbol;
|
|
module.exports = Symbol;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/_getRawTag.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var Symbol = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_Symbol.js [app-client] (ecmascript)");
|
|
/** Used for built-in method references. */ var objectProto = Object.prototype;
|
|
/** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty;
|
|
/**
|
|
* Used to resolve the
|
|
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
* of values.
|
|
*/ var nativeObjectToString = objectProto.toString;
|
|
/** Built-in value references. */ var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
|
|
/**
|
|
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
|
|
*
|
|
* @private
|
|
* @param {*} value The value to query.
|
|
* @returns {string} Returns the raw `toStringTag`.
|
|
*/ function getRawTag(value) {
|
|
var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
|
|
try {
|
|
value[symToStringTag] = undefined;
|
|
var unmasked = true;
|
|
} catch (e) {}
|
|
var result = nativeObjectToString.call(value);
|
|
if (unmasked) {
|
|
if (isOwn) {
|
|
value[symToStringTag] = tag;
|
|
} else {
|
|
delete value[symToStringTag];
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
module.exports = getRawTag;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/_objectToString.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
/** Used for built-in method references. */ var objectProto = Object.prototype;
|
|
/**
|
|
* Used to resolve the
|
|
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
* of values.
|
|
*/ var nativeObjectToString = objectProto.toString;
|
|
/**
|
|
* Converts `value` to a string using `Object.prototype.toString`.
|
|
*
|
|
* @private
|
|
* @param {*} value The value to convert.
|
|
* @returns {string} Returns the converted string.
|
|
*/ function objectToString(value) {
|
|
return nativeObjectToString.call(value);
|
|
}
|
|
module.exports = objectToString;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/_baseGetTag.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var Symbol = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_Symbol.js [app-client] (ecmascript)"), getRawTag = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_getRawTag.js [app-client] (ecmascript)"), objectToString = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_objectToString.js [app-client] (ecmascript)");
|
|
/** `Object#toString` result references. */ var nullTag = '[object Null]', undefinedTag = '[object Undefined]';
|
|
/** Built-in value references. */ var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
|
|
/**
|
|
* The base implementation of `getTag` without fallbacks for buggy environments.
|
|
*
|
|
* @private
|
|
* @param {*} value The value to query.
|
|
* @returns {string} Returns the `toStringTag`.
|
|
*/ function baseGetTag(value) {
|
|
if (value == null) {
|
|
return value === undefined ? undefinedTag : nullTag;
|
|
}
|
|
return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
|
|
}
|
|
module.exports = baseGetTag;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/isObjectLike.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
/**
|
|
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
* and has a `typeof` result of "object".
|
|
*
|
|
* @static
|
|
* @memberOf _
|
|
* @since 4.0.0
|
|
* @category Lang
|
|
* @param {*} value The value to check.
|
|
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
|
* @example
|
|
*
|
|
* _.isObjectLike({});
|
|
* // => true
|
|
*
|
|
* _.isObjectLike([1, 2, 3]);
|
|
* // => true
|
|
*
|
|
* _.isObjectLike(_.noop);
|
|
* // => false
|
|
*
|
|
* _.isObjectLike(null);
|
|
* // => false
|
|
*/ function isObjectLike(value) {
|
|
return value != null && typeof value == 'object';
|
|
}
|
|
module.exports = isObjectLike;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/isSymbol.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var baseGetTag = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_baseGetTag.js [app-client] (ecmascript)"), isObjectLike = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/isObjectLike.js [app-client] (ecmascript)");
|
|
/** `Object#toString` result references. */ var symbolTag = '[object Symbol]';
|
|
/**
|
|
* Checks if `value` is classified as a `Symbol` primitive or object.
|
|
*
|
|
* @static
|
|
* @memberOf _
|
|
* @since 4.0.0
|
|
* @category Lang
|
|
* @param {*} value The value to check.
|
|
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
|
|
* @example
|
|
*
|
|
* _.isSymbol(Symbol.iterator);
|
|
* // => true
|
|
*
|
|
* _.isSymbol('abc');
|
|
* // => false
|
|
*/ function isSymbol(value) {
|
|
return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;
|
|
}
|
|
module.exports = isSymbol;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/toNumber.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var baseTrim = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/_baseTrim.js [app-client] (ecmascript)"), isObject = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/isObject.js [app-client] (ecmascript)"), isSymbol = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/isSymbol.js [app-client] (ecmascript)");
|
|
/** Used as references for various `Number` constants. */ var NAN = 0 / 0;
|
|
/** Used to detect bad signed hexadecimal string values. */ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
|
|
/** Used to detect binary string values. */ var reIsBinary = /^0b[01]+$/i;
|
|
/** Used to detect octal string values. */ var reIsOctal = /^0o[0-7]+$/i;
|
|
/** Built-in method references without a dependency on `root`. */ var freeParseInt = parseInt;
|
|
/**
|
|
* Converts `value` to a number.
|
|
*
|
|
* @static
|
|
* @memberOf _
|
|
* @since 4.0.0
|
|
* @category Lang
|
|
* @param {*} value The value to process.
|
|
* @returns {number} Returns the number.
|
|
* @example
|
|
*
|
|
* _.toNumber(3.2);
|
|
* // => 3.2
|
|
*
|
|
* _.toNumber(Number.MIN_VALUE);
|
|
* // => 5e-324
|
|
*
|
|
* _.toNumber(Infinity);
|
|
* // => Infinity
|
|
*
|
|
* _.toNumber('3.2');
|
|
* // => 3.2
|
|
*/ function toNumber(value) {
|
|
if (typeof value == 'number') {
|
|
return value;
|
|
}
|
|
if (isSymbol(value)) {
|
|
return NAN;
|
|
}
|
|
if (isObject(value)) {
|
|
var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
|
|
value = isObject(other) ? other + '' : other;
|
|
}
|
|
if (typeof value != 'string') {
|
|
return value === 0 ? value : +value;
|
|
}
|
|
value = baseTrim(value);
|
|
var isBinary = reIsBinary.test(value);
|
|
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
|
|
}
|
|
module.exports = toNumber;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/lodash/debounce.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
|
|
|
var isObject = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/isObject.js [app-client] (ecmascript)"), now = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/now.js [app-client] (ecmascript)"), toNumber = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/lodash/toNumber.js [app-client] (ecmascript)");
|
|
/** Error message constants. */ var FUNC_ERROR_TEXT = 'Expected a function';
|
|
/* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMax = Math.max, nativeMin = Math.min;
|
|
/**
|
|
* Creates a debounced function that delays invoking `func` until after `wait`
|
|
* milliseconds have elapsed since the last time the debounced function was
|
|
* invoked. The debounced function comes with a `cancel` method to cancel
|
|
* delayed `func` invocations and a `flush` method to immediately invoke them.
|
|
* Provide `options` to indicate whether `func` should be invoked on the
|
|
* leading and/or trailing edge of the `wait` timeout. The `func` is invoked
|
|
* with the last arguments provided to the debounced function. Subsequent
|
|
* calls to the debounced function return the result of the last `func`
|
|
* invocation.
|
|
*
|
|
* **Note:** If `leading` and `trailing` options are `true`, `func` is
|
|
* invoked on the trailing edge of the timeout only if the debounced function
|
|
* is invoked more than once during the `wait` timeout.
|
|
*
|
|
* If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
|
|
* until to the next tick, similar to `setTimeout` with a timeout of `0`.
|
|
*
|
|
* See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
|
|
* for details over the differences between `_.debounce` and `_.throttle`.
|
|
*
|
|
* @static
|
|
* @memberOf _
|
|
* @since 0.1.0
|
|
* @category Function
|
|
* @param {Function} func The function to debounce.
|
|
* @param {number} [wait=0] The number of milliseconds to delay.
|
|
* @param {Object} [options={}] The options object.
|
|
* @param {boolean} [options.leading=false]
|
|
* Specify invoking on the leading edge of the timeout.
|
|
* @param {number} [options.maxWait]
|
|
* The maximum time `func` is allowed to be delayed before it's invoked.
|
|
* @param {boolean} [options.trailing=true]
|
|
* Specify invoking on the trailing edge of the timeout.
|
|
* @returns {Function} Returns the new debounced function.
|
|
* @example
|
|
*
|
|
* // Avoid costly calculations while the window size is in flux.
|
|
* jQuery(window).on('resize', _.debounce(calculateLayout, 150));
|
|
*
|
|
* // Invoke `sendMail` when clicked, debouncing subsequent calls.
|
|
* jQuery(element).on('click', _.debounce(sendMail, 300, {
|
|
* 'leading': true,
|
|
* 'trailing': false
|
|
* }));
|
|
*
|
|
* // Ensure `batchLog` is invoked once after 1 second of debounced calls.
|
|
* var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
|
|
* var source = new EventSource('/stream');
|
|
* jQuery(source).on('message', debounced);
|
|
*
|
|
* // Cancel the trailing debounced invocation.
|
|
* jQuery(window).on('popstate', debounced.cancel);
|
|
*/ function debounce(func, wait, options) {
|
|
var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
|
|
if (typeof func != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
wait = toNumber(wait) || 0;
|
|
if (isObject(options)) {
|
|
leading = !!options.leading;
|
|
maxing = 'maxWait' in options;
|
|
maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
|
|
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
|
}
|
|
function invokeFunc(time) {
|
|
var args = lastArgs, thisArg = lastThis;
|
|
lastArgs = lastThis = undefined;
|
|
lastInvokeTime = time;
|
|
result = func.apply(thisArg, args);
|
|
return result;
|
|
}
|
|
function leadingEdge(time) {
|
|
// Reset any `maxWait` timer.
|
|
lastInvokeTime = time;
|
|
// Start the timer for the trailing edge.
|
|
timerId = setTimeout(timerExpired, wait);
|
|
// Invoke the leading edge.
|
|
return leading ? invokeFunc(time) : result;
|
|
}
|
|
function remainingWait(time) {
|
|
var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
|
|
return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
|
|
}
|
|
function shouldInvoke(time) {
|
|
var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
|
|
// Either this is the first call, activity has stopped and we're at the
|
|
// trailing edge, the system time has gone backwards and we're treating
|
|
// it as the trailing edge, or we've hit the `maxWait` limit.
|
|
return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
|
|
}
|
|
function timerExpired() {
|
|
var time = now();
|
|
if (shouldInvoke(time)) {
|
|
return trailingEdge(time);
|
|
}
|
|
// Restart the timer.
|
|
timerId = setTimeout(timerExpired, remainingWait(time));
|
|
}
|
|
function trailingEdge(time) {
|
|
timerId = undefined;
|
|
// Only invoke if we have `lastArgs` which means `func` has been
|
|
// debounced at least once.
|
|
if (trailing && lastArgs) {
|
|
return invokeFunc(time);
|
|
}
|
|
lastArgs = lastThis = undefined;
|
|
return result;
|
|
}
|
|
function cancel() {
|
|
if (timerId !== undefined) {
|
|
clearTimeout(timerId);
|
|
}
|
|
lastInvokeTime = 0;
|
|
lastArgs = lastCallTime = lastThis = timerId = undefined;
|
|
}
|
|
function flush() {
|
|
return timerId === undefined ? result : trailingEdge(now());
|
|
}
|
|
function debounced() {
|
|
var time = now(), isInvoking = shouldInvoke(time);
|
|
lastArgs = arguments;
|
|
lastThis = this;
|
|
lastCallTime = time;
|
|
if (isInvoking) {
|
|
if (timerId === undefined) {
|
|
return leadingEdge(lastCallTime);
|
|
}
|
|
if (maxing) {
|
|
// Handle invocations in a tight loop.
|
|
clearTimeout(timerId);
|
|
timerId = setTimeout(timerExpired, wait);
|
|
return invokeFunc(lastCallTime);
|
|
}
|
|
}
|
|
if (timerId === undefined) {
|
|
timerId = setTimeout(timerExpired, wait);
|
|
}
|
|
return result;
|
|
}
|
|
debounced.cancel = cancel;
|
|
debounced.flush = flush;
|
|
return debounced;
|
|
}
|
|
module.exports = debounce;
|
|
}),
|
|
"[project]/coding/projects/LangBot/web/node_modules/@radix-ui/react-scroll-area/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"Corner",
|
|
()=>Corner,
|
|
"Root",
|
|
()=>Root,
|
|
"ScrollArea",
|
|
()=>ScrollArea,
|
|
"ScrollAreaCorner",
|
|
()=>ScrollAreaCorner,
|
|
"ScrollAreaScrollbar",
|
|
()=>ScrollAreaScrollbar,
|
|
"ScrollAreaThumb",
|
|
()=>ScrollAreaThumb,
|
|
"ScrollAreaViewport",
|
|
()=>ScrollAreaViewport,
|
|
"Scrollbar",
|
|
()=>Scrollbar,
|
|
"Thumb",
|
|
()=>Thumb,
|
|
"Viewport",
|
|
()=>Viewport,
|
|
"createScrollAreaScope",
|
|
()=>createScrollAreaScope
|
|
]);
|
|
// src/scroll-area.tsx
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-primitive/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-presence/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-context/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-direction/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/number/dist/index.mjs [app-client] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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]/coding/projects/LangBot/web/node_modules/@radix-ui/primitive/dist/index.mjs [app-client] (ecmascript)");
|
|
// src/scroll-area.tsx
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$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]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
|
|
"use client";
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
function useStateMachine(initialState, machine) {
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useReducer"]({
|
|
"useStateMachine.useReducer": (state, event)=>{
|
|
const nextState = machine[state][event];
|
|
return nextState ?? state;
|
|
}
|
|
}["useStateMachine.useReducer"], initialState);
|
|
}
|
|
;
|
|
var SCROLL_AREA_NAME = "ScrollArea";
|
|
var [createScrollAreaContext, createScrollAreaScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(SCROLL_AREA_NAME);
|
|
var [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);
|
|
var ScrollArea = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { __scopeScrollArea, type = "hover", dir, scrollHideDelay = 600, ...scrollAreaProps } = props;
|
|
const [scrollArea, setScrollArea] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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 [scrollbarX, setScrollbarX] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 [scrollbarY, setScrollbarY] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 [cornerWidth, setCornerWidth] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
const [cornerHeight, setCornerHeight] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
const [scrollbarXEnabled, setScrollbarXEnabled] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 [scrollbarYEnabled, setScrollbarYEnabled] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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, {
|
|
"ScrollArea.useComposedRefs[composedRefs]": (node)=>setScrollArea(node)
|
|
}["ScrollArea.useComposedRefs[composedRefs]"]);
|
|
const direction = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaProvider, {
|
|
scope: __scopeScrollArea,
|
|
type,
|
|
dir: direction,
|
|
scrollHideDelay,
|
|
scrollArea,
|
|
viewport,
|
|
onViewportChange: setViewport,
|
|
content,
|
|
onContentChange: setContent,
|
|
scrollbarX,
|
|
onScrollbarXChange: setScrollbarX,
|
|
scrollbarXEnabled,
|
|
onScrollbarXEnabledChange: setScrollbarXEnabled,
|
|
scrollbarY,
|
|
onScrollbarYChange: setScrollbarY,
|
|
scrollbarYEnabled,
|
|
onScrollbarYEnabledChange: setScrollbarYEnabled,
|
|
onCornerWidthChange: setCornerWidth,
|
|
onCornerHeightChange: setCornerHeight,
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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, {
|
|
dir: direction,
|
|
...scrollAreaProps,
|
|
ref: composedRefs,
|
|
style: {
|
|
position: "relative",
|
|
// Pass corner sizes as CSS vars to reduce re-renders of context consumers
|
|
["--radix-scroll-area-corner-width"]: cornerWidth + "px",
|
|
["--radix-scroll-area-corner-height"]: cornerHeight + "px",
|
|
...props.style
|
|
}
|
|
})
|
|
});
|
|
});
|
|
ScrollArea.displayName = SCROLL_AREA_NAME;
|
|
var VIEWPORT_NAME = "ScrollAreaViewport";
|
|
var ScrollAreaViewport = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { __scopeScrollArea, children, nonce, ...viewportProps } = props;
|
|
const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);
|
|
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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$coding$2f$projects$2f$LangBot$2f$web$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, context.onViewportChange);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$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$coding$2f$projects$2f$LangBot$2f$web$2f$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$coding$2f$projects$2f$LangBot$2f$web$2f$node_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-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`
|
|
},
|
|
nonce
|
|
}),
|
|
/* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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-scroll-area-viewport": "",
|
|
...viewportProps,
|
|
ref: composedRefs,
|
|
style: {
|
|
/**
|
|
* We don't support `visible` because the intention is to have at least one scrollbar
|
|
* if this component is used and `visible` will behave like `auto` in that case
|
|
* https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
|
|
*
|
|
* We don't handle `auto` because the intention is for the native implementation
|
|
* to be hidden if using this component. We just want to ensure the node is scrollable
|
|
* so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
|
|
* the browser from having to work out whether to render native scrollbars or not,
|
|
* we tell it to with the intention of hiding them in CSS.
|
|
*/ overflowX: context.scrollbarXEnabled ? "scroll" : "hidden",
|
|
overflowY: context.scrollbarYEnabled ? "scroll" : "hidden",
|
|
...props.style
|
|
},
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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: context.onContentChange,
|
|
style: {
|
|
minWidth: "100%",
|
|
display: "table"
|
|
},
|
|
children
|
|
})
|
|
})
|
|
]
|
|
});
|
|
});
|
|
ScrollAreaViewport.displayName = VIEWPORT_NAME;
|
|
var SCROLLBAR_NAME = "ScrollAreaScrollbar";
|
|
var ScrollAreaScrollbar = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { forceMount, ...scrollbarProps } = props;
|
|
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
|
const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;
|
|
const isHorizontal = props.orientation === "horizontal";
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"ScrollAreaScrollbar.useEffect": ()=>{
|
|
isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);
|
|
return ({
|
|
"ScrollAreaScrollbar.useEffect": ()=>{
|
|
isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);
|
|
}
|
|
})["ScrollAreaScrollbar.useEffect"];
|
|
}
|
|
}["ScrollAreaScrollbar.useEffect"], [
|
|
isHorizontal,
|
|
onScrollbarXEnabledChange,
|
|
onScrollbarYEnabledChange
|
|
]);
|
|
return context.type === "hover" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarHover, {
|
|
...scrollbarProps,
|
|
ref: forwardedRef,
|
|
forceMount
|
|
}) : context.type === "scroll" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarScroll, {
|
|
...scrollbarProps,
|
|
ref: forwardedRef,
|
|
forceMount
|
|
}) : context.type === "auto" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarAuto, {
|
|
...scrollbarProps,
|
|
ref: forwardedRef,
|
|
forceMount
|
|
}) : context.type === "always" ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarVisible, {
|
|
...scrollbarProps,
|
|
ref: forwardedRef
|
|
}) : null;
|
|
});
|
|
ScrollAreaScrollbar.displayName = SCROLLBAR_NAME;
|
|
var ScrollAreaScrollbarHover = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { forceMount, ...scrollbarProps } = props;
|
|
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
|
const [visible, setVisible] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"ScrollAreaScrollbarHover.useEffect": ()=>{
|
|
const scrollArea = context.scrollArea;
|
|
let hideTimer = 0;
|
|
if (scrollArea) {
|
|
const handlePointerEnter = {
|
|
"ScrollAreaScrollbarHover.useEffect.handlePointerEnter": ()=>{
|
|
window.clearTimeout(hideTimer);
|
|
setVisible(true);
|
|
}
|
|
}["ScrollAreaScrollbarHover.useEffect.handlePointerEnter"];
|
|
const handlePointerLeave = {
|
|
"ScrollAreaScrollbarHover.useEffect.handlePointerLeave": ()=>{
|
|
hideTimer = window.setTimeout({
|
|
"ScrollAreaScrollbarHover.useEffect.handlePointerLeave": ()=>setVisible(false)
|
|
}["ScrollAreaScrollbarHover.useEffect.handlePointerLeave"], context.scrollHideDelay);
|
|
}
|
|
}["ScrollAreaScrollbarHover.useEffect.handlePointerLeave"];
|
|
scrollArea.addEventListener("pointerenter", handlePointerEnter);
|
|
scrollArea.addEventListener("pointerleave", handlePointerLeave);
|
|
return ({
|
|
"ScrollAreaScrollbarHover.useEffect": ()=>{
|
|
window.clearTimeout(hideTimer);
|
|
scrollArea.removeEventListener("pointerenter", handlePointerEnter);
|
|
scrollArea.removeEventListener("pointerleave", handlePointerLeave);
|
|
}
|
|
})["ScrollAreaScrollbarHover.useEffect"];
|
|
}
|
|
}
|
|
}["ScrollAreaScrollbarHover.useEffect"], [
|
|
context.scrollArea,
|
|
context.scrollHideDelay
|
|
]);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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 || visible,
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarAuto, {
|
|
"data-state": visible ? "visible" : "hidden",
|
|
...scrollbarProps,
|
|
ref: forwardedRef
|
|
})
|
|
});
|
|
});
|
|
var ScrollAreaScrollbarScroll = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { forceMount, ...scrollbarProps } = props;
|
|
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
|
const isHorizontal = props.orientation === "horizontal";
|
|
const debounceScrollEnd = useDebounceCallback({
|
|
"ScrollAreaScrollbarScroll.useDebounceCallback[debounceScrollEnd]": ()=>send("SCROLL_END")
|
|
}["ScrollAreaScrollbarScroll.useDebounceCallback[debounceScrollEnd]"], 100);
|
|
const [state, send] = useStateMachine("hidden", {
|
|
hidden: {
|
|
SCROLL: "scrolling"
|
|
},
|
|
scrolling: {
|
|
SCROLL_END: "idle",
|
|
POINTER_ENTER: "interacting"
|
|
},
|
|
interacting: {
|
|
SCROLL: "interacting",
|
|
POINTER_LEAVE: "idle"
|
|
},
|
|
idle: {
|
|
HIDE: "hidden",
|
|
SCROLL: "scrolling",
|
|
POINTER_ENTER: "interacting"
|
|
}
|
|
});
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"ScrollAreaScrollbarScroll.useEffect": ()=>{
|
|
if (state === "idle") {
|
|
const hideTimer = window.setTimeout({
|
|
"ScrollAreaScrollbarScroll.useEffect.hideTimer": ()=>send("HIDE")
|
|
}["ScrollAreaScrollbarScroll.useEffect.hideTimer"], context.scrollHideDelay);
|
|
return ({
|
|
"ScrollAreaScrollbarScroll.useEffect": ()=>window.clearTimeout(hideTimer)
|
|
})["ScrollAreaScrollbarScroll.useEffect"];
|
|
}
|
|
}
|
|
}["ScrollAreaScrollbarScroll.useEffect"], [
|
|
state,
|
|
context.scrollHideDelay,
|
|
send
|
|
]);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"ScrollAreaScrollbarScroll.useEffect": ()=>{
|
|
const viewport = context.viewport;
|
|
const scrollDirection = isHorizontal ? "scrollLeft" : "scrollTop";
|
|
if (viewport) {
|
|
let prevScrollPos = viewport[scrollDirection];
|
|
const handleScroll = {
|
|
"ScrollAreaScrollbarScroll.useEffect.handleScroll": ()=>{
|
|
const scrollPos = viewport[scrollDirection];
|
|
const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;
|
|
if (hasScrollInDirectionChanged) {
|
|
send("SCROLL");
|
|
debounceScrollEnd();
|
|
}
|
|
prevScrollPos = scrollPos;
|
|
}
|
|
}["ScrollAreaScrollbarScroll.useEffect.handleScroll"];
|
|
viewport.addEventListener("scroll", handleScroll);
|
|
return ({
|
|
"ScrollAreaScrollbarScroll.useEffect": ()=>viewport.removeEventListener("scroll", handleScroll)
|
|
})["ScrollAreaScrollbarScroll.useEffect"];
|
|
}
|
|
}
|
|
}["ScrollAreaScrollbarScroll.useEffect"], [
|
|
context.viewport,
|
|
isHorizontal,
|
|
send,
|
|
debounceScrollEnd
|
|
]);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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 || state !== "hidden",
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarVisible, {
|
|
"data-state": state === "hidden" ? "hidden" : "visible",
|
|
...scrollbarProps,
|
|
ref: forwardedRef,
|
|
onPointerEnter: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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.onPointerEnter, ()=>send("POINTER_ENTER")),
|
|
onPointerLeave: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, ()=>send("POINTER_LEAVE"))
|
|
})
|
|
});
|
|
});
|
|
var ScrollAreaScrollbarAuto = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
|
const { forceMount, ...scrollbarProps } = props;
|
|
const [visible, setVisible] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 isHorizontal = props.orientation === "horizontal";
|
|
const handleResize = useDebounceCallback({
|
|
"ScrollAreaScrollbarAuto.useDebounceCallback[handleResize]": ()=>{
|
|
if (context.viewport) {
|
|
const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;
|
|
const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;
|
|
setVisible(isHorizontal ? isOverflowX : isOverflowY);
|
|
}
|
|
}
|
|
}["ScrollAreaScrollbarAuto.useDebounceCallback[handleResize]"], 10);
|
|
useResizeObserver(context.viewport, handleResize);
|
|
useResizeObserver(context.content, handleResize);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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 || visible,
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarVisible, {
|
|
"data-state": visible ? "visible" : "hidden",
|
|
...scrollbarProps,
|
|
ref: forwardedRef
|
|
})
|
|
});
|
|
});
|
|
var ScrollAreaScrollbarVisible = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { orientation = "vertical", ...scrollbarProps } = props;
|
|
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
|
const thumbRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 pointerOffsetRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 [sizes, setSizes] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]({
|
|
content: 0,
|
|
viewport: 0,
|
|
scrollbar: {
|
|
size: 0,
|
|
paddingStart: 0,
|
|
paddingEnd: 0
|
|
}
|
|
});
|
|
const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);
|
|
const commonProps = {
|
|
...scrollbarProps,
|
|
sizes,
|
|
onSizesChange: setSizes,
|
|
hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),
|
|
onThumbChange: (thumb)=>thumbRef.current = thumb,
|
|
onThumbPointerUp: ()=>pointerOffsetRef.current = 0,
|
|
onThumbPointerDown: (pointerPos)=>pointerOffsetRef.current = pointerPos
|
|
};
|
|
function getScrollPosition(pointerPos, dir) {
|
|
return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);
|
|
}
|
|
if (orientation === "horizontal") {
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarX, {
|
|
...commonProps,
|
|
ref: forwardedRef,
|
|
onThumbPositionChange: ()=>{
|
|
if (context.viewport && thumbRef.current) {
|
|
const scrollPos = context.viewport.scrollLeft;
|
|
const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);
|
|
thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;
|
|
}
|
|
},
|
|
onWheelScroll: (scrollPos)=>{
|
|
if (context.viewport) context.viewport.scrollLeft = scrollPos;
|
|
},
|
|
onDragScroll: (pointerPos)=>{
|
|
if (context.viewport) {
|
|
context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
if (orientation === "vertical") {
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarY, {
|
|
...commonProps,
|
|
ref: forwardedRef,
|
|
onThumbPositionChange: ()=>{
|
|
if (context.viewport && thumbRef.current) {
|
|
const scrollPos = context.viewport.scrollTop;
|
|
const offset = getThumbOffsetFromScroll(scrollPos, sizes);
|
|
thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;
|
|
}
|
|
},
|
|
onWheelScroll: (scrollPos)=>{
|
|
if (context.viewport) context.viewport.scrollTop = scrollPos;
|
|
},
|
|
onDragScroll: (pointerPos)=>{
|
|
if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);
|
|
}
|
|
});
|
|
}
|
|
return null;
|
|
});
|
|
var ScrollAreaScrollbarX = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { sizes, onSizesChange, ...scrollbarProps } = props;
|
|
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
|
const [computedStyle, setComputedStyle] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
|
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 composeRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, context.onScrollbarXChange);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"ScrollAreaScrollbarX.useEffect": ()=>{
|
|
if (ref.current) setComputedStyle(getComputedStyle(ref.current));
|
|
}
|
|
}["ScrollAreaScrollbarX.useEffect"], [
|
|
ref
|
|
]);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarImpl, {
|
|
"data-orientation": "horizontal",
|
|
...scrollbarProps,
|
|
ref: composeRefs,
|
|
sizes,
|
|
style: {
|
|
bottom: 0,
|
|
left: context.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
|
|
right: context.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
|
|
["--radix-scroll-area-thumb-width"]: getThumbSize(sizes) + "px",
|
|
...props.style
|
|
},
|
|
onThumbPointerDown: (pointerPos)=>props.onThumbPointerDown(pointerPos.x),
|
|
onDragScroll: (pointerPos)=>props.onDragScroll(pointerPos.x),
|
|
onWheelScroll: (event, maxScrollPos)=>{
|
|
if (context.viewport) {
|
|
const scrollPos = context.viewport.scrollLeft + event.deltaX;
|
|
props.onWheelScroll(scrollPos);
|
|
if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
},
|
|
onResize: ()=>{
|
|
if (ref.current && context.viewport && computedStyle) {
|
|
onSizesChange({
|
|
content: context.viewport.scrollWidth,
|
|
viewport: context.viewport.offsetWidth,
|
|
scrollbar: {
|
|
size: ref.current.clientWidth,
|
|
paddingStart: toInt(computedStyle.paddingLeft),
|
|
paddingEnd: toInt(computedStyle.paddingRight)
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
var ScrollAreaScrollbarY = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { sizes, onSizesChange, ...scrollbarProps } = props;
|
|
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
|
const [computedStyle, setComputedStyle] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"]();
|
|
const ref = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 composeRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, context.onScrollbarYChange);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"ScrollAreaScrollbarY.useEffect": ()=>{
|
|
if (ref.current) setComputedStyle(getComputedStyle(ref.current));
|
|
}
|
|
}["ScrollAreaScrollbarY.useEffect"], [
|
|
ref
|
|
]);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaScrollbarImpl, {
|
|
"data-orientation": "vertical",
|
|
...scrollbarProps,
|
|
ref: composeRefs,
|
|
sizes,
|
|
style: {
|
|
top: 0,
|
|
right: context.dir === "ltr" ? 0 : void 0,
|
|
left: context.dir === "rtl" ? 0 : void 0,
|
|
bottom: "var(--radix-scroll-area-corner-height)",
|
|
["--radix-scroll-area-thumb-height"]: getThumbSize(sizes) + "px",
|
|
...props.style
|
|
},
|
|
onThumbPointerDown: (pointerPos)=>props.onThumbPointerDown(pointerPos.y),
|
|
onDragScroll: (pointerPos)=>props.onDragScroll(pointerPos.y),
|
|
onWheelScroll: (event, maxScrollPos)=>{
|
|
if (context.viewport) {
|
|
const scrollPos = context.viewport.scrollTop + event.deltaY;
|
|
props.onWheelScroll(scrollPos);
|
|
if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
},
|
|
onResize: ()=>{
|
|
if (ref.current && context.viewport && computedStyle) {
|
|
onSizesChange({
|
|
content: context.viewport.scrollHeight,
|
|
viewport: context.viewport.offsetHeight,
|
|
scrollbar: {
|
|
size: ref.current.clientHeight,
|
|
paddingStart: toInt(computedStyle.paddingTop),
|
|
paddingEnd: toInt(computedStyle.paddingBottom)
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
var [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);
|
|
var ScrollAreaScrollbarImpl = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { __scopeScrollArea, sizes, hasThumb, onThumbChange, onThumbPointerUp, onThumbPointerDown, onThumbPositionChange, onDragScroll, onWheelScroll, onResize, ...scrollbarProps } = props;
|
|
const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);
|
|
const [scrollbar, setScrollbar] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 composeRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, {
|
|
"ScrollAreaScrollbarImpl.useComposedRefs[composeRefs]": (node)=>setScrollbar(node)
|
|
}["ScrollAreaScrollbarImpl.useComposedRefs[composeRefs]"]);
|
|
const rectRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 prevWebkitUserSelectRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 viewport = context.viewport;
|
|
const maxScrollPos = sizes.content - sizes.viewport;
|
|
const handleWheelScroll = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(onWheelScroll);
|
|
const handleThumbPositionChange = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(onThumbPositionChange);
|
|
const handleResize = useDebounceCallback(onResize, 10);
|
|
function handleDragScroll(event) {
|
|
if (rectRef.current) {
|
|
const x = event.clientX - rectRef.current.left;
|
|
const y = event.clientY - rectRef.current.top;
|
|
onDragScroll({
|
|
x,
|
|
y
|
|
});
|
|
}
|
|
}
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"ScrollAreaScrollbarImpl.useEffect": ()=>{
|
|
const handleWheel = {
|
|
"ScrollAreaScrollbarImpl.useEffect.handleWheel": (event)=>{
|
|
const element = event.target;
|
|
const isScrollbarWheel = scrollbar?.contains(element);
|
|
if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);
|
|
}
|
|
}["ScrollAreaScrollbarImpl.useEffect.handleWheel"];
|
|
document.addEventListener("wheel", handleWheel, {
|
|
passive: false
|
|
});
|
|
return ({
|
|
"ScrollAreaScrollbarImpl.useEffect": ()=>document.removeEventListener("wheel", handleWheel, {
|
|
passive: false
|
|
})
|
|
})["ScrollAreaScrollbarImpl.useEffect"];
|
|
}
|
|
}["ScrollAreaScrollbarImpl.useEffect"], [
|
|
viewport,
|
|
scrollbar,
|
|
maxScrollPos,
|
|
handleWheelScroll
|
|
]);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"](handleThumbPositionChange, [
|
|
sizes,
|
|
handleThumbPositionChange
|
|
]);
|
|
useResizeObserver(scrollbar, handleResize);
|
|
useResizeObserver(context.content, handleResize);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollbarProvider, {
|
|
scope: __scopeScrollArea,
|
|
scrollbar,
|
|
hasThumb,
|
|
onThumbChange: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(onThumbChange),
|
|
onThumbPointerUp: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(onThumbPointerUp),
|
|
onThumbPositionChange: handleThumbPositionChange,
|
|
onThumbPointerDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(onThumbPointerDown),
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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, {
|
|
...scrollbarProps,
|
|
ref: composeRefs,
|
|
style: {
|
|
position: "absolute",
|
|
...scrollbarProps.style
|
|
},
|
|
onPointerDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerDown, (event)=>{
|
|
const mainPointer = 0;
|
|
if (event.button === mainPointer) {
|
|
const element = event.target;
|
|
element.setPointerCapture(event.pointerId);
|
|
rectRef.current = scrollbar.getBoundingClientRect();
|
|
prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;
|
|
document.body.style.webkitUserSelect = "none";
|
|
if (context.viewport) context.viewport.style.scrollBehavior = "auto";
|
|
handleDragScroll(event);
|
|
}
|
|
}),
|
|
onPointerMove: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, handleDragScroll),
|
|
onPointerUp: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeEventHandlers"])(props.onPointerUp, (event)=>{
|
|
const element = event.target;
|
|
if (element.hasPointerCapture(event.pointerId)) {
|
|
element.releasePointerCapture(event.pointerId);
|
|
}
|
|
document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;
|
|
if (context.viewport) context.viewport.style.scrollBehavior = "";
|
|
rectRef.current = null;
|
|
})
|
|
})
|
|
});
|
|
});
|
|
var THUMB_NAME = "ScrollAreaThumb";
|
|
var ScrollAreaThumb = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { forceMount, ...thumbProps } = props;
|
|
const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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 || scrollbarContext.hasThumb,
|
|
children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaThumbImpl, {
|
|
ref: forwardedRef,
|
|
...thumbProps
|
|
})
|
|
});
|
|
});
|
|
var ScrollAreaThumbImpl = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { __scopeScrollArea, style, ...thumbProps } = props;
|
|
const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);
|
|
const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);
|
|
const { onThumbPositionChange } = scrollbarContext;
|
|
const composedRef = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, {
|
|
"ScrollAreaThumbImpl.useComposedRefs[composedRef]": (node)=>scrollbarContext.onThumbChange(node)
|
|
}["ScrollAreaThumbImpl.useComposedRefs[composedRef]"]);
|
|
const removeUnlinkedScrollListenerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"](void 0);
|
|
const debounceScrollEnd = useDebounceCallback({
|
|
"ScrollAreaThumbImpl.useDebounceCallback[debounceScrollEnd]": ()=>{
|
|
if (removeUnlinkedScrollListenerRef.current) {
|
|
removeUnlinkedScrollListenerRef.current();
|
|
removeUnlinkedScrollListenerRef.current = void 0;
|
|
}
|
|
}
|
|
}["ScrollAreaThumbImpl.useDebounceCallback[debounceScrollEnd]"], 100);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"ScrollAreaThumbImpl.useEffect": ()=>{
|
|
const viewport = scrollAreaContext.viewport;
|
|
if (viewport) {
|
|
const handleScroll = {
|
|
"ScrollAreaThumbImpl.useEffect.handleScroll": ()=>{
|
|
debounceScrollEnd();
|
|
if (!removeUnlinkedScrollListenerRef.current) {
|
|
const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);
|
|
removeUnlinkedScrollListenerRef.current = listener;
|
|
onThumbPositionChange();
|
|
}
|
|
}
|
|
}["ScrollAreaThumbImpl.useEffect.handleScroll"];
|
|
onThumbPositionChange();
|
|
viewport.addEventListener("scroll", handleScroll);
|
|
return ({
|
|
"ScrollAreaThumbImpl.useEffect": ()=>viewport.removeEventListener("scroll", handleScroll)
|
|
})["ScrollAreaThumbImpl.useEffect"];
|
|
}
|
|
}
|
|
}["ScrollAreaThumbImpl.useEffect"], [
|
|
scrollAreaContext.viewport,
|
|
debounceScrollEnd,
|
|
onThumbPositionChange
|
|
]);
|
|
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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-state": scrollbarContext.hasThumb ? "visible" : "hidden",
|
|
...thumbProps,
|
|
ref: composedRef,
|
|
style: {
|
|
width: "var(--radix-scroll-area-thumb-width)",
|
|
height: "var(--radix-scroll-area-thumb-height)",
|
|
...style
|
|
},
|
|
onPointerDownCapture: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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.onPointerDownCapture, (event)=>{
|
|
const thumb = event.target;
|
|
const thumbRect = thumb.getBoundingClientRect();
|
|
const x = event.clientX - thumbRect.left;
|
|
const y = event.clientY - thumbRect.top;
|
|
scrollbarContext.onThumbPointerDown({
|
|
x,
|
|
y
|
|
});
|
|
}),
|
|
onPointerUp: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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, scrollbarContext.onThumbPointerUp)
|
|
});
|
|
});
|
|
ScrollAreaThumb.displayName = THUMB_NAME;
|
|
var CORNER_NAME = "ScrollAreaCorner";
|
|
var ScrollAreaCorner = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);
|
|
const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);
|
|
const hasCorner = context.type !== "scroll" && hasBothScrollbarsVisible;
|
|
return hasCorner ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(ScrollAreaCornerImpl, {
|
|
...props,
|
|
ref: forwardedRef
|
|
}) : null;
|
|
});
|
|
ScrollAreaCorner.displayName = CORNER_NAME;
|
|
var ScrollAreaCornerImpl = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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 { __scopeScrollArea, ...cornerProps } = props;
|
|
const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);
|
|
const [width, setWidth] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
const [height, setHeight] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
const hasSize = Boolean(width && height);
|
|
useResizeObserver(context.scrollbarX, {
|
|
"ScrollAreaCornerImpl.useResizeObserver": ()=>{
|
|
const height2 = context.scrollbarX?.offsetHeight || 0;
|
|
context.onCornerHeightChange(height2);
|
|
setHeight(height2);
|
|
}
|
|
}["ScrollAreaCornerImpl.useResizeObserver"]);
|
|
useResizeObserver(context.scrollbarY, {
|
|
"ScrollAreaCornerImpl.useResizeObserver": ()=>{
|
|
const width2 = context.scrollbarY?.offsetWidth || 0;
|
|
context.onCornerWidthChange(width2);
|
|
setWidth(width2);
|
|
}
|
|
}["ScrollAreaCornerImpl.useResizeObserver"]);
|
|
return hasSize ? /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_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$coding$2f$projects$2f$LangBot$2f$web$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, {
|
|
...cornerProps,
|
|
ref: forwardedRef,
|
|
style: {
|
|
width,
|
|
height,
|
|
position: "absolute",
|
|
right: context.dir === "ltr" ? 0 : void 0,
|
|
left: context.dir === "rtl" ? 0 : void 0,
|
|
bottom: 0,
|
|
...props.style
|
|
}
|
|
}) : null;
|
|
});
|
|
function toInt(value) {
|
|
return value ? parseInt(value, 10) : 0;
|
|
}
|
|
function getThumbRatio(viewportSize, contentSize) {
|
|
const ratio = viewportSize / contentSize;
|
|
return isNaN(ratio) ? 0 : ratio;
|
|
}
|
|
function getThumbSize(sizes) {
|
|
const ratio = getThumbRatio(sizes.viewport, sizes.content);
|
|
const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
|
|
const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;
|
|
return Math.max(thumbSize, 18);
|
|
}
|
|
function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = "ltr") {
|
|
const thumbSizePx = getThumbSize(sizes);
|
|
const thumbCenter = thumbSizePx / 2;
|
|
const offset = pointerOffset || thumbCenter;
|
|
const thumbOffsetFromEnd = thumbSizePx - offset;
|
|
const minPointerPos = sizes.scrollbar.paddingStart + offset;
|
|
const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;
|
|
const maxScrollPos = sizes.content - sizes.viewport;
|
|
const scrollRange = dir === "ltr" ? [
|
|
0,
|
|
maxScrollPos
|
|
] : [
|
|
maxScrollPos * -1,
|
|
0
|
|
];
|
|
const interpolate = linearScale([
|
|
minPointerPos,
|
|
maxPointerPos
|
|
], scrollRange);
|
|
return interpolate(pointerPos);
|
|
}
|
|
function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
|
|
const thumbSizePx = getThumbSize(sizes);
|
|
const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
|
|
const scrollbar = sizes.scrollbar.size - scrollbarPadding;
|
|
const maxScrollPos = sizes.content - sizes.viewport;
|
|
const maxThumbPos = scrollbar - thumbSizePx;
|
|
const scrollClampRange = dir === "ltr" ? [
|
|
0,
|
|
maxScrollPos
|
|
] : [
|
|
maxScrollPos * -1,
|
|
0
|
|
];
|
|
const scrollWithoutMomentum = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$number$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clamp"])(scrollPos, scrollClampRange);
|
|
const interpolate = linearScale([
|
|
0,
|
|
maxScrollPos
|
|
], [
|
|
0,
|
|
maxThumbPos
|
|
]);
|
|
return interpolate(scrollWithoutMomentum);
|
|
}
|
|
function linearScale(input, output) {
|
|
return (value)=>{
|
|
if (input[0] === input[1] || output[0] === output[1]) return output[0];
|
|
const ratio = (output[1] - output[0]) / (input[1] - input[0]);
|
|
return output[0] + ratio * (value - input[0]);
|
|
};
|
|
}
|
|
function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {
|
|
return scrollPos > 0 && scrollPos < maxScrollPos;
|
|
}
|
|
var addUnlinkedScrollListener = (node, handler = ()=>{})=>{
|
|
let prevPosition = {
|
|
left: node.scrollLeft,
|
|
top: node.scrollTop
|
|
};
|
|
let rAF = 0;
|
|
(function loop() {
|
|
const position = {
|
|
left: node.scrollLeft,
|
|
top: node.scrollTop
|
|
};
|
|
const isHorizontalScroll = prevPosition.left !== position.left;
|
|
const isVerticalScroll = prevPosition.top !== position.top;
|
|
if (isHorizontalScroll || isVerticalScroll) handler();
|
|
prevPosition = position;
|
|
rAF = window.requestAnimationFrame(loop);
|
|
})();
|
|
return ()=>window.cancelAnimationFrame(rAF);
|
|
};
|
|
function useDebounceCallback(callback, delay) {
|
|
const handleCallback = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(callback);
|
|
const debounceTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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);
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"]({
|
|
"useDebounceCallback.useEffect": ()=>({
|
|
"useDebounceCallback.useEffect": ()=>window.clearTimeout(debounceTimerRef.current)
|
|
})["useDebounceCallback.useEffect"]
|
|
}["useDebounceCallback.useEffect"], []);
|
|
return __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"]({
|
|
"useDebounceCallback.useCallback": ()=>{
|
|
window.clearTimeout(debounceTimerRef.current);
|
|
debounceTimerRef.current = window.setTimeout(handleCallback, delay);
|
|
}
|
|
}["useDebounceCallback.useCallback"], [
|
|
handleCallback,
|
|
delay
|
|
]);
|
|
}
|
|
function useResizeObserver(element, onResize) {
|
|
const handleResize = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])(onResize);
|
|
(0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$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"])({
|
|
"useResizeObserver.useLayoutEffect": ()=>{
|
|
let rAF = 0;
|
|
if (element) {
|
|
const resizeObserver = new ResizeObserver({
|
|
"useResizeObserver.useLayoutEffect": ()=>{
|
|
cancelAnimationFrame(rAF);
|
|
rAF = window.requestAnimationFrame(handleResize);
|
|
}
|
|
}["useResizeObserver.useLayoutEffect"]);
|
|
resizeObserver.observe(element);
|
|
return ({
|
|
"useResizeObserver.useLayoutEffect": ()=>{
|
|
window.cancelAnimationFrame(rAF);
|
|
resizeObserver.unobserve(element);
|
|
}
|
|
})["useResizeObserver.useLayoutEffect"];
|
|
}
|
|
}
|
|
}["useResizeObserver.useLayoutEffect"], [
|
|
element,
|
|
handleResize
|
|
]);
|
|
}
|
|
var Root = ScrollArea;
|
|
var Viewport = ScrollAreaViewport;
|
|
var Scrollbar = ScrollAreaScrollbar;
|
|
var Thumb = ScrollAreaThumb;
|
|
var Corner = ScrollAreaCorner;
|
|
;
|
|
//# sourceMappingURL=index.mjs.map
|
|
}),
|
|
]);
|
|
|
|
//# sourceMappingURL=a2e30_f18afe1b._.js.map
|