mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-07-20 19:36:08 +00:00
2415 lines
155 KiB
JavaScript
2415 lines
155 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/@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
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/github-slugger/regex.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
// This module is generated by `script/`.
|
||
/* eslint-disable no-control-regex, no-misleading-character-class, no-useless-escape */ __turbopack_context__.s([
|
||
"regex",
|
||
()=>regex
|
||
]);
|
||
const regex = /[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g;
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/github-slugger/index.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>BananaSlug,
|
||
"slug",
|
||
()=>slug
|
||
]);
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$github$2d$slugger$2f$regex$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/github-slugger/regex.js [app-client] (ecmascript)");
|
||
;
|
||
const own = Object.hasOwnProperty;
|
||
class BananaSlug {
|
||
/**
|
||
* Create a new slug class.
|
||
*/ constructor(){
|
||
/** @type {Record<string, number>} */ // eslint-disable-next-line no-unused-expressions
|
||
this.occurrences;
|
||
this.reset();
|
||
}
|
||
/**
|
||
* Generate a unique slug.
|
||
*
|
||
* Tracks previously generated slugs: repeated calls with the same value
|
||
* will result in different slugs.
|
||
* Use the `slug` function to get same slugs.
|
||
*
|
||
* @param {string} value
|
||
* String of text to slugify
|
||
* @param {boolean} [maintainCase=false]
|
||
* Keep the current case, otherwise make all lowercase
|
||
* @return {string}
|
||
* A unique slug string
|
||
*/ slug(value, maintainCase) {
|
||
const self = this;
|
||
let result = slug(value, maintainCase === true);
|
||
const originalSlug = result;
|
||
while(own.call(self.occurrences, result)){
|
||
self.occurrences[originalSlug]++;
|
||
result = originalSlug + '-' + self.occurrences[originalSlug];
|
||
}
|
||
self.occurrences[result] = 0;
|
||
return result;
|
||
}
|
||
/**
|
||
* Reset - Forget all previous slugs
|
||
*
|
||
* @return void
|
||
*/ reset() {
|
||
this.occurrences = Object.create(null);
|
||
}
|
||
}
|
||
function slug(value, maintainCase) {
|
||
if (typeof value !== 'string') return '';
|
||
if (!maintainCase) value = value.toLowerCase();
|
||
return value.replace(__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$github$2d$slugger$2f$regex$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["regex"], '').replace(/ /g, '-');
|
||
}
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/hast-util-heading-rank/lib/index.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @typedef {import('hast').Nodes} Nodes
|
||
*/ /**
|
||
* Get the rank (`1` to `6`) of headings (`h1` to `h6`).
|
||
*
|
||
* @param {Nodes} node
|
||
* Node to check.
|
||
* @returns {number | undefined}
|
||
* Rank of the heading or `undefined` if not a heading.
|
||
*/ __turbopack_context__.s([
|
||
"headingRank",
|
||
()=>headingRank
|
||
]);
|
||
function headingRank(node) {
|
||
const name = node.type === 'element' ? node.tagName.toLowerCase() : '';
|
||
const code = name.length === 2 && name.charCodeAt(0) === 104 /* `h` */ ? name.charCodeAt(1) : 0;
|
||
return code > 48 /* `0` */ && code < 55 /* `7` */ ? code - 48 /* `0` */ : undefined;
|
||
}
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/hast-util-to-string/lib/index.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
/**
|
||
* @import {Nodes, Parents} from 'hast'
|
||
*/ /**
|
||
* Get the plain-text value of a hast node.
|
||
*
|
||
* @param {Nodes} node
|
||
* Node to serialize.
|
||
* @returns {string}
|
||
* Serialized node.
|
||
*/ __turbopack_context__.s([
|
||
"toString",
|
||
()=>toString
|
||
]);
|
||
function toString(node) {
|
||
// “The concatenation of data of all the Text node descendants of the context
|
||
// object, in tree order.”
|
||
if ('children' in node) {
|
||
return all(node);
|
||
}
|
||
// “Context object’s data.”
|
||
return 'value' in node ? node.value : '';
|
||
}
|
||
/**
|
||
* @param {Nodes} node
|
||
* Node.
|
||
* @returns {string}
|
||
* Serialized node.
|
||
*/ function one(node) {
|
||
if (node.type === 'text') {
|
||
return node.value;
|
||
}
|
||
return 'children' in node ? all(node) : '';
|
||
}
|
||
/**
|
||
* @param {Parents} node
|
||
* Node.
|
||
* @returns {string}
|
||
* Serialized node.
|
||
*/ function all(node) {
|
||
let index = -1;
|
||
/** @type {Array<string>} */ const result = [];
|
||
while(++index < node.children.length){
|
||
result[index] = one(node.children[index]);
|
||
}
|
||
return result.join('');
|
||
}
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/rehype-slug/lib/index.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>rehypeSlug
|
||
]);
|
||
/**
|
||
* @typedef {import('hast').Root} Root
|
||
*/ /**
|
||
* @typedef Options
|
||
* Configuration (optional).
|
||
* @property {string} [prefix='']
|
||
* Prefix to add in front of `id`s (default: `''`).
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$github$2d$slugger$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/github-slugger/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$hast$2d$util$2d$heading$2d$rank$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/hast-util-heading-rank/lib/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$hast$2d$util$2d$to$2d$string$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/hast-util-to-string/lib/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$unist$2d$util$2d$visit$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/unist-util-visit/lib/index.js [app-client] (ecmascript) <locals>");
|
||
;
|
||
;
|
||
;
|
||
;
|
||
/** @type {Options} */ const emptyOptions = {};
|
||
const slugs = new __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$github$2d$slugger$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]();
|
||
function rehypeSlug(options) {
|
||
const settings = options || emptyOptions;
|
||
const prefix = settings.prefix || '';
|
||
/**
|
||
* @param {Root} tree
|
||
* Tree.
|
||
* @returns {undefined}
|
||
* Nothing.
|
||
*/ return function(tree) {
|
||
slugs.reset();
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$unist$2d$util$2d$visit$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["visit"])(tree, 'element', function(node) {
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$hast$2d$util$2d$heading$2d$rank$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["headingRank"])(node) && !node.properties.id) {
|
||
node.properties.id = prefix + slugs.slug((0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$hast$2d$util$2d$to$2d$string$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["toString"])(node));
|
||
}
|
||
});
|
||
};
|
||
}
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/rehype-autolink-headings/lib/index.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"default",
|
||
()=>rehypeAutolinkHeadings
|
||
]);
|
||
/**
|
||
* @typedef {import('hast').Element} Element
|
||
* @typedef {import('hast').ElementContent} ElementContent
|
||
* @typedef {import('hast').Properties} Properties
|
||
* @typedef {import('hast').Root} Root
|
||
*
|
||
* @typedef {import('hast-util-is-element').Test} Test
|
||
*/ /**
|
||
* @typedef {'after' | 'append' | 'before' | 'prepend' | 'wrap'} Behavior
|
||
* Behavior.
|
||
*
|
||
* @callback Build
|
||
* Generate content.
|
||
* @param {Readonly<Element>} element
|
||
* Current heading.
|
||
* @returns {Array<ElementContent> | ElementContent}
|
||
* Content.
|
||
*
|
||
* @callback BuildProperties
|
||
* Generate properties.
|
||
* @param {Readonly<Element>} element
|
||
* Current heading.
|
||
* @returns {Properties}
|
||
* Properties.
|
||
*
|
||
* @typedef Options
|
||
* Configuration.
|
||
* @property {Behavior | null | undefined} [behavior='prepend']
|
||
* How to create links (default: `'prepend'`).
|
||
* @property {Readonly<ElementContent> | ReadonlyArray<ElementContent> | Build | null | undefined} [content]
|
||
* Content to insert in the link (default: if `'wrap'` then `undefined`,
|
||
* otherwise `<span class="icon icon-link"></span>`);
|
||
* if `behavior` is `'wrap'` and `Build` is passed, its result replaces the
|
||
* existing content, otherwise the content is added after existing content.
|
||
* @property {Readonly<ElementContent> | ReadonlyArray<ElementContent> | Build | null | undefined} [group]
|
||
* Content to wrap the heading and link with, if `behavior` is `'after'` or
|
||
* `'before'` (optional).
|
||
* @property {Readonly<Properties> | BuildProperties | null | undefined} [headingProperties]
|
||
* Extra properties to set on the heading (optional).
|
||
* @property {Readonly<Properties> | BuildProperties | null | undefined} [properties]
|
||
* Extra properties to set on the link when injecting (default:
|
||
* `{ariaHidden: true, tabIndex: -1}` if `'append'` or `'prepend'`, otherwise
|
||
* `undefined`).
|
||
* @property {Test | null | undefined} [test]
|
||
* Extra test for which headings are linked (optional).
|
||
*/ /**
|
||
* @template T
|
||
* Kind.
|
||
* @typedef {(
|
||
* T extends Record<any, any>
|
||
* ? {-readonly [k in keyof T]: Cloneable<T[k]>}
|
||
* : T
|
||
* )} Cloneable
|
||
* Deep clone.
|
||
*
|
||
* See: <https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1237#issuecomment-1345515448>
|
||
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$ungap$2f$structured$2d$clone$2f$esm$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/@ungap/structured-clone/esm/index.js [app-client] (ecmascript) <locals>");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$hast$2d$util$2d$heading$2d$rank$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/hast-util-heading-rank/lib/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$hast$2d$util$2d$is$2d$element$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/hast-util-is-element/lib/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$unist$2d$util$2d$visit$2d$parents$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/unist-util-visit-parents/lib/index.js [app-client] (ecmascript)");
|
||
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$unist$2d$util$2d$visit$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/unist-util-visit/lib/index.js [app-client] (ecmascript) <locals>");
|
||
;
|
||
;
|
||
;
|
||
;
|
||
/** @type {Element} */ const contentDefaults = {
|
||
type: 'element',
|
||
tagName: 'span',
|
||
properties: {
|
||
className: [
|
||
'icon',
|
||
'icon-link'
|
||
]
|
||
},
|
||
children: []
|
||
};
|
||
/** @type {Options} */ const emptyOptions = {};
|
||
function rehypeAutolinkHeadings(options) {
|
||
const settings = options || emptyOptions;
|
||
let properties = settings.properties;
|
||
const headingOroperties = settings.headingProperties;
|
||
const behavior = settings.behavior || 'prepend';
|
||
const content = settings.content;
|
||
const group = settings.group;
|
||
const is = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$hast$2d$util$2d$is$2d$element$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["convertElement"])(settings.test);
|
||
/** @type {import('unist-util-visit').Visitor<Element>} */ let method;
|
||
if (behavior === 'after' || behavior === 'before') {
|
||
method = around;
|
||
} else if (behavior === 'wrap') {
|
||
method = wrap;
|
||
} else {
|
||
method = inject;
|
||
if (!properties) {
|
||
properties = {
|
||
ariaHidden: 'true',
|
||
tabIndex: -1
|
||
};
|
||
}
|
||
}
|
||
/**
|
||
* Transform.
|
||
*
|
||
* @param {Root} tree
|
||
* Tree.
|
||
* @returns {undefined}
|
||
* Nothing.
|
||
*/ return function(tree) {
|
||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$unist$2d$util$2d$visit$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["visit"])(tree, 'element', function(node, index, parent) {
|
||
if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$hast$2d$util$2d$heading$2d$rank$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["headingRank"])(node) && node.properties.id && is(node, index, parent)) {
|
||
Object.assign(node.properties, toProperties(headingOroperties, node));
|
||
return method(node, index, parent);
|
||
}
|
||
});
|
||
};
|
||
//TURBOPACK unreachable
|
||
;
|
||
/** @type {import('unist-util-visit').Visitor<Element>} */ function inject(node) {
|
||
const children = toChildren(content || contentDefaults, node);
|
||
node.children[behavior === 'prepend' ? 'unshift' : 'push'](create(node, toProperties(properties, node), children));
|
||
return [
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$unist$2d$util$2d$visit$2d$parents$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["SKIP"]
|
||
];
|
||
}
|
||
/** @type {import('unist-util-visit').Visitor<Element>} */ function around(node, index, parent) {
|
||
/* c8 ignore next -- uncommon */ if (typeof index !== 'number' || !parent) return;
|
||
const children = toChildren(content || contentDefaults, node);
|
||
const link = create(node, toProperties(properties, node), children);
|
||
let nodes = behavior === 'before' ? [
|
||
link,
|
||
node
|
||
] : [
|
||
node,
|
||
link
|
||
];
|
||
if (group) {
|
||
const grouping = toNode(group, node);
|
||
if (grouping && !Array.isArray(grouping) && grouping.type === 'element') {
|
||
grouping.children = nodes;
|
||
nodes = [
|
||
grouping
|
||
];
|
||
}
|
||
}
|
||
parent.children.splice(index, 1, ...nodes);
|
||
return [
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$unist$2d$util$2d$visit$2d$parents$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["SKIP"],
|
||
index + nodes.length
|
||
];
|
||
}
|
||
/** @type {import('unist-util-visit').Visitor<Element>} */ function wrap(node) {
|
||
/** @type {Array<ElementContent>} */ let before = node.children;
|
||
/** @type {Array<ElementContent> | ElementContent} */ let after = [];
|
||
if (typeof content === 'function') {
|
||
before = [];
|
||
after = content(node);
|
||
} else if (content) {
|
||
after = clone(content);
|
||
}
|
||
node.children = [
|
||
create(node, toProperties(properties, node), Array.isArray(after) ? [
|
||
...before,
|
||
...after
|
||
] : [
|
||
...before,
|
||
after
|
||
])
|
||
];
|
||
return [
|
||
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$unist$2d$util$2d$visit$2d$parents$2f$lib$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["SKIP"]
|
||
];
|
||
}
|
||
}
|
||
/**
|
||
* Deep clone.
|
||
*
|
||
* @template T
|
||
* Kind.
|
||
* @param {T} thing
|
||
* Thing to clone.
|
||
* @returns {Cloneable<T>}
|
||
* Cloned thing.
|
||
*/ function clone(thing) {
|
||
// Cast because it’s mutable now.
|
||
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$ungap$2f$structured$2d$clone$2f$esm$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$locals$3e$__["default"])(thing);
|
||
}
|
||
/**
|
||
* Create an `a`.
|
||
*
|
||
* @param {Readonly<Element>} node
|
||
* Related heading.
|
||
* @param {Properties | undefined} properties
|
||
* Properties to set on the link.
|
||
* @param {Array<ElementContent>} children
|
||
* Content.
|
||
* @returns {Element}
|
||
* Link.
|
||
*/ function create(node, properties, children) {
|
||
return {
|
||
type: 'element',
|
||
tagName: 'a',
|
||
properties: {
|
||
...properties,
|
||
href: '#' + node.properties.id
|
||
},
|
||
children
|
||
};
|
||
}
|
||
/**
|
||
* Turn into children.
|
||
*
|
||
* @param {Readonly<ElementContent> | ReadonlyArray<ElementContent> | Build} value
|
||
* Content.
|
||
* @param {Readonly<Element>} node
|
||
* Related heading.
|
||
* @returns {Array<ElementContent>}
|
||
* Children.
|
||
*/ function toChildren(value, node) {
|
||
const result = toNode(value, node);
|
||
return Array.isArray(result) ? result : [
|
||
result
|
||
];
|
||
}
|
||
/**
|
||
* Turn into a node.
|
||
*
|
||
* @param {Readonly<ElementContent> | ReadonlyArray<ElementContent> | Build} value
|
||
* Content.
|
||
* @param {Readonly<Element>} node
|
||
* Related heading.
|
||
* @returns {Array<ElementContent> | ElementContent}
|
||
* Node.
|
||
*/ function toNode(value, node) {
|
||
if (typeof value === 'function') return value(node);
|
||
return clone(value);
|
||
}
|
||
/**
|
||
* Turn into properties.
|
||
*
|
||
* @param {Readonly<Properties> | BuildProperties | null | undefined} value
|
||
* Properties.
|
||
* @param {Readonly<Element>} node
|
||
* Related heading.
|
||
* @returns {Properties}
|
||
* Properties.
|
||
*/ function toProperties(value, node) {
|
||
if (typeof value === 'function') return value(node);
|
||
return value ? clone(value) : {};
|
||
}
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/server.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Server
|
||
]);
|
||
/**
|
||
* @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: "20",
|
||
height: "8",
|
||
x: "2",
|
||
y: "2",
|
||
rx: "2",
|
||
ry: "2",
|
||
key: "ngkwjq"
|
||
}
|
||
],
|
||
[
|
||
"rect",
|
||
{
|
||
width: "20",
|
||
height: "8",
|
||
x: "2",
|
||
y: "14",
|
||
rx: "2",
|
||
ry: "2",
|
||
key: "iecqi9"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "6",
|
||
x2: "6.01",
|
||
y1: "6",
|
||
y2: "6",
|
||
key: "16zg32"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "6",
|
||
x2: "6.01",
|
||
y1: "18",
|
||
y2: "18",
|
||
key: "nzw8ys"
|
||
}
|
||
]
|
||
];
|
||
const Server = (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"])("server", __iconNode);
|
||
;
|
||
//# sourceMappingURL=server.js.map
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/server.js [app-client] (ecmascript) <export default as Server>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Server",
|
||
()=>__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$server$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$server$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/server.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/audio-waveform.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>AudioWaveform
|
||
]);
|
||
/**
|
||
* @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 = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2",
|
||
key: "57tc96"
|
||
}
|
||
]
|
||
];
|
||
const AudioWaveform = (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"])("audio-waveform", __iconNode);
|
||
;
|
||
//# sourceMappingURL=audio-waveform.js.map
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/audio-waveform.js [app-client] (ecmascript) <export default as AudioWaveform>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"AudioWaveform",
|
||
()=>__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$audio$2d$waveform$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$audio$2d$waveform$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/audio-waveform.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/hash.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Hash
|
||
]);
|
||
/**
|
||
* @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 = [
|
||
[
|
||
"line",
|
||
{
|
||
x1: "4",
|
||
x2: "20",
|
||
y1: "9",
|
||
y2: "9",
|
||
key: "4lhtct"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "4",
|
||
x2: "20",
|
||
y1: "15",
|
||
y2: "15",
|
||
key: "vyu0kd"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "10",
|
||
x2: "8",
|
||
y1: "3",
|
||
y2: "21",
|
||
key: "1ggp8o"
|
||
}
|
||
],
|
||
[
|
||
"line",
|
||
{
|
||
x1: "16",
|
||
x2: "14",
|
||
y1: "3",
|
||
y2: "21",
|
||
key: "weycgp"
|
||
}
|
||
]
|
||
];
|
||
const Hash = (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"])("hash", __iconNode);
|
||
;
|
||
//# sourceMappingURL=hash.js.map
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/hash.js [app-client] (ecmascript) <export default as Hash>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Hash",
|
||
()=>__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$hash$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$hash$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/hash.js [app-client] (ecmascript)");
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/book.js [app-client] (ecmascript)", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"__iconNode",
|
||
()=>__iconNode,
|
||
"default",
|
||
()=>Book
|
||
]);
|
||
/**
|
||
* @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 = [
|
||
[
|
||
"path",
|
||
{
|
||
d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",
|
||
key: "k3hazp"
|
||
}
|
||
]
|
||
];
|
||
const Book = (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"])("book", __iconNode);
|
||
;
|
||
//# sourceMappingURL=book.js.map
|
||
}),
|
||
"[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/book.js [app-client] (ecmascript) <export default as Book>", ((__turbopack_context__) => {
|
||
"use strict";
|
||
|
||
__turbopack_context__.s([
|
||
"Book",
|
||
()=>__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$book$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$book$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/book.js [app-client] (ecmascript)");
|
||
}),
|
||
]);
|
||
|
||
//# sourceMappingURL=a2e30_48d6e75c._.js.map
|