(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) ", ((__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/lucide-react/dist/esm/icons/ellipsis.js [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>Ellipsis ]); /** * @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 = [ [ "circle", { cx: "12", cy: "12", r: "1", key: "41hilf" } ], [ "circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" } ], [ "circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" } ] ]; const Ellipsis = (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"])("ellipsis", __iconNode); ; //# sourceMappingURL=ellipsis.js.map }), "[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/ellipsis.js [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "MoreHorizontal", ()=>__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$ellipsis$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$ellipsis$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/ellipsis.js [app-client] (ecmascript)"); }), "[project]/coding/projects/LangBot/web/node_modules/@radix-ui/react-menu/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-menu/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Anchor", ()=>Anchor2, "Arrow", ()=>Arrow2, "CheckboxItem", ()=>CheckboxItem, "Content", ()=>Content2, "Group", ()=>Group, "Item", ()=>Item2, "ItemIndicator", ()=>ItemIndicator, "Label", ()=>Label, "Menu", ()=>Menu, "MenuAnchor", ()=>MenuAnchor, "MenuArrow", ()=>MenuArrow, "MenuCheckboxItem", ()=>MenuCheckboxItem, "MenuContent", ()=>MenuContent, "MenuGroup", ()=>MenuGroup, "MenuItem", ()=>MenuItem, "MenuItemIndicator", ()=>MenuItemIndicator, "MenuLabel", ()=>MenuLabel, "MenuPortal", ()=>MenuPortal, "MenuRadioGroup", ()=>MenuRadioGroup, "MenuRadioItem", ()=>MenuRadioItem, "MenuSeparator", ()=>MenuSeparator, "MenuSub", ()=>MenuSub, "MenuSubContent", ()=>MenuSubContent, "MenuSubTrigger", ()=>MenuSubTrigger, "Portal", ()=>Portal, "RadioGroup", ()=>RadioGroup, "RadioItem", ()=>RadioItem, "Root", ()=>Root3, "Separator", ()=>Separator, "Sub", ()=>Sub, "SubContent", ()=>SubContent, "SubTrigger", ()=>SubTrigger, "createMenuScope", ()=>createMenuScope ]); // src/menu.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$collection$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-collection/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$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$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$focus$2d$guards$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-focus-guards/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$focus$2d$scope$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-focus-scope/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$roving$2d$focus$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-roving-focus/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$menu$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-menu/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$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$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/aria-hidden/dist/es2015/index.js [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/react-remove-scroll/dist/es2015/Combination.js [app-client] (ecmascript) "); var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$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 SELECTION_KEYS = [ "Enter", " " ]; var FIRST_KEYS = [ "ArrowDown", "PageUp", "Home" ]; var LAST_KEYS = [ "ArrowUp", "PageDown", "End" ]; var FIRST_LAST_KEYS = [ ...FIRST_KEYS, ...LAST_KEYS ]; var SUB_OPEN_KEYS = { ltr: [ ...SELECTION_KEYS, "ArrowRight" ], rtl: [ ...SELECTION_KEYS, "ArrowLeft" ] }; var SUB_CLOSE_KEYS = { ltr: [ "ArrowLeft" ], rtl: [ "ArrowRight" ] }; var MENU_NAME = "Menu"; var [Collection, useCollection, createCollectionScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$collection$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createCollection"])(MENU_NAME); var [createMenuContext, createMenuScope] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(MENU_NAME, [ createCollectionScope, __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"], __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createRovingFocusGroupScope"] ]); var usePopperScope = (0, __TURBOPACK__imported__module__$5b$project$5d2f$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 useRovingFocusGroupScope = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createRovingFocusGroupScope"])(); var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME); var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME); var Menu = (props)=>{ const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props; const popperScope = usePopperScope(__scopeMenu); const [content, setContent] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 isUsingKeyboardRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 handleOpenChange = (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"])(onOpenChange); 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); __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "Menu.useEffect": ()=>{ const handleKeyDown = { "Menu.useEffect.handleKeyDown": ()=>{ isUsingKeyboardRef.current = true; document.addEventListener("pointerdown", handlePointer, { capture: true, once: true }); document.addEventListener("pointermove", handlePointer, { capture: true, once: true }); } }["Menu.useEffect.handleKeyDown"]; const handlePointer = { "Menu.useEffect.handlePointer": ()=>isUsingKeyboardRef.current = false }["Menu.useEffect.handlePointer"]; document.addEventListener("keydown", handleKeyDown, { capture: true }); return ({ "Menu.useEffect": ()=>{ document.removeEventListener("keydown", handleKeyDown, { capture: true }); document.removeEventListener("pointerdown", handlePointer, { capture: true }); document.removeEventListener("pointermove", handlePointer, { capture: true }); } })["Menu.useEffect"]; } }["Menu.useEffect"], []); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(MenuProvider, { scope: __scopeMenu, open, onOpenChange: handleOpenChange, content, onContentChange: setContent, 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"])(MenuRootProvider, { scope: __scopeMenu, 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"]({ "Menu.useCallback": ()=>handleOpenChange(false) }["Menu.useCallback"], [ handleOpenChange ]), isUsingKeyboardRef, dir: direction, modal, children }) }) }); }; Menu.displayName = MENU_NAME; var ANCHOR_NAME = "MenuAnchor"; var MenuAnchor = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeMenu, ...anchorProps } = props; const popperScope = usePopperScope(__scopeMenu); 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"], { ...popperScope, ...anchorProps, ref: forwardedRef }); }); MenuAnchor.displayName = ANCHOR_NAME; var PORTAL_NAME = "MenuPortal"; var [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, { forceMount: void 0 }); var MenuPortal = (props)=>{ const { __scopeMenu, forceMount, children, container } = props; const context = useMenuContext(PORTAL_NAME, __scopeMenu); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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: __scopeMenu, 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 }) }) }); }; MenuPortal.displayName = PORTAL_NAME; var CONTENT_NAME = "MenuContent"; var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME); var MenuContent = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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.__scopeMenu); const { forceMount = portalContext.forceMount, ...contentProps } = props; const context = useMenuContext(CONTENT_NAME, props.__scopeMenu); const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(Collection.Provider, { scope: props.__scopeMenu, 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"])(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__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"])(MenuRootContentModal, { ...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"])(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) }); }); var MenuRootContentModal = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 = useMenuContext(CONTENT_NAME, props.__scopeMenu); 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); __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuRootContentModal.useEffect": ()=>{ const content = ref.current; if (content) return (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$aria$2d$hidden$2f$dist$2f$es2015$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["hideOthers"])(content); } }["MenuRootContentModal.useEffect"], []); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(MenuContentImpl, { ...props, ref: composedRefs, trapFocus: context.open, disableOutsidePointerEvents: context.open, disableOutsideScroll: true, onFocusOutside: (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.onFocusOutside, (event)=>event.preventDefault(), { checkForDefaultPrevented: false }), onDismiss: ()=>context.onOpenChange(false) }); }); var MenuRootContentNonModal = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 = useMenuContext(CONTENT_NAME, props.__scopeMenu); 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"])(MenuContentImpl, { ...props, ref: forwardedRef, trapFocus: false, disableOutsidePointerEvents: false, disableOutsideScroll: false, onDismiss: ()=>context.onOpenChange(false) }); }); var Slot = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$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$__["createSlot"])("MenuContent.ScrollLock"); var MenuContentImpl = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeMenu, loop = false, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEntryFocus, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, disableOutsideScroll, ...contentProps } = props; const context = useMenuContext(CONTENT_NAME, __scopeMenu); const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu); const popperScope = usePopperScope(__scopeMenu); const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu); const getItems = useCollection(__scopeMenu); const [currentItemId, setCurrentItemId] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 contentRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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, contentRef, context.onContentChange); const timerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 searchRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 pointerGraceTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 pointerGraceIntentRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 pointerDirRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]("right"); const lastPointerXRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 ScrollLockWrapper = disableOutsideScroll ? __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$react$2d$remove$2d$scroll$2f$dist$2f$es2015$2f$Combination$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__RemoveScroll$3e$__["RemoveScroll"] : __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]; const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0; const handleTypeaheadSearch = (key)=>{ const search = searchRef.current + key; const items = getItems().filter((item)=>!item.disabled); const currentItem = document.activeElement; const currentMatch = items.find((item)=>item.ref.current === currentItem)?.textValue; const values = items.map((item)=>item.textValue); const nextMatch = getNextMatch(values, search, currentMatch); const newItem = items.find((item)=>item.textValue === nextMatch)?.ref.current; (function updateSearch(value) { searchRef.current = value; window.clearTimeout(timerRef.current); if (value !== "") timerRef.current = window.setTimeout(()=>updateSearch(""), 1e3); })(search); if (newItem) { setTimeout(()=>newItem.focus()); } }; __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuContentImpl.useEffect": ()=>{ return ({ "MenuContentImpl.useEffect": ()=>window.clearTimeout(timerRef.current) })["MenuContentImpl.useEffect"]; } }["MenuContentImpl.useEffect"], []); (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$focus$2d$guards$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useFocusGuards"])(); const isPointerMovingToSubmenu = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuContentImpl.useCallback[isPointerMovingToSubmenu]": (event)=>{ const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side; return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area); } }["MenuContentImpl.useCallback[isPointerMovingToSubmenu]"], []); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(MenuContentProvider, { scope: __scopeMenu, searchRef, onItemEnter: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuContentImpl.useCallback": (event)=>{ if (isPointerMovingToSubmenu(event)) event.preventDefault(); } }["MenuContentImpl.useCallback"], [ isPointerMovingToSubmenu ]), onItemLeave: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuContentImpl.useCallback": (event)=>{ if (isPointerMovingToSubmenu(event)) return; contentRef.current?.focus(); setCurrentItemId(null); } }["MenuContentImpl.useCallback"], [ isPointerMovingToSubmenu ]), 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"]({ "MenuContentImpl.useCallback": (event)=>{ if (isPointerMovingToSubmenu(event)) event.preventDefault(); } }["MenuContentImpl.useCallback"], [ isPointerMovingToSubmenu ]), pointerGraceTimerRef, onPointerGraceIntentChange: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuContentImpl.useCallback": (intent)=>{ pointerGraceIntentRef.current = intent; } }["MenuContentImpl.useCallback"], []), 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"])(ScrollLockWrapper, { ...scrollLockWrapperProps, 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$focus$2d$scope$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["FocusScope"], { asChild: true, trapped: trapFocus, onMountAutoFocus: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(onOpenAutoFocus, (event)=>{ event.preventDefault(); contentRef.current?.focus({ preventScroll: true }); }), onUnmountAutoFocus: onCloseAutoFocus, 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$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["DismissableLayer"], { asChild: true, disableOutsidePointerEvents, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], { asChild: true, ...rovingFocusGroupScope, dir: rootContext.dir, orientation: "vertical", loop, currentTabStopId: currentItemId, onCurrentTabStopIdChange: setCurrentItemId, onEntryFocus: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(onEntryFocus, (event)=>{ if (!rootContext.isUsingKeyboardRef.current) event.preventDefault(); }), preventScrollOnEntryFocus: 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$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Content"], { role: "menu", "aria-orientation": "vertical", "data-state": getOpenState(context.open), "data-radix-menu-content": "", dir: rootContext.dir, ...popperScope, ...contentProps, ref: composedRefs, style: { outline: "none", ...contentProps.style }, onKeyDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(contentProps.onKeyDown, (event)=>{ const target = event.target; const isKeyDownInside = target.closest("[data-radix-menu-content]") === event.currentTarget; const isModifierKey = event.ctrlKey || event.altKey || event.metaKey; const isCharacterKey = event.key.length === 1; if (isKeyDownInside) { if (event.key === "Tab") event.preventDefault(); if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key); } const content = contentRef.current; if (event.target !== content) return; if (!FIRST_LAST_KEYS.includes(event.key)) return; event.preventDefault(); const items = getItems().filter((item)=>!item.disabled); const candidateNodes = items.map((item)=>item.ref.current); if (LAST_KEYS.includes(event.key)) candidateNodes.reverse(); focusFirst(candidateNodes); }), onBlur: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, (event)=>{ if (!event.currentTarget.contains(event.target)) { window.clearTimeout(timerRef.current); searchRef.current = ""; } }), 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, whenMouse((event)=>{ const target = event.target; const pointerXHasChanged = lastPointerXRef.current !== event.clientX; if (event.currentTarget.contains(target) && pointerXHasChanged) { const newDir = event.clientX > lastPointerXRef.current ? "right" : "left"; pointerDirRef.current = newDir; lastPointerXRef.current = event.clientX; } })) }) }) }) }) }) }); }); MenuContent.displayName = CONTENT_NAME; var GROUP_NAME = "MenuGroup"; var MenuGroup = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeMenu, ...groupProps } = props; 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, { role: "group", ...groupProps, ref: forwardedRef }); }); MenuGroup.displayName = GROUP_NAME; var LABEL_NAME = "MenuLabel"; var MenuLabel = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeMenu, ...labelProps } = props; 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, { ...labelProps, ref: forwardedRef }); }); MenuLabel.displayName = LABEL_NAME; var ITEM_NAME = "MenuItem"; var ITEM_SELECT = "menu.itemSelect"; var MenuItem = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { disabled = false, onSelect, ...itemProps } = props; 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 rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu); const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu); 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 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 handleSelect = ()=>{ const menuItem = ref.current; if (!disabled && menuItem) { const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true }); menuItem.addEventListener(ITEM_SELECT, (event)=>onSelect?.(event), { once: true }); (0, __TURBOPACK__imported__module__$5b$project$5d2f$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$__["dispatchDiscreteCustomEvent"])(menuItem, itemSelectEvent); if (itemSelectEvent.defaultPrevented) { isPointerDownRef.current = false; } else { rootContext.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"])(MenuItemImpl, { ...itemProps, ref: composedRefs, disabled, 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, handleSelect), onPointerDown: (event)=>{ props.onPointerDown?.(event); isPointerDownRef.current = true; }, 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)=>{ if (!isPointerDownRef.current) event.currentTarget?.click(); }), onKeyDown: (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.onKeyDown, (event)=>{ const isTypingAhead = contentContext.searchRef.current !== ""; if (disabled || isTypingAhead && event.key === " ") return; if (SELECTION_KEYS.includes(event.key)) { event.currentTarget.click(); event.preventDefault(); } }) }); }); MenuItem.displayName = ITEM_NAME; var MenuItemImpl = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeMenu, disabled = false, textValue, ...itemProps } = props; const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu); const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu); 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 [isFocused, setIsFocused] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 [textContent, setTextContent] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"](""); __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuItemImpl.useEffect": ()=>{ const menuItem = ref.current; if (menuItem) { setTextContent((menuItem.textContent ?? "").trim()); } } }["MenuItemImpl.useEffect"], [ itemProps.children ]); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(Collection.ItemSlot, { scope: __scopeMenu, disabled, textValue: textValue ?? textContent, 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$roving$2d$focus$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Item"], { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, { role: "menuitem", "data-highlighted": isFocused ? "" : void 0, "aria-disabled": disabled || void 0, "data-disabled": disabled ? "" : void 0, ...itemProps, ref: composedRefs, onPointerMove: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, whenMouse((event)=>{ if (disabled) { contentContext.onItemLeave(event); } else { contentContext.onItemEnter(event); if (!event.defaultPrevented) { const item = event.currentTarget; item.focus({ preventScroll: true }); } } })), onPointerLeave: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, whenMouse((event)=>contentContext.onItemLeave(event))), 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, ()=>setIsFocused(true)), 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, ()=>setIsFocused(false)) }) }) }); }); var CHECKBOX_ITEM_NAME = "MenuCheckboxItem"; var MenuCheckboxItem = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { checked = false, onCheckedChange, ...checkboxItemProps } = props; 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"])(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, 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"])(MenuItem, { role: "menuitemcheckbox", "aria-checked": isIndeterminate(checked) ? "mixed" : checked, ...checkboxItemProps, ref: forwardedRef, "data-state": getCheckedState(checked), onSelect: (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"])(checkboxItemProps.onSelect, ()=>onCheckedChange?.(isIndeterminate(checked) ? true : !checked), { checkForDefaultPrevented: false }) }) }); }); MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME; var RADIO_GROUP_NAME = "MenuRadioGroup"; var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(RADIO_GROUP_NAME, { value: void 0, onValueChange: ()=>{} }); var MenuRadioGroup = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { value, onValueChange, ...groupProps } = props; const handleValueChange = (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"])(onValueChange); 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"])(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, 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"])(MenuGroup, { ...groupProps, ref: forwardedRef }) }); }); MenuRadioGroup.displayName = RADIO_GROUP_NAME; var RADIO_ITEM_NAME = "MenuRadioItem"; var MenuRadioItem = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { value, ...radioItemProps } = props; const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu); const checked = value === context.value; return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, 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"])(MenuItem, { role: "menuitemradio", "aria-checked": checked, ...radioItemProps, ref: forwardedRef, "data-state": getCheckedState(checked), onSelect: (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"])(radioItemProps.onSelect, ()=>context.onValueChange?.(value), { checkForDefaultPrevented: false }) }) }); }); MenuRadioItem.displayName = RADIO_ITEM_NAME; var ITEM_INDICATOR_NAME = "MenuItemIndicator"; var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(ITEM_INDICATOR_NAME, { checked: false }); var MenuItemIndicator = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeMenu, forceMount, ...itemIndicatorProps } = props; const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu); 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 || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === 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$primitive$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Primitive"].span, { ...itemIndicatorProps, ref: forwardedRef, "data-state": getCheckedState(indicatorContext.checked) }) }); }); MenuItemIndicator.displayName = ITEM_INDICATOR_NAME; var SEPARATOR_NAME = "MenuSeparator"; var MenuSeparator = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeMenu, ...separatorProps } = props; 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, { role: "separator", "aria-orientation": "horizontal", ...separatorProps, ref: forwardedRef }); }); MenuSeparator.displayName = SEPARATOR_NAME; var ARROW_NAME = "MenuArrow"; var MenuArrow = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeMenu, ...arrowProps } = props; const popperScope = usePopperScope(__scopeMenu); 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$__["Arrow"], { ...popperScope, ...arrowProps, ref: forwardedRef }); }); MenuArrow.displayName = ARROW_NAME; var SUB_NAME = "MenuSub"; var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME); var MenuSub = (props)=>{ const { __scopeMenu, children, open = false, onOpenChange } = props; const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu); const popperScope = usePopperScope(__scopeMenu); const [trigger, setTrigger] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 handleOpenChange = (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"])(onOpenChange); __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuSub.useEffect": ()=>{ if (parentMenuContext.open === false) handleOpenChange(false); return ({ "MenuSub.useEffect": ()=>handleOpenChange(false) })["MenuSub.useEffect"]; } }["MenuSub.useEffect"], [ parentMenuContext.open, handleOpenChange ]); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(MenuProvider, { scope: __scopeMenu, open, onOpenChange: handleOpenChange, content, onContentChange: setContent, 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"])(MenuSubProvider, { scope: __scopeMenu, 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"])(), triggerId: (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"])(), trigger, onTriggerChange: setTrigger, children }) }) }); }; MenuSub.displayName = SUB_NAME; var SUB_TRIGGER_NAME = "MenuSubTrigger"; var MenuSubTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu); const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu); const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu); const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu); const openTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext; const scope = { __scopeMenu: props.__scopeMenu }; const clearOpenTimer = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuSubTrigger.useCallback[clearOpenTimer]": ()=>{ if (openTimerRef.current) window.clearTimeout(openTimerRef.current); openTimerRef.current = null; } }["MenuSubTrigger.useCallback[clearOpenTimer]"], []); __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuSubTrigger.useEffect": ()=>clearOpenTimer }["MenuSubTrigger.useEffect"], [ clearOpenTimer ]); __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "MenuSubTrigger.useEffect": ()=>{ const pointerGraceTimer = pointerGraceTimerRef.current; return ({ "MenuSubTrigger.useEffect": ()=>{ window.clearTimeout(pointerGraceTimer); onPointerGraceIntentChange(null); } })["MenuSubTrigger.useEffect"]; } }["MenuSubTrigger.useEffect"], [ pointerGraceTimerRef, onPointerGraceIntentChange ]); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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"])(MenuAnchor, { asChild: true, ...scope, 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"])(MenuItemImpl, { id: subContext.triggerId, "aria-haspopup": "menu", "aria-expanded": context.open, "aria-controls": subContext.contentId, "data-state": getOpenState(context.open), ...props, ref: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, subContext.onTriggerChange), onClick: (event)=>{ props.onClick?.(event); if (props.disabled || event.defaultPrevented) return; event.currentTarget.focus(); if (!context.open) context.onOpenChange(true); }, onPointerMove: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, whenMouse((event)=>{ contentContext.onItemEnter(event); if (event.defaultPrevented) return; if (!props.disabled && !context.open && !openTimerRef.current) { contentContext.onPointerGraceIntentChange(null); openTimerRef.current = window.setTimeout(()=>{ context.onOpenChange(true); clearOpenTimer(); }, 100); } })), onPointerLeave: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, whenMouse((event)=>{ clearOpenTimer(); const contentRect = context.content?.getBoundingClientRect(); if (contentRect) { const side = context.content?.dataset.side; const rightSide = side === "right"; const bleed = rightSide ? -5 : 5; const contentNearEdge = contentRect[rightSide ? "left" : "right"]; const contentFarEdge = contentRect[rightSide ? "right" : "left"]; contentContext.onPointerGraceIntentChange({ area: [ // Apply a bleed on clientX to ensure that our exit point is // consistently within polygon bounds { x: event.clientX + bleed, y: event.clientY }, { x: contentNearEdge, y: contentRect.top }, { x: contentFarEdge, y: contentRect.top }, { x: contentFarEdge, y: contentRect.bottom }, { x: contentNearEdge, y: contentRect.bottom } ], side }); window.clearTimeout(pointerGraceTimerRef.current); pointerGraceTimerRef.current = window.setTimeout(()=>contentContext.onPointerGraceIntentChange(null), 300); } else { contentContext.onTriggerLeave(event); if (event.defaultPrevented) return; contentContext.onPointerGraceIntentChange(null); } })), onKeyDown: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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.onKeyDown, (event)=>{ const isTypingAhead = contentContext.searchRef.current !== ""; if (props.disabled || isTypingAhead && event.key === " ") return; if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) { context.onOpenChange(true); context.content?.focus(); event.preventDefault(); } }) }) }); }); MenuSubTrigger.displayName = SUB_TRIGGER_NAME; var SUB_CONTENT_NAME = "MenuSubContent"; var MenuSubContent = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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.__scopeMenu); const { forceMount = portalContext.forceMount, ...subContentProps } = props; const context = useMenuContext(CONTENT_NAME, props.__scopeMenu); const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu); const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu); const ref = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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); 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"])(Collection.Provider, { scope: props.__scopeMenu, 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"])(Collection.Slot, { scope: props.__scopeMenu, 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"])(MenuContentImpl, { id: subContext.contentId, "aria-labelledby": subContext.triggerId, ...subContentProps, ref: composedRefs, align: "start", side: rootContext.dir === "rtl" ? "left" : "right", disableOutsidePointerEvents: false, disableOutsideScroll: false, trapFocus: false, onOpenAutoFocus: (event)=>{ if (rootContext.isUsingKeyboardRef.current) ref.current?.focus(); event.preventDefault(); }, onCloseAutoFocus: (event)=>event.preventDefault(), onFocusOutside: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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.onFocusOutside, (event)=>{ if (event.target !== subContext.trigger) context.onOpenChange(false); }), onEscapeKeyDown: (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.onEscapeKeyDown, (event)=>{ rootContext.onClose(); event.preventDefault(); }), onKeyDown: (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.onKeyDown, (event)=>{ const isKeyDownInside = event.currentTarget.contains(event.target); const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key); if (isKeyDownInside && isCloseKey) { context.onOpenChange(false); subContext.trigger?.focus(); event.preventDefault(); } }) }) }) }) }); }); MenuSubContent.displayName = SUB_CONTENT_NAME; function getOpenState(open) { return open ? "open" : "closed"; } function isIndeterminate(checked) { return checked === "indeterminate"; } function getCheckedState(checked) { return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked"; } function focusFirst(candidates) { const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement; for (const candidate of candidates){ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return; candidate.focus(); if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return; } } function wrapArray(array, startIndex) { return array.map((_, index)=>array[(startIndex + index) % array.length]); } function getNextMatch(values, search, currentMatch) { const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]); const normalizedSearch = isRepeated ? search[0] : search; const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1; let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0)); const excludeCurrentMatch = normalizedSearch.length === 1; if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v)=>v !== currentMatch); const nextMatch = wrappedValues.find((value)=>value.toLowerCase().startsWith(normalizedSearch.toLowerCase())); return nextMatch !== currentMatch ? nextMatch : void 0; } function isPointInPolygon(point, polygon) { const { x, y } = point; let inside = false; for(let i = 0, j = polygon.length - 1; i < polygon.length; j = i++){ const 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 isPointerInGraceArea(event, area) { if (!area) return false; const cursorPos = { x: event.clientX, y: event.clientY }; return isPointInPolygon(cursorPos, area); } function whenMouse(handler) { return (event)=>event.pointerType === "mouse" ? handler(event) : void 0; } var Root3 = Menu; var Anchor2 = MenuAnchor; var Portal = MenuPortal; var Content2 = MenuContent; var Group = MenuGroup; var Label = MenuLabel; var Item2 = MenuItem; var CheckboxItem = MenuCheckboxItem; var RadioGroup = MenuRadioGroup; var RadioItem = MenuRadioItem; var ItemIndicator = MenuItemIndicator; var Separator = MenuSeparator; var Arrow2 = MenuArrow; var Sub = MenuSub; var SubTrigger = MenuSubTrigger; var SubContent = MenuSubContent; ; //# sourceMappingURL=index.mjs.map }), "[project]/coding/projects/LangBot/web/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Arrow", ()=>Arrow2, "CheckboxItem", ()=>CheckboxItem2, "Content", ()=>Content2, "DropdownMenu", ()=>DropdownMenu, "DropdownMenuArrow", ()=>DropdownMenuArrow, "DropdownMenuCheckboxItem", ()=>DropdownMenuCheckboxItem, "DropdownMenuContent", ()=>DropdownMenuContent, "DropdownMenuGroup", ()=>DropdownMenuGroup, "DropdownMenuItem", ()=>DropdownMenuItem, "DropdownMenuItemIndicator", ()=>DropdownMenuItemIndicator, "DropdownMenuLabel", ()=>DropdownMenuLabel, "DropdownMenuPortal", ()=>DropdownMenuPortal, "DropdownMenuRadioGroup", ()=>DropdownMenuRadioGroup, "DropdownMenuRadioItem", ()=>DropdownMenuRadioItem, "DropdownMenuSeparator", ()=>DropdownMenuSeparator, "DropdownMenuSub", ()=>DropdownMenuSub, "DropdownMenuSubContent", ()=>DropdownMenuSubContent, "DropdownMenuSubTrigger", ()=>DropdownMenuSubTrigger, "DropdownMenuTrigger", ()=>DropdownMenuTrigger, "Group", ()=>Group2, "Item", ()=>Item2, "ItemIndicator", ()=>ItemIndicator2, "Label", ()=>Label2, "Portal", ()=>Portal2, "RadioGroup", ()=>RadioGroup2, "RadioItem", ()=>RadioItem2, "Root", ()=>Root2, "Separator", ()=>Separator2, "Sub", ()=>Sub2, "SubContent", ()=>SubContent2, "SubTrigger", ()=>SubTrigger2, "Trigger", ()=>Trigger, "createDropdownMenuScope", ()=>createDropdownMenuScope ]); // src/dropdown-menu.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$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$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$menu$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-menu/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$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 DROPDOWN_MENU_NAME = "DropdownMenu"; var [createDropdownMenuContext, createDropdownMenuScope] = (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"])(DROPDOWN_MENU_NAME, [ __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createMenuScope"] ]); var useMenuScope = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createMenuScope"])(); var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME); var DropdownMenu = (props)=>{ const { __scopeDropdownMenu, children, dir, open: openProp, defaultOpen, onOpenChange, modal = true } = props; const menuScope = useMenuScope(__scopeDropdownMenu); const triggerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 [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: onOpenChange, caller: DROPDOWN_MENU_NAME }); 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"])(DropdownMenuProvider, { scope: __scopeDropdownMenu, triggerId: (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"])(), triggerRef, 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"])(), open, onOpenChange: setOpen, onOpenToggle: __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "DropdownMenu.useCallback": ()=>setOpen({ "DropdownMenu.useCallback": (prevOpen)=>!prevOpen }["DropdownMenu.useCallback"]) }["DropdownMenu.useCallback"], [ setOpen ]), modal, 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], { ...menuScope, open, onOpenChange: setOpen, dir, modal, children }) }); }; DropdownMenu.displayName = DROPDOWN_MENU_NAME; var TRIGGER_NAME = "DropdownMenuTrigger"; var DropdownMenuTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, disabled = false, ...triggerProps } = props; const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu); const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Anchor"], { asChild: true, ...menuScope, children: /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, { type: "button", id: context.triggerId, "aria-haspopup": "menu", "aria-expanded": context.open, "aria-controls": context.open ? context.contentId : void 0, "data-state": context.open ? "open" : "closed", "data-disabled": disabled ? "" : void 0, disabled, ...triggerProps, ref: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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, context.triggerRef), 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)=>{ if (!disabled && event.button === 0 && event.ctrlKey === false) { context.onOpenToggle(); if (!context.open) event.preventDefault(); } }), onKeyDown: (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.onKeyDown, (event)=>{ if (disabled) return; if ([ "Enter", " " ].includes(event.key)) context.onOpenToggle(); if (event.key === "ArrowDown") context.onOpenChange(true); if ([ "Enter", " ", "ArrowDown" ].includes(event.key)) event.preventDefault(); }) }) }); }); DropdownMenuTrigger.displayName = TRIGGER_NAME; var PORTAL_NAME = "DropdownMenuPortal"; var DropdownMenuPortal = (props)=>{ const { __scopeDropdownMenu, ...portalProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Portal"], { ...menuScope, ...portalProps }); }; DropdownMenuPortal.displayName = PORTAL_NAME; var CONTENT_NAME = "DropdownMenuContent"; var DropdownMenuContent = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...contentProps } = props; const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu); const menuScope = useMenuScope(__scopeDropdownMenu); const hasInteractedOutsideRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Content"], { id: context.contentId, "aria-labelledby": context.triggerId, ...menuScope, ...contentProps, ref: forwardedRef, onCloseAutoFocus: (0, __TURBOPACK__imported__module__$5b$project$5d2f$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.onCloseAutoFocus, (event)=>{ if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus(); hasInteractedOutsideRef.current = false; event.preventDefault(); }), onInteractOutside: (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.onInteractOutside, (event)=>{ const originalEvent = event.detail.originalEvent; const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true; const isRightClick = originalEvent.button === 2 || ctrlLeftClick; if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true; }), style: { ...props.style, // re-namespace exposed content custom properties ...{ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)", "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)", "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)", "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)", "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)" } } }); }); DropdownMenuContent.displayName = CONTENT_NAME; var GROUP_NAME = "DropdownMenuGroup"; var DropdownMenuGroup = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...groupProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Group"], { ...menuScope, ...groupProps, ref: forwardedRef }); }); DropdownMenuGroup.displayName = GROUP_NAME; var LABEL_NAME = "DropdownMenuLabel"; var DropdownMenuLabel = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...labelProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Label"], { ...menuScope, ...labelProps, ref: forwardedRef }); }); DropdownMenuLabel.displayName = LABEL_NAME; var ITEM_NAME = "DropdownMenuItem"; var DropdownMenuItem = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...itemProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Item"], { ...menuScope, ...itemProps, ref: forwardedRef }); }); DropdownMenuItem.displayName = ITEM_NAME; var CHECKBOX_ITEM_NAME = "DropdownMenuCheckboxItem"; var DropdownMenuCheckboxItem = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...checkboxItemProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["CheckboxItem"], { ...menuScope, ...checkboxItemProps, ref: forwardedRef }); }); DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME; var RADIO_GROUP_NAME = "DropdownMenuRadioGroup"; var DropdownMenuRadioGroup = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...radioGroupProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["RadioGroup"], { ...menuScope, ...radioGroupProps, ref: forwardedRef }); }); DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME; var RADIO_ITEM_NAME = "DropdownMenuRadioItem"; var DropdownMenuRadioItem = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...radioItemProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["RadioItem"], { ...menuScope, ...radioItemProps, ref: forwardedRef }); }); DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME; var INDICATOR_NAME = "DropdownMenuItemIndicator"; var DropdownMenuItemIndicator = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...itemIndicatorProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["ItemIndicator"], { ...menuScope, ...itemIndicatorProps, ref: forwardedRef }); }); DropdownMenuItemIndicator.displayName = INDICATOR_NAME; var SEPARATOR_NAME = "DropdownMenuSeparator"; var DropdownMenuSeparator = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...separatorProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Separator"], { ...menuScope, ...separatorProps, ref: forwardedRef }); }); DropdownMenuSeparator.displayName = SEPARATOR_NAME; var ARROW_NAME = "DropdownMenuArrow"; var DropdownMenuArrow = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...arrowProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Arrow"], { ...menuScope, ...arrowProps, ref: forwardedRef }); }); DropdownMenuArrow.displayName = ARROW_NAME; var DropdownMenuSub = (props)=>{ const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props; const menuScope = useMenuScope(__scopeDropdownMenu); const [open, 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: onOpenChange, caller: "DropdownMenuSub" }); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Sub"], { ...menuScope, open, onOpenChange: setOpen, children }); }; var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger"; var DropdownMenuSubTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...subTriggerProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["SubTrigger"], { ...menuScope, ...subTriggerProps, ref: forwardedRef }); }); DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME; var SUB_CONTENT_NAME = "DropdownMenuSubContent"; var DropdownMenuSubContent = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeDropdownMenu, ...subContentProps } = props; const menuScope = useMenuScope(__scopeDropdownMenu); 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$menu$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["SubContent"], { ...menuScope, ...subContentProps, ref: forwardedRef, style: { ...props.style, // re-namespace exposed content custom properties ...{ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)", "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)", "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)", "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)", "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)" } } }); }); DropdownMenuSubContent.displayName = SUB_CONTENT_NAME; var Root2 = DropdownMenu; var Trigger = DropdownMenuTrigger; var Portal2 = DropdownMenuPortal; var Content2 = DropdownMenuContent; var Group2 = DropdownMenuGroup; var Label2 = DropdownMenuLabel; var Item2 = DropdownMenuItem; var CheckboxItem2 = DropdownMenuCheckboxItem; var RadioGroup2 = DropdownMenuRadioGroup; var RadioItem2 = DropdownMenuRadioItem; var ItemIndicator2 = DropdownMenuItemIndicator; var Separator2 = DropdownMenuSeparator; var Arrow2 = DropdownMenuArrow; var Sub2 = DropdownMenuSub; var SubTrigger2 = DropdownMenuSubTrigger; var SubContent2 = DropdownMenuSubContent; ; //# sourceMappingURL=index.mjs.map }), "[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/chevron-right.js [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "ChevronRightIcon", ()=>__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$chevron$2d$right$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$chevron$2d$right$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/chevron-right.js [app-client] (ecmascript)"); }), "[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/circle.js [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>Circle ]); /** * @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 = [ [ "circle", { cx: "12", cy: "12", r: "10", key: "1mglay" } ] ]; const Circle = (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"])("circle", __iconNode); ; //# sourceMappingURL=circle.js.map }), "[project]/coding/projects/LangBot/web/node_modules/lucide-react/dist/esm/icons/circle.js [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "CircleIcon", ()=>__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$circle$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$circle$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/circle.js [app-client] (ecmascript)"); }), "[project]/coding/projects/LangBot/web/node_modules/@tanstack/table-core/build/lib/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "ColumnFaceting", ()=>ColumnFaceting, "ColumnFiltering", ()=>ColumnFiltering, "ColumnGrouping", ()=>ColumnGrouping, "ColumnOrdering", ()=>ColumnOrdering, "ColumnPinning", ()=>ColumnPinning, "ColumnSizing", ()=>ColumnSizing, "ColumnVisibility", ()=>ColumnVisibility, "GlobalFaceting", ()=>GlobalFaceting, "GlobalFiltering", ()=>GlobalFiltering, "Headers", ()=>Headers, "RowExpanding", ()=>RowExpanding, "RowPagination", ()=>RowPagination, "RowPinning", ()=>RowPinning, "RowSelection", ()=>RowSelection, "RowSorting", ()=>RowSorting, "_getVisibleLeafColumns", ()=>_getVisibleLeafColumns, "aggregationFns", ()=>aggregationFns, "buildHeaderGroups", ()=>buildHeaderGroups, "createCell", ()=>createCell, "createColumn", ()=>createColumn, "createColumnHelper", ()=>createColumnHelper, "createRow", ()=>createRow, "createTable", ()=>createTable, "defaultColumnSizing", ()=>defaultColumnSizing, "expandRows", ()=>expandRows, "filterFns", ()=>filterFns, "flattenBy", ()=>flattenBy, "functionalUpdate", ()=>functionalUpdate, "getCoreRowModel", ()=>getCoreRowModel, "getExpandedRowModel", ()=>getExpandedRowModel, "getFacetedMinMaxValues", ()=>getFacetedMinMaxValues, "getFacetedRowModel", ()=>getFacetedRowModel, "getFacetedUniqueValues", ()=>getFacetedUniqueValues, "getFilteredRowModel", ()=>getFilteredRowModel, "getGroupedRowModel", ()=>getGroupedRowModel, "getMemoOptions", ()=>getMemoOptions, "getPaginationRowModel", ()=>getPaginationRowModel, "getSortedRowModel", ()=>getSortedRowModel, "isFunction", ()=>isFunction, "isNumberArray", ()=>isNumberArray, "isRowSelected", ()=>isRowSelected, "isSubRowSelected", ()=>isSubRowSelected, "makeStateUpdater", ()=>makeStateUpdater, "memo", ()=>memo, "noop", ()=>noop, "orderColumns", ()=>orderColumns, "passiveEventSupported", ()=>passiveEventSupported, "reSplitAlphaNumeric", ()=>reSplitAlphaNumeric, "selectRowsFn", ()=>selectRowsFn, "shouldAutoRemoveFilter", ()=>shouldAutoRemoveFilter, "sortingFns", ()=>sortingFns ]); var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); /** * table-core * * Copyright (c) TanStack * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */ // type Person = { // firstName: string // lastName: string // age: number // visits: number // status: string // progress: number // createdAt: Date // nested: { // foo: [ // { // bar: 'bar' // } // ] // bar: { subBar: boolean }[] // baz: { // foo: 'foo' // bar: { // baz: 'baz' // } // } // } // } // const test: DeepKeys = 'nested.foo.0.bar' // const test2: DeepKeys = 'nested.bar' // const helper = createColumnHelper() // helper.accessor('nested.foo', { // cell: info => info.getValue(), // }) // helper.accessor('nested.foo.0.bar', { // cell: info => info.getValue(), // }) // helper.accessor('nested.bar', { // cell: info => info.getValue(), // }) function createColumnHelper() { return { accessor: (accessor, column)=>{ return typeof accessor === 'function' ? { ...column, accessorFn: accessor } : { ...column, accessorKey: accessor }; }, display: (column)=>column, group: (column)=>column }; } // Is this type a tuple? // If this type is a tuple, what indices are allowed? /// function functionalUpdate(updater, input) { return typeof updater === 'function' ? updater(input) : updater; } function noop() { // } function makeStateUpdater(key, instance) { return (updater)=>{ instance.setState((old)=>{ return { ...old, [key]: functionalUpdate(updater, old[key]) }; }); }; } function isFunction(d) { return d instanceof Function; } function isNumberArray(d) { return Array.isArray(d) && d.every((val)=>typeof val === 'number'); } function flattenBy(arr, getChildren) { const flat = []; const recurse = (subArr)=>{ subArr.forEach((item)=>{ flat.push(item); const children = getChildren(item); if (children != null && children.length) { recurse(children); } }); }; recurse(arr); return flat; } function memo(getDeps, fn, opts) { let deps = []; let result; return (depArgs)=>{ let depTime; if (opts.key && opts.debug) depTime = Date.now(); const newDeps = getDeps(depArgs); const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index)=>deps[index] !== dep); if (!depsChanged) { return result; } deps = newDeps; let resultTime; if (opts.key && opts.debug) resultTime = Date.now(); result = fn(...newDeps); opts == null || opts.onChange == null || opts.onChange(result); if (opts.key && opts.debug) { if (opts != null && opts.debug()) { const depEndTime = Math.round((Date.now() - depTime) * 100) / 100; const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100; const resultFpsPercentage = resultEndTime / 16; const pad = (str, num)=>{ str = String(str); while(str.length < num){ str = ' ' + str; } return str; }; console.info(`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`, ` font-size: .6rem; font-weight: bold; color: hsl(${Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120))}deg 100% 31%);`, opts == null ? void 0 : opts.key); } } return result; }; } function getMemoOptions(tableOptions, debugLevel, key, onChange) { return { debug: ()=>{ var _tableOptions$debugAl; return (_tableOptions$debugAl = tableOptions == null ? void 0 : tableOptions.debugAll) != null ? _tableOptions$debugAl : tableOptions[debugLevel]; }, key: ("TURBOPACK compile-time value", "development") === 'development' && key, onChange }; } function createCell(table, row, column, columnId) { const getRenderValue = ()=>{ var _cell$getValue; return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue; }; const cell = { id: `${row.id}_${column.id}`, row, column, getValue: ()=>row.getValue(columnId), renderValue: getRenderValue, getContext: memo(()=>[ table, column, row, cell ], (table, column, row, cell)=>({ table, column, row, cell: cell, getValue: cell.getValue, renderValue: cell.renderValue }), getMemoOptions(table.options, 'debugCells', 'cell.getContext')) }; table._features.forEach((feature)=>{ feature.createCell == null || feature.createCell(cell, column, row, table); }, {}); return cell; } function createColumn(table, columnDef, depth, parent) { var _ref, _resolvedColumnDef$id; const defaultColumn = table._getDefaultColumnDef(); const resolvedColumnDef = { ...defaultColumn, ...columnDef }; const accessorKey = resolvedColumnDef.accessorKey; let id = (_ref = (_resolvedColumnDef$id = resolvedColumnDef.id) != null ? _resolvedColumnDef$id : accessorKey ? typeof String.prototype.replaceAll === 'function' ? accessorKey.replaceAll('.', '_') : accessorKey.replace(/\./g, '_') : undefined) != null ? _ref : typeof resolvedColumnDef.header === 'string' ? resolvedColumnDef.header : undefined; let accessorFn; if (resolvedColumnDef.accessorFn) { accessorFn = resolvedColumnDef.accessorFn; } else if (accessorKey) { // Support deep accessor keys if (accessorKey.includes('.')) { accessorFn = (originalRow)=>{ let result = originalRow; for (const key of accessorKey.split('.')){ var _result; result = (_result = result) == null ? void 0 : _result[key]; if (("TURBOPACK compile-time value", "development") !== 'production' && result === undefined) { console.warn(`"${key}" in deeply nested key "${accessorKey}" returned undefined.`); } } return result; }; } else { accessorFn = (originalRow)=>originalRow[resolvedColumnDef.accessorKey]; } } if (!id) { if ("TURBOPACK compile-time truthy", 1) { throw new Error(resolvedColumnDef.accessorFn ? `Columns require an id when using an accessorFn` : `Columns require an id when using a non-string header`); } throw new Error(); } let column = { id: `${String(id)}`, accessorFn, parent: parent, depth, columnDef: resolvedColumnDef, columns: [], getFlatColumns: memo(()=>[ true ], ()=>{ var _column$columns; return [ column, ...(_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap((d)=>d.getFlatColumns()) ]; }, getMemoOptions(table.options, 'debugColumns', 'column.getFlatColumns')), getLeafColumns: memo(()=>[ table._getOrderColumnsFn() ], (orderColumns)=>{ var _column$columns2; if ((_column$columns2 = column.columns) != null && _column$columns2.length) { let leafColumns = column.columns.flatMap((column)=>column.getLeafColumns()); return orderColumns(leafColumns); } return [ column ]; }, getMemoOptions(table.options, 'debugColumns', 'column.getLeafColumns')) }; for (const feature of table._features){ feature.createColumn == null || feature.createColumn(column, table); } // Yes, we have to convert table to unknown, because we know more than the compiler here. return column; } const debug = 'debugHeaders'; // function createHeader(table, column, options) { var _options$id; const id = (_options$id = options.id) != null ? _options$id : column.id; let header = { id, column, index: options.index, isPlaceholder: !!options.isPlaceholder, placeholderId: options.placeholderId, depth: options.depth, subHeaders: [], colSpan: 0, rowSpan: 0, headerGroup: null, getLeafHeaders: ()=>{ const leafHeaders = []; const recurseHeader = (h)=>{ if (h.subHeaders && h.subHeaders.length) { h.subHeaders.map(recurseHeader); } leafHeaders.push(h); }; recurseHeader(header); return leafHeaders; }, getContext: ()=>({ table, header: header, column }) }; table._features.forEach((feature)=>{ feature.createHeader == null || feature.createHeader(header, table); }); return header; } const Headers = { createTable: (table)=>{ // Header Groups table.getHeaderGroups = memo(()=>[ table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right ], (allColumns, leafColumns, left, right)=>{ var _left$map$filter, _right$map$filter; const leftColumns = (_left$map$filter = left == null ? void 0 : left.map((columnId)=>leafColumns.find((d)=>d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : []; const rightColumns = (_right$map$filter = right == null ? void 0 : right.map((columnId)=>leafColumns.find((d)=>d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : []; const centerColumns = leafColumns.filter((column)=>!(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id))); const headerGroups = buildHeaderGroups(allColumns, [ ...leftColumns, ...centerColumns, ...rightColumns ], table); return headerGroups; }, getMemoOptions(table.options, debug, 'getHeaderGroups')); table.getCenterHeaderGroups = memo(()=>[ table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right ], (allColumns, leafColumns, left, right)=>{ leafColumns = leafColumns.filter((column)=>!(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id))); return buildHeaderGroups(allColumns, leafColumns, table, 'center'); }, getMemoOptions(table.options, debug, 'getCenterHeaderGroups')); table.getLeftHeaderGroups = memo(()=>[ table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left ], (allColumns, leafColumns, left)=>{ var _left$map$filter2; const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map((columnId)=>leafColumns.find((d)=>d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : []; return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left'); }, getMemoOptions(table.options, debug, 'getLeftHeaderGroups')); table.getRightHeaderGroups = memo(()=>[ table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right ], (allColumns, leafColumns, right)=>{ var _right$map$filter2; const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map((columnId)=>leafColumns.find((d)=>d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : []; return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right'); }, getMemoOptions(table.options, debug, 'getRightHeaderGroups')); // Footer Groups table.getFooterGroups = memo(()=>[ table.getHeaderGroups() ], (headerGroups)=>{ return [ ...headerGroups ].reverse(); }, getMemoOptions(table.options, debug, 'getFooterGroups')); table.getLeftFooterGroups = memo(()=>[ table.getLeftHeaderGroups() ], (headerGroups)=>{ return [ ...headerGroups ].reverse(); }, getMemoOptions(table.options, debug, 'getLeftFooterGroups')); table.getCenterFooterGroups = memo(()=>[ table.getCenterHeaderGroups() ], (headerGroups)=>{ return [ ...headerGroups ].reverse(); }, getMemoOptions(table.options, debug, 'getCenterFooterGroups')); table.getRightFooterGroups = memo(()=>[ table.getRightHeaderGroups() ], (headerGroups)=>{ return [ ...headerGroups ].reverse(); }, getMemoOptions(table.options, debug, 'getRightFooterGroups')); // Flat Headers table.getFlatHeaders = memo(()=>[ table.getHeaderGroups() ], (headerGroups)=>{ return headerGroups.map((headerGroup)=>{ return headerGroup.headers; }).flat(); }, getMemoOptions(table.options, debug, 'getFlatHeaders')); table.getLeftFlatHeaders = memo(()=>[ table.getLeftHeaderGroups() ], (left)=>{ return left.map((headerGroup)=>{ return headerGroup.headers; }).flat(); }, getMemoOptions(table.options, debug, 'getLeftFlatHeaders')); table.getCenterFlatHeaders = memo(()=>[ table.getCenterHeaderGroups() ], (left)=>{ return left.map((headerGroup)=>{ return headerGroup.headers; }).flat(); }, getMemoOptions(table.options, debug, 'getCenterFlatHeaders')); table.getRightFlatHeaders = memo(()=>[ table.getRightHeaderGroups() ], (left)=>{ return left.map((headerGroup)=>{ return headerGroup.headers; }).flat(); }, getMemoOptions(table.options, debug, 'getRightFlatHeaders')); // Leaf Headers table.getCenterLeafHeaders = memo(()=>[ table.getCenterFlatHeaders() ], (flatHeaders)=>{ return flatHeaders.filter((header)=>{ var _header$subHeaders; return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length); }); }, getMemoOptions(table.options, debug, 'getCenterLeafHeaders')); table.getLeftLeafHeaders = memo(()=>[ table.getLeftFlatHeaders() ], (flatHeaders)=>{ return flatHeaders.filter((header)=>{ var _header$subHeaders2; return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length); }); }, getMemoOptions(table.options, debug, 'getLeftLeafHeaders')); table.getRightLeafHeaders = memo(()=>[ table.getRightFlatHeaders() ], (flatHeaders)=>{ return flatHeaders.filter((header)=>{ var _header$subHeaders3; return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length); }); }, getMemoOptions(table.options, debug, 'getRightLeafHeaders')); table.getLeafHeaders = memo(()=>[ table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups() ], (left, center, right)=>{ var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$; return [ ...(_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : [], ...(_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : [], ...(_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [] ].map((header)=>{ return header.getLeafHeaders(); }).flat(); }, getMemoOptions(table.options, debug, 'getLeafHeaders')); } }; function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) { var _headerGroups$0$heade, _headerGroups$; // Find the max depth of the columns: // build the leaf column row // build each buffer row going up // placeholder for non-existent level // real column for existing level let maxDepth = 0; const findMaxDepth = function(columns, depth) { if (depth === void 0) { depth = 1; } maxDepth = Math.max(maxDepth, depth); columns.filter((column)=>column.getIsVisible()).forEach((column)=>{ var _column$columns; if ((_column$columns = column.columns) != null && _column$columns.length) { findMaxDepth(column.columns, depth + 1); } }, 0); }; findMaxDepth(allColumns); let headerGroups = []; const createHeaderGroup = (headersToGroup, depth)=>{ // The header group we are creating const headerGroup = { depth, id: [ headerFamily, `${depth}` ].filter(Boolean).join('_'), headers: [] }; // The parent columns we're going to scan next const pendingParentHeaders = []; // Scan each column for parents headersToGroup.forEach((headerToGroup)=>{ // What is the latest (last) parent column? const latestPendingParentHeader = [ ...pendingParentHeaders ].reverse()[0]; const isLeafHeader = headerToGroup.column.depth === headerGroup.depth; let column; let isPlaceholder = false; if (isLeafHeader && headerToGroup.column.parent) { // The parent header is new column = headerToGroup.column.parent; } else { // The parent header is repeated column = headerToGroup.column; isPlaceholder = true; } if (latestPendingParentHeader && (latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) { // This column is repeated. Add it as a sub header to the next batch latestPendingParentHeader.subHeaders.push(headerToGroup); } else { // This is a new header. Let's create it const header = createHeader(table, column, { id: [ headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id ].filter(Boolean).join('_'), isPlaceholder, placeholderId: isPlaceholder ? `${pendingParentHeaders.filter((d)=>d.column === column).length}` : undefined, depth, index: pendingParentHeaders.length }); // Add the headerToGroup as a subHeader of the new header header.subHeaders.push(headerToGroup); // Add the new header to the pendingParentHeaders to get grouped // in the next batch pendingParentHeaders.push(header); } headerGroup.headers.push(headerToGroup); headerToGroup.headerGroup = headerGroup; }); headerGroups.push(headerGroup); if (depth > 0) { createHeaderGroup(pendingParentHeaders, depth - 1); } }; const bottomHeaders = columnsToGroup.map((column, index)=>createHeader(table, column, { depth: maxDepth, index })); createHeaderGroup(bottomHeaders, maxDepth - 1); headerGroups.reverse(); // headerGroups = headerGroups.filter(headerGroup => { // return !headerGroup.headers.every(header => header.isPlaceholder) // }) const recurseHeadersForSpans = (headers)=>{ const filteredHeaders = headers.filter((header)=>header.column.getIsVisible()); return filteredHeaders.map((header)=>{ let colSpan = 0; let rowSpan = 0; let childRowSpans = [ 0 ]; if (header.subHeaders && header.subHeaders.length) { childRowSpans = []; recurseHeadersForSpans(header.subHeaders).forEach((_ref)=>{ let { colSpan: childColSpan, rowSpan: childRowSpan } = _ref; colSpan += childColSpan; childRowSpans.push(childRowSpan); }); } else { colSpan = 1; } const minChildRowSpan = Math.min(...childRowSpans); rowSpan = rowSpan + minChildRowSpan; header.colSpan = colSpan; header.rowSpan = rowSpan; return { colSpan, rowSpan }; }); }; recurseHeadersForSpans((_headerGroups$0$heade = (_headerGroups$ = headerGroups[0]) == null ? void 0 : _headerGroups$.headers) != null ? _headerGroups$0$heade : []); return headerGroups; } const createRow = (table, id, original, rowIndex, depth, subRows, parentId)=>{ let row = { id, index: rowIndex, original, depth, parentId, _valuesCache: {}, _uniqueValuesCache: {}, getValue: (columnId)=>{ if (row._valuesCache.hasOwnProperty(columnId)) { return row._valuesCache[columnId]; } const column = table.getColumn(columnId); if (!(column != null && column.accessorFn)) { return undefined; } row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex); return row._valuesCache[columnId]; }, getUniqueValues: (columnId)=>{ if (row._uniqueValuesCache.hasOwnProperty(columnId)) { return row._uniqueValuesCache[columnId]; } const column = table.getColumn(columnId); if (!(column != null && column.accessorFn)) { return undefined; } if (!column.columnDef.getUniqueValues) { row._uniqueValuesCache[columnId] = [ row.getValue(columnId) ]; return row._uniqueValuesCache[columnId]; } row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex); return row._uniqueValuesCache[columnId]; }, renderValue: (columnId)=>{ var _row$getValue; return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue; }, subRows: subRows != null ? subRows : [], getLeafRows: ()=>flattenBy(row.subRows, (d)=>d.subRows), getParentRow: ()=>row.parentId ? table.getRow(row.parentId, true) : undefined, getParentRows: ()=>{ let parentRows = []; let currentRow = row; while(true){ const parentRow = currentRow.getParentRow(); if (!parentRow) break; parentRows.push(parentRow); currentRow = parentRow; } return parentRows.reverse(); }, getAllCells: memo(()=>[ table.getAllLeafColumns() ], (leafColumns)=>{ return leafColumns.map((column)=>{ return createCell(table, row, column, column.id); }); }, getMemoOptions(table.options, 'debugRows', 'getAllCells')), _getAllCellsByColumnId: memo(()=>[ row.getAllCells() ], (allCells)=>{ return allCells.reduce((acc, cell)=>{ acc[cell.column.id] = cell; return acc; }, {}); }, getMemoOptions(table.options, 'debugRows', 'getAllCellsByColumnId')) }; for(let i = 0; i < table._features.length; i++){ const feature = table._features[i]; feature == null || feature.createRow == null || feature.createRow(row, table); } return row; }; // const ColumnFaceting = { createColumn: (column, table)=>{ column._getFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, column.id); column.getFacetedRowModel = ()=>{ if (!column._getFacetedRowModel) { return table.getPreFilteredRowModel(); } return column._getFacetedRowModel(); }; column._getFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, column.id); column.getFacetedUniqueValues = ()=>{ if (!column._getFacetedUniqueValues) { return new Map(); } return column._getFacetedUniqueValues(); }; column._getFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, column.id); column.getFacetedMinMaxValues = ()=>{ if (!column._getFacetedMinMaxValues) { return undefined; } return column._getFacetedMinMaxValues(); }; } }; const includesString = (row, columnId, filterValue)=>{ var _filterValue$toString, _row$getValue; const search = filterValue == null || (_filterValue$toString = filterValue.toString()) == null ? void 0 : _filterValue$toString.toLowerCase(); return Boolean((_row$getValue = row.getValue(columnId)) == null || (_row$getValue = _row$getValue.toString()) == null || (_row$getValue = _row$getValue.toLowerCase()) == null ? void 0 : _row$getValue.includes(search)); }; includesString.autoRemove = (val)=>testFalsey(val); const includesStringSensitive = (row, columnId, filterValue)=>{ var _row$getValue2; return Boolean((_row$getValue2 = row.getValue(columnId)) == null || (_row$getValue2 = _row$getValue2.toString()) == null ? void 0 : _row$getValue2.includes(filterValue)); }; includesStringSensitive.autoRemove = (val)=>testFalsey(val); const equalsString = (row, columnId, filterValue)=>{ var _row$getValue3; return ((_row$getValue3 = row.getValue(columnId)) == null || (_row$getValue3 = _row$getValue3.toString()) == null ? void 0 : _row$getValue3.toLowerCase()) === (filterValue == null ? void 0 : filterValue.toLowerCase()); }; equalsString.autoRemove = (val)=>testFalsey(val); const arrIncludes = (row, columnId, filterValue)=>{ var _row$getValue4; return (_row$getValue4 = row.getValue(columnId)) == null ? void 0 : _row$getValue4.includes(filterValue); }; arrIncludes.autoRemove = (val)=>testFalsey(val); const arrIncludesAll = (row, columnId, filterValue)=>{ return !filterValue.some((val)=>{ var _row$getValue5; return !((_row$getValue5 = row.getValue(columnId)) != null && _row$getValue5.includes(val)); }); }; arrIncludesAll.autoRemove = (val)=>testFalsey(val) || !(val != null && val.length); const arrIncludesSome = (row, columnId, filterValue)=>{ return filterValue.some((val)=>{ var _row$getValue6; return (_row$getValue6 = row.getValue(columnId)) == null ? void 0 : _row$getValue6.includes(val); }); }; arrIncludesSome.autoRemove = (val)=>testFalsey(val) || !(val != null && val.length); const equals = (row, columnId, filterValue)=>{ return row.getValue(columnId) === filterValue; }; equals.autoRemove = (val)=>testFalsey(val); const weakEquals = (row, columnId, filterValue)=>{ return row.getValue(columnId) == filterValue; }; weakEquals.autoRemove = (val)=>testFalsey(val); const inNumberRange = (row, columnId, filterValue)=>{ let [min, max] = filterValue; const rowValue = row.getValue(columnId); return rowValue >= min && rowValue <= max; }; inNumberRange.resolveFilterValue = (val)=>{ let [unsafeMin, unsafeMax] = val; let parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin; let parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax; let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin; let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax; if (min > max) { const temp = min; min = max; max = temp; } return [ min, max ]; }; inNumberRange.autoRemove = (val)=>testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]); // Export const filterFns = { includesString, includesStringSensitive, equalsString, arrIncludes, arrIncludesAll, arrIncludesSome, equals, weakEquals, inNumberRange }; // Utils function testFalsey(val) { return val === undefined || val === null || val === ''; } // const ColumnFiltering = { getDefaultColumnDef: ()=>{ return { filterFn: 'auto' }; }, getInitialState: (state)=>{ return { columnFilters: [], ...state }; }, getDefaultOptions: (table)=>{ return { onColumnFiltersChange: makeStateUpdater('columnFilters', table), filterFromLeafRows: false, maxLeafRowFilterDepth: 100 }; }, createColumn: (column, table)=>{ column.getAutoFilterFn = ()=>{ const firstRow = table.getCoreRowModel().flatRows[0]; const value = firstRow == null ? void 0 : firstRow.getValue(column.id); if (typeof value === 'string') { return filterFns.includesString; } if (typeof value === 'number') { return filterFns.inNumberRange; } if (typeof value === 'boolean') { return filterFns.equals; } if (value !== null && typeof value === 'object') { return filterFns.equals; } if (Array.isArray(value)) { return filterFns.arrIncludes; } return filterFns.weakEquals; }; column.getFilterFn = ()=>{ var _table$options$filter, _table$options$filter2; return isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[column.columnDef.filterFn]) != null ? _table$options$filter : filterFns[column.columnDef.filterFn]; }; column.getCanFilter = ()=>{ var _column$columnDef$ena, _table$options$enable, _table$options$enable2; return ((_column$columnDef$ena = column.columnDef.enableColumnFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnFilters) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && !!column.accessorFn; }; column.getIsFiltered = ()=>column.getFilterIndex() > -1; column.getFilterValue = ()=>{ var _table$getState$colum; return (_table$getState$colum = table.getState().columnFilters) == null || (_table$getState$colum = _table$getState$colum.find((d)=>d.id === column.id)) == null ? void 0 : _table$getState$colum.value; }; column.getFilterIndex = ()=>{ var _table$getState$colum2, _table$getState$colum3; return (_table$getState$colum2 = (_table$getState$colum3 = table.getState().columnFilters) == null ? void 0 : _table$getState$colum3.findIndex((d)=>d.id === column.id)) != null ? _table$getState$colum2 : -1; }; column.setFilterValue = (value)=>{ table.setColumnFilters((old)=>{ const filterFn = column.getFilterFn(); const previousFilter = old == null ? void 0 : old.find((d)=>d.id === column.id); const newFilter = functionalUpdate(value, previousFilter ? previousFilter.value : undefined); // if (shouldAutoRemoveFilter(filterFn, newFilter, column)) { var _old$filter; return (_old$filter = old == null ? void 0 : old.filter((d)=>d.id !== column.id)) != null ? _old$filter : []; } const newFilterObj = { id: column.id, value: newFilter }; if (previousFilter) { var _old$map; return (_old$map = old == null ? void 0 : old.map((d)=>{ if (d.id === column.id) { return newFilterObj; } return d; })) != null ? _old$map : []; } if (old != null && old.length) { return [ ...old, newFilterObj ]; } return [ newFilterObj ]; }); }; }, createRow: (row, _table)=>{ row.columnFilters = {}; row.columnFiltersMeta = {}; }, createTable: (table)=>{ table.setColumnFilters = (updater)=>{ const leafColumns = table.getAllLeafColumns(); const updateFn = (old)=>{ var _functionalUpdate; return (_functionalUpdate = functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter((filter)=>{ const column = leafColumns.find((d)=>d.id === filter.id); if (column) { const filterFn = column.getFilterFn(); if (shouldAutoRemoveFilter(filterFn, filter.value, column)) { return false; } } return true; }); }; table.options.onColumnFiltersChange == null || table.options.onColumnFiltersChange(updateFn); }; table.resetColumnFilters = (defaultState)=>{ var _table$initialState$c, _table$initialState; table.setColumnFilters(defaultState ? [] : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnFilters) != null ? _table$initialState$c : []); }; table.getPreFilteredRowModel = ()=>table.getCoreRowModel(); table.getFilteredRowModel = ()=>{ if (!table._getFilteredRowModel && table.options.getFilteredRowModel) { table._getFilteredRowModel = table.options.getFilteredRowModel(table); } if (table.options.manualFiltering || !table._getFilteredRowModel) { return table.getPreFilteredRowModel(); } return table._getFilteredRowModel(); }; } }; function shouldAutoRemoveFilter(filterFn, value, column) { return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value; } const sum = (columnId, _leafRows, childRows)=>{ // It's faster to just add the aggregations together instead of // process leaf nodes individually return childRows.reduce((sum, next)=>{ const nextValue = next.getValue(columnId); return sum + (typeof nextValue === 'number' ? nextValue : 0); }, 0); }; const min = (columnId, _leafRows, childRows)=>{ let min; childRows.forEach((row)=>{ const value = row.getValue(columnId); if (value != null && (min > value || min === undefined && value >= value)) { min = value; } }); return min; }; const max = (columnId, _leafRows, childRows)=>{ let max; childRows.forEach((row)=>{ const value = row.getValue(columnId); if (value != null && (max < value || max === undefined && value >= value)) { max = value; } }); return max; }; const extent = (columnId, _leafRows, childRows)=>{ let min; let max; childRows.forEach((row)=>{ const value = row.getValue(columnId); if (value != null) { if (min === undefined) { if (value >= value) min = max = value; } else { if (min > value) min = value; if (max < value) max = value; } } }); return [ min, max ]; }; const mean = (columnId, leafRows)=>{ let count = 0; let sum = 0; leafRows.forEach((row)=>{ let value = row.getValue(columnId); if (value != null && (value = +value) >= value) { ++count, sum += value; } }); if (count) return sum / count; return; }; const median = (columnId, leafRows)=>{ if (!leafRows.length) { return; } const values = leafRows.map((row)=>row.getValue(columnId)); if (!isNumberArray(values)) { return; } if (values.length === 1) { return values[0]; } const mid = Math.floor(values.length / 2); const nums = values.sort((a, b)=>a - b); return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2; }; const unique = (columnId, leafRows)=>{ return Array.from(new Set(leafRows.map((d)=>d.getValue(columnId))).values()); }; const uniqueCount = (columnId, leafRows)=>{ return new Set(leafRows.map((d)=>d.getValue(columnId))).size; }; const count = (_columnId, leafRows)=>{ return leafRows.length; }; const aggregationFns = { sum, min, max, extent, mean, median, unique, uniqueCount, count }; // const ColumnGrouping = { getDefaultColumnDef: ()=>{ return { aggregatedCell: (props)=>{ var _toString, _props$getValue; return (_toString = (_props$getValue = props.getValue()) == null || _props$getValue.toString == null ? void 0 : _props$getValue.toString()) != null ? _toString : null; }, aggregationFn: 'auto' }; }, getInitialState: (state)=>{ return { grouping: [], ...state }; }, getDefaultOptions: (table)=>{ return { onGroupingChange: makeStateUpdater('grouping', table), groupedColumnMode: 'reorder' }; }, createColumn: (column, table)=>{ column.toggleGrouping = ()=>{ table.setGrouping((old)=>{ // Find any existing grouping for this column if (old != null && old.includes(column.id)) { return old.filter((d)=>d !== column.id); } return [ ...old != null ? old : [], column.id ]; }); }; column.getCanGroup = ()=>{ var _column$columnDef$ena, _table$options$enable; return ((_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGrouping) != null ? _table$options$enable : true) && (!!column.accessorFn || !!column.columnDef.getGroupingValue); }; column.getIsGrouped = ()=>{ var _table$getState$group; return (_table$getState$group = table.getState().grouping) == null ? void 0 : _table$getState$group.includes(column.id); }; column.getGroupedIndex = ()=>{ var _table$getState$group2; return (_table$getState$group2 = table.getState().grouping) == null ? void 0 : _table$getState$group2.indexOf(column.id); }; column.getToggleGroupingHandler = ()=>{ const canGroup = column.getCanGroup(); return ()=>{ if (!canGroup) return; column.toggleGrouping(); }; }; column.getAutoAggregationFn = ()=>{ const firstRow = table.getCoreRowModel().flatRows[0]; const value = firstRow == null ? void 0 : firstRow.getValue(column.id); if (typeof value === 'number') { return aggregationFns.sum; } if (Object.prototype.toString.call(value) === '[object Date]') { return aggregationFns.extent; } }; column.getAggregationFn = ()=>{ var _table$options$aggreg, _table$options$aggreg2; if (!column) { throw new Error(); } return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : (_table$options$aggreg = (_table$options$aggreg2 = table.options.aggregationFns) == null ? void 0 : _table$options$aggreg2[column.columnDef.aggregationFn]) != null ? _table$options$aggreg : aggregationFns[column.columnDef.aggregationFn]; }; }, createTable: (table)=>{ table.setGrouping = (updater)=>table.options.onGroupingChange == null ? void 0 : table.options.onGroupingChange(updater); table.resetGrouping = (defaultState)=>{ var _table$initialState$g, _table$initialState; table.setGrouping(defaultState ? [] : (_table$initialState$g = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.grouping) != null ? _table$initialState$g : []); }; table.getPreGroupedRowModel = ()=>table.getFilteredRowModel(); table.getGroupedRowModel = ()=>{ if (!table._getGroupedRowModel && table.options.getGroupedRowModel) { table._getGroupedRowModel = table.options.getGroupedRowModel(table); } if (table.options.manualGrouping || !table._getGroupedRowModel) { return table.getPreGroupedRowModel(); } return table._getGroupedRowModel(); }; }, createRow: (row, table)=>{ row.getIsGrouped = ()=>!!row.groupingColumnId; row.getGroupingValue = (columnId)=>{ if (row._groupingValuesCache.hasOwnProperty(columnId)) { return row._groupingValuesCache[columnId]; } const column = table.getColumn(columnId); if (!(column != null && column.columnDef.getGroupingValue)) { return row.getValue(columnId); } row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original); return row._groupingValuesCache[columnId]; }; row._groupingValuesCache = {}; }, createCell: (cell, column, row, table)=>{ cell.getIsGrouped = ()=>column.getIsGrouped() && column.id === row.groupingColumnId; cell.getIsPlaceholder = ()=>!cell.getIsGrouped() && column.getIsGrouped(); cell.getIsAggregated = ()=>{ var _row$subRows; return !cell.getIsGrouped() && !cell.getIsPlaceholder() && !!((_row$subRows = row.subRows) != null && _row$subRows.length); }; } }; function orderColumns(leafColumns, grouping, groupedColumnMode) { if (!(grouping != null && grouping.length) || !groupedColumnMode) { return leafColumns; } const nonGroupingColumns = leafColumns.filter((col)=>!grouping.includes(col.id)); if (groupedColumnMode === 'remove') { return nonGroupingColumns; } const groupingColumns = grouping.map((g)=>leafColumns.find((col)=>col.id === g)).filter(Boolean); return [ ...groupingColumns, ...nonGroupingColumns ]; } // const ColumnOrdering = { getInitialState: (state)=>{ return { columnOrder: [], ...state }; }, getDefaultOptions: (table)=>{ return { onColumnOrderChange: makeStateUpdater('columnOrder', table) }; }, createColumn: (column, table)=>{ column.getIndex = memo((position)=>[ _getVisibleLeafColumns(table, position) ], (columns)=>columns.findIndex((d)=>d.id === column.id), getMemoOptions(table.options, 'debugColumns', 'getIndex')); column.getIsFirstColumn = (position)=>{ var _columns$; const columns = _getVisibleLeafColumns(table, position); return ((_columns$ = columns[0]) == null ? void 0 : _columns$.id) === column.id; }; column.getIsLastColumn = (position)=>{ var _columns; const columns = _getVisibleLeafColumns(table, position); return ((_columns = columns[columns.length - 1]) == null ? void 0 : _columns.id) === column.id; }; }, createTable: (table)=>{ table.setColumnOrder = (updater)=>table.options.onColumnOrderChange == null ? void 0 : table.options.onColumnOrderChange(updater); table.resetColumnOrder = (defaultState)=>{ var _table$initialState$c; table.setColumnOrder(defaultState ? [] : (_table$initialState$c = table.initialState.columnOrder) != null ? _table$initialState$c : []); }; table._getOrderColumnsFn = memo(()=>[ table.getState().columnOrder, table.getState().grouping, table.options.groupedColumnMode ], (columnOrder, grouping, groupedColumnMode)=>(columns)=>{ // Sort grouped columns to the start of the column list // before the headers are built let orderedColumns = []; // If there is no order, return the normal columns if (!(columnOrder != null && columnOrder.length)) { orderedColumns = columns; } else { const columnOrderCopy = [ ...columnOrder ]; // If there is an order, make a copy of the columns const columnsCopy = [ ...columns ]; // And make a new ordered array of the columns // Loop over the columns and place them in order into the new array while(columnsCopy.length && columnOrderCopy.length){ const targetColumnId = columnOrderCopy.shift(); const foundIndex = columnsCopy.findIndex((d)=>d.id === targetColumnId); if (foundIndex > -1) { orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]); } } // If there are any columns left, add them to the end orderedColumns = [ ...orderedColumns, ...columnsCopy ]; } return orderColumns(orderedColumns, grouping, groupedColumnMode); }, getMemoOptions(table.options, 'debugTable', '_getOrderColumnsFn')); } }; // const getDefaultColumnPinningState = ()=>({ left: [], right: [] }); const ColumnPinning = { getInitialState: (state)=>{ return { columnPinning: getDefaultColumnPinningState(), ...state }; }, getDefaultOptions: (table)=>{ return { onColumnPinningChange: makeStateUpdater('columnPinning', table) }; }, createColumn: (column, table)=>{ column.pin = (position)=>{ const columnIds = column.getLeafColumns().map((d)=>d.id).filter(Boolean); table.setColumnPinning((old)=>{ var _old$left3, _old$right3; if (position === 'right') { var _old$left, _old$right; return { left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter((d)=>!(columnIds != null && columnIds.includes(d))), right: [ ...((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter((d)=>!(columnIds != null && columnIds.includes(d))), ...columnIds ] }; } if (position === 'left') { var _old$left2, _old$right2; return { left: [ ...((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter((d)=>!(columnIds != null && columnIds.includes(d))), ...columnIds ], right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter((d)=>!(columnIds != null && columnIds.includes(d))) }; } return { left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter((d)=>!(columnIds != null && columnIds.includes(d))), right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter((d)=>!(columnIds != null && columnIds.includes(d))) }; }); }; column.getCanPin = ()=>{ const leafColumns = column.getLeafColumns(); return leafColumns.some((d)=>{ var _d$columnDef$enablePi, _ref, _table$options$enable; return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_ref = (_table$options$enable = table.options.enableColumnPinning) != null ? _table$options$enable : table.options.enablePinning) != null ? _ref : true); }); }; column.getIsPinned = ()=>{ const leafColumnIds = column.getLeafColumns().map((d)=>d.id); const { left, right } = table.getState().columnPinning; const isLeft = leafColumnIds.some((d)=>left == null ? void 0 : left.includes(d)); const isRight = leafColumnIds.some((d)=>right == null ? void 0 : right.includes(d)); return isLeft ? 'left' : isRight ? 'right' : false; }; column.getPinnedIndex = ()=>{ var _table$getState$colum, _table$getState$colum2; const position = column.getIsPinned(); return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null || (_table$getState$colum2 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum2.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0; }; }, createRow: (row, table)=>{ row.getCenterVisibleCells = memo(()=>[ row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right ], (allCells, left, right)=>{ const leftAndRight = [ ...left != null ? left : [], ...right != null ? right : [] ]; return allCells.filter((d)=>!leftAndRight.includes(d.column.id)); }, getMemoOptions(table.options, 'debugRows', 'getCenterVisibleCells')); row.getLeftVisibleCells = memo(()=>[ row._getAllVisibleCells(), table.getState().columnPinning.left ], (allCells, left)=>{ const cells = (left != null ? left : []).map((columnId)=>allCells.find((cell)=>cell.column.id === columnId)).filter(Boolean).map((d)=>({ ...d, position: 'left' })); return cells; }, getMemoOptions(table.options, 'debugRows', 'getLeftVisibleCells')); row.getRightVisibleCells = memo(()=>[ row._getAllVisibleCells(), table.getState().columnPinning.right ], (allCells, right)=>{ const cells = (right != null ? right : []).map((columnId)=>allCells.find((cell)=>cell.column.id === columnId)).filter(Boolean).map((d)=>({ ...d, position: 'right' })); return cells; }, getMemoOptions(table.options, 'debugRows', 'getRightVisibleCells')); }, createTable: (table)=>{ table.setColumnPinning = (updater)=>table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater); table.resetColumnPinning = (defaultState)=>{ var _table$initialState$c, _table$initialState; return table.setColumnPinning(defaultState ? getDefaultColumnPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultColumnPinningState()); }; table.getIsSomeColumnsPinned = (position)=>{ var _pinningState$positio; const pinningState = table.getState().columnPinning; if (!position) { var _pinningState$left, _pinningState$right; return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length)); } return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length); }; table.getLeftLeafColumns = memo(()=>[ table.getAllLeafColumns(), table.getState().columnPinning.left ], (allColumns, left)=>{ return (left != null ? left : []).map((columnId)=>allColumns.find((column)=>column.id === columnId)).filter(Boolean); }, getMemoOptions(table.options, 'debugColumns', 'getLeftLeafColumns')); table.getRightLeafColumns = memo(()=>[ table.getAllLeafColumns(), table.getState().columnPinning.right ], (allColumns, right)=>{ return (right != null ? right : []).map((columnId)=>allColumns.find((column)=>column.id === columnId)).filter(Boolean); }, getMemoOptions(table.options, 'debugColumns', 'getRightLeafColumns')); table.getCenterLeafColumns = memo(()=>[ table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right ], (allColumns, left, right)=>{ const leftAndRight = [ ...left != null ? left : [], ...right != null ? right : [] ]; return allColumns.filter((d)=>!leftAndRight.includes(d.id)); }, getMemoOptions(table.options, 'debugColumns', 'getCenterLeafColumns')); } }; function safelyAccessDocument(_document) { return _document || (typeof document !== 'undefined' ? document : null); } // // const defaultColumnSizing = { size: 150, minSize: 20, maxSize: Number.MAX_SAFE_INTEGER }; const getDefaultColumnSizingInfoState = ()=>({ startOffset: null, startSize: null, deltaOffset: null, deltaPercentage: null, isResizingColumn: false, columnSizingStart: [] }); const ColumnSizing = { getDefaultColumnDef: ()=>{ return defaultColumnSizing; }, getInitialState: (state)=>{ return { columnSizing: {}, columnSizingInfo: getDefaultColumnSizingInfoState(), ...state }; }, getDefaultOptions: (table)=>{ return { columnResizeMode: 'onEnd', columnResizeDirection: 'ltr', onColumnSizingChange: makeStateUpdater('columnSizing', table), onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', table) }; }, createColumn: (column, table)=>{ column.getSize = ()=>{ var _column$columnDef$min, _ref, _column$columnDef$max; const columnSize = table.getState().columnSizing[column.id]; return Math.min(Math.max((_column$columnDef$min = column.columnDef.minSize) != null ? _column$columnDef$min : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.columnDef.size) != null ? _ref : defaultColumnSizing.size), (_column$columnDef$max = column.columnDef.maxSize) != null ? _column$columnDef$max : defaultColumnSizing.maxSize); }; column.getStart = memo((position)=>[ position, _getVisibleLeafColumns(table, position), table.getState().columnSizing ], (position, columns)=>columns.slice(0, column.getIndex(position)).reduce((sum, column)=>sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getStart')); column.getAfter = memo((position)=>[ position, _getVisibleLeafColumns(table, position), table.getState().columnSizing ], (position, columns)=>columns.slice(column.getIndex(position) + 1).reduce((sum, column)=>sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getAfter')); column.resetSize = ()=>{ table.setColumnSizing((_ref2)=>{ let { [column.id]: _, ...rest } = _ref2; return rest; }); }; column.getCanResize = ()=>{ var _column$columnDef$ena, _table$options$enable; return ((_column$columnDef$ena = column.columnDef.enableResizing) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnResizing) != null ? _table$options$enable : true); }; column.getIsResizing = ()=>{ return table.getState().columnSizingInfo.isResizingColumn === column.id; }; }, createHeader: (header, table)=>{ header.getSize = ()=>{ let sum = 0; const recurse = (header)=>{ if (header.subHeaders.length) { header.subHeaders.forEach(recurse); } else { var _header$column$getSiz; sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0; } }; recurse(header); return sum; }; header.getStart = ()=>{ if (header.index > 0) { const prevSiblingHeader = header.headerGroup.headers[header.index - 1]; return prevSiblingHeader.getStart() + prevSiblingHeader.getSize(); } return 0; }; header.getResizeHandler = (_contextDocument)=>{ const column = table.getColumn(header.column.id); const canResize = column == null ? void 0 : column.getCanResize(); return (e)=>{ if (!column || !canResize) { return; } e.persist == null || e.persist(); if (isTouchStartEvent(e)) { // lets not respond to multiple touches (e.g. 2 or 3 fingers) if (e.touches && e.touches.length > 1) { return; } } const startSize = header.getSize(); const columnSizingStart = header ? header.getLeafHeaders().map((d)=>[ d.column.id, d.column.getSize() ]) : [ [ column.id, column.getSize() ] ]; const clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX; const newColumnSizing = {}; const updateOffset = (eventType, clientXPos)=>{ if (typeof clientXPos !== 'number') { return; } table.setColumnSizingInfo((old)=>{ var _old$startOffset, _old$startSize; const deltaDirection = table.options.columnResizeDirection === 'rtl' ? -1 : 1; const deltaOffset = (clientXPos - ((_old$startOffset = old == null ? void 0 : old.startOffset) != null ? _old$startOffset : 0)) * deltaDirection; const deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999); old.columnSizingStart.forEach((_ref3)=>{ let [columnId, headerSize] = _ref3; newColumnSizing[columnId] = Math.round(Math.max(headerSize + headerSize * deltaPercentage, 0) * 100) / 100; }); return { ...old, deltaOffset, deltaPercentage }; }); if (table.options.columnResizeMode === 'onChange' || eventType === 'end') { table.setColumnSizing((old)=>({ ...old, ...newColumnSizing })); } }; const onMove = (clientXPos)=>updateOffset('move', clientXPos); const onEnd = (clientXPos)=>{ updateOffset('end', clientXPos); table.setColumnSizingInfo((old)=>({ ...old, isResizingColumn: false, startOffset: null, startSize: null, deltaOffset: null, deltaPercentage: null, columnSizingStart: [] })); }; const contextDocument = safelyAccessDocument(_contextDocument); const mouseEvents = { moveHandler: (e)=>onMove(e.clientX), upHandler: (e)=>{ contextDocument == null || contextDocument.removeEventListener('mousemove', mouseEvents.moveHandler); contextDocument == null || contextDocument.removeEventListener('mouseup', mouseEvents.upHandler); onEnd(e.clientX); } }; const touchEvents = { moveHandler: (e)=>{ if (e.cancelable) { e.preventDefault(); e.stopPropagation(); } onMove(e.touches[0].clientX); return false; }, upHandler: (e)=>{ var _e$touches$; contextDocument == null || contextDocument.removeEventListener('touchmove', touchEvents.moveHandler); contextDocument == null || contextDocument.removeEventListener('touchend', touchEvents.upHandler); if (e.cancelable) { e.preventDefault(); e.stopPropagation(); } onEnd((_e$touches$ = e.touches[0]) == null ? void 0 : _e$touches$.clientX); } }; const passiveIfSupported = passiveEventSupported() ? { passive: false } : false; if (isTouchStartEvent(e)) { contextDocument == null || contextDocument.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported); contextDocument == null || contextDocument.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported); } else { contextDocument == null || contextDocument.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported); contextDocument == null || contextDocument.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported); } table.setColumnSizingInfo((old)=>({ ...old, startOffset: clientX, startSize, deltaOffset: 0, deltaPercentage: 0, columnSizingStart, isResizingColumn: column.id })); }; }; }, createTable: (table)=>{ table.setColumnSizing = (updater)=>table.options.onColumnSizingChange == null ? void 0 : table.options.onColumnSizingChange(updater); table.setColumnSizingInfo = (updater)=>table.options.onColumnSizingInfoChange == null ? void 0 : table.options.onColumnSizingInfoChange(updater); table.resetColumnSizing = (defaultState)=>{ var _table$initialState$c; table.setColumnSizing(defaultState ? {} : (_table$initialState$c = table.initialState.columnSizing) != null ? _table$initialState$c : {}); }; table.resetHeaderSizeInfo = (defaultState)=>{ var _table$initialState$c2; table.setColumnSizingInfo(defaultState ? getDefaultColumnSizingInfoState() : (_table$initialState$c2 = table.initialState.columnSizingInfo) != null ? _table$initialState$c2 : getDefaultColumnSizingInfoState()); }; table.getTotalSize = ()=>{ var _table$getHeaderGroup, _table$getHeaderGroup2; return (_table$getHeaderGroup = (_table$getHeaderGroup2 = table.getHeaderGroups()[0]) == null ? void 0 : _table$getHeaderGroup2.headers.reduce((sum, header)=>{ return sum + header.getSize(); }, 0)) != null ? _table$getHeaderGroup : 0; }; table.getLeftTotalSize = ()=>{ var _table$getLeftHeaderG, _table$getLeftHeaderG2; return (_table$getLeftHeaderG = (_table$getLeftHeaderG2 = table.getLeftHeaderGroups()[0]) == null ? void 0 : _table$getLeftHeaderG2.headers.reduce((sum, header)=>{ return sum + header.getSize(); }, 0)) != null ? _table$getLeftHeaderG : 0; }; table.getCenterTotalSize = ()=>{ var _table$getCenterHeade, _table$getCenterHeade2; return (_table$getCenterHeade = (_table$getCenterHeade2 = table.getCenterHeaderGroups()[0]) == null ? void 0 : _table$getCenterHeade2.headers.reduce((sum, header)=>{ return sum + header.getSize(); }, 0)) != null ? _table$getCenterHeade : 0; }; table.getRightTotalSize = ()=>{ var _table$getRightHeader, _table$getRightHeader2; return (_table$getRightHeader = (_table$getRightHeader2 = table.getRightHeaderGroups()[0]) == null ? void 0 : _table$getRightHeader2.headers.reduce((sum, header)=>{ return sum + header.getSize(); }, 0)) != null ? _table$getRightHeader : 0; }; } }; let passiveSupported = null; function passiveEventSupported() { if (typeof passiveSupported === 'boolean') return passiveSupported; let supported = false; try { const options = { get passive () { supported = true; return false; } }; const noop = ()=>{}; window.addEventListener('test', noop, options); window.removeEventListener('test', noop); } catch (err) { supported = false; } passiveSupported = supported; return passiveSupported; } function isTouchStartEvent(e) { return e.type === 'touchstart'; } // const ColumnVisibility = { getInitialState: (state)=>{ return { columnVisibility: {}, ...state }; }, getDefaultOptions: (table)=>{ return { onColumnVisibilityChange: makeStateUpdater('columnVisibility', table) }; }, createColumn: (column, table)=>{ column.toggleVisibility = (value)=>{ if (column.getCanHide()) { table.setColumnVisibility((old)=>({ ...old, [column.id]: value != null ? value : !column.getIsVisible() })); } }; column.getIsVisible = ()=>{ var _ref, _table$getState$colum; const childColumns = column.columns; return (_ref = childColumns.length ? childColumns.some((c)=>c.getIsVisible()) : (_table$getState$colum = table.getState().columnVisibility) == null ? void 0 : _table$getState$colum[column.id]) != null ? _ref : true; }; column.getCanHide = ()=>{ var _column$columnDef$ena, _table$options$enable; return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableHiding) != null ? _table$options$enable : true); }; column.getToggleVisibilityHandler = ()=>{ return (e)=>{ column.toggleVisibility == null || column.toggleVisibility(e.target.checked); }; }; }, createRow: (row, table)=>{ row._getAllVisibleCells = memo(()=>[ row.getAllCells(), table.getState().columnVisibility ], (cells)=>{ return cells.filter((cell)=>cell.column.getIsVisible()); }, getMemoOptions(table.options, 'debugRows', '_getAllVisibleCells')); row.getVisibleCells = memo(()=>[ row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells() ], (left, center, right)=>[ ...left, ...center, ...right ], getMemoOptions(table.options, 'debugRows', 'getVisibleCells')); }, createTable: (table)=>{ const makeVisibleColumnsMethod = (key, getColumns)=>{ return memo(()=>[ getColumns(), getColumns().filter((d)=>d.getIsVisible()).map((d)=>d.id).join('_') ], (columns)=>{ return columns.filter((d)=>d.getIsVisible == null ? void 0 : d.getIsVisible()); }, getMemoOptions(table.options, 'debugColumns', key)); }; table.getVisibleFlatColumns = makeVisibleColumnsMethod('getVisibleFlatColumns', ()=>table.getAllFlatColumns()); table.getVisibleLeafColumns = makeVisibleColumnsMethod('getVisibleLeafColumns', ()=>table.getAllLeafColumns()); table.getLeftVisibleLeafColumns = makeVisibleColumnsMethod('getLeftVisibleLeafColumns', ()=>table.getLeftLeafColumns()); table.getRightVisibleLeafColumns = makeVisibleColumnsMethod('getRightVisibleLeafColumns', ()=>table.getRightLeafColumns()); table.getCenterVisibleLeafColumns = makeVisibleColumnsMethod('getCenterVisibleLeafColumns', ()=>table.getCenterLeafColumns()); table.setColumnVisibility = (updater)=>table.options.onColumnVisibilityChange == null ? void 0 : table.options.onColumnVisibilityChange(updater); table.resetColumnVisibility = (defaultState)=>{ var _table$initialState$c; table.setColumnVisibility(defaultState ? {} : (_table$initialState$c = table.initialState.columnVisibility) != null ? _table$initialState$c : {}); }; table.toggleAllColumnsVisible = (value)=>{ var _value; value = (_value = value) != null ? _value : !table.getIsAllColumnsVisible(); table.setColumnVisibility(table.getAllLeafColumns().reduce((obj, column)=>({ ...obj, [column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value }), {})); }; table.getIsAllColumnsVisible = ()=>!table.getAllLeafColumns().some((column)=>!(column.getIsVisible != null && column.getIsVisible())); table.getIsSomeColumnsVisible = ()=>table.getAllLeafColumns().some((column)=>column.getIsVisible == null ? void 0 : column.getIsVisible()); table.getToggleAllColumnsVisibilityHandler = ()=>{ return (e)=>{ var _target; table.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked); }; }; } }; function _getVisibleLeafColumns(table, position) { return !position ? table.getVisibleLeafColumns() : position === 'center' ? table.getCenterVisibleLeafColumns() : position === 'left' ? table.getLeftVisibleLeafColumns() : table.getRightVisibleLeafColumns(); } // const GlobalFaceting = { createTable: (table)=>{ table._getGlobalFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, '__global__'); table.getGlobalFacetedRowModel = ()=>{ if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) { return table.getPreFilteredRowModel(); } return table._getGlobalFacetedRowModel(); }; table._getGlobalFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, '__global__'); table.getGlobalFacetedUniqueValues = ()=>{ if (!table._getGlobalFacetedUniqueValues) { return new Map(); } return table._getGlobalFacetedUniqueValues(); }; table._getGlobalFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, '__global__'); table.getGlobalFacetedMinMaxValues = ()=>{ if (!table._getGlobalFacetedMinMaxValues) { return; } return table._getGlobalFacetedMinMaxValues(); }; } }; // const GlobalFiltering = { getInitialState: (state)=>{ return { globalFilter: undefined, ...state }; }, getDefaultOptions: (table)=>{ return { onGlobalFilterChange: makeStateUpdater('globalFilter', table), globalFilterFn: 'auto', getColumnCanGlobalFilter: (column)=>{ var _table$getCoreRowMode; const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) == null || (_table$getCoreRowMode = _table$getCoreRowMode._getAllCellsByColumnId()[column.id]) == null ? void 0 : _table$getCoreRowMode.getValue(); return typeof value === 'string' || typeof value === 'number'; } }; }, createColumn: (column, table)=>{ column.getCanGlobalFilter = ()=>{ var _column$columnDef$ena, _table$options$enable, _table$options$enable2, _table$options$getCol; return ((_column$columnDef$ena = column.columnDef.enableGlobalFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGlobalFilter) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && ((_table$options$getCol = table.options.getColumnCanGlobalFilter == null ? void 0 : table.options.getColumnCanGlobalFilter(column)) != null ? _table$options$getCol : true) && !!column.accessorFn; }; }, createTable: (table)=>{ table.getGlobalAutoFilterFn = ()=>{ return filterFns.includesString; }; table.getGlobalFilterFn = ()=>{ var _table$options$filter, _table$options$filter2; const { globalFilterFn: globalFilterFn } = table.options; return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[globalFilterFn]) != null ? _table$options$filter : filterFns[globalFilterFn]; }; table.setGlobalFilter = (updater)=>{ table.options.onGlobalFilterChange == null || table.options.onGlobalFilterChange(updater); }; table.resetGlobalFilter = (defaultState)=>{ table.setGlobalFilter(defaultState ? undefined : table.initialState.globalFilter); }; } }; // const RowExpanding = { getInitialState: (state)=>{ return { expanded: {}, ...state }; }, getDefaultOptions: (table)=>{ return { onExpandedChange: makeStateUpdater('expanded', table), paginateExpandedRows: true }; }, createTable: (table)=>{ let registered = false; let queued = false; table._autoResetExpanded = ()=>{ var _ref, _table$options$autoRe; if (!registered) { table._queue(()=>{ registered = true; }); return; } if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetExpanded) != null ? _ref : !table.options.manualExpanding) { if (queued) return; queued = true; table._queue(()=>{ table.resetExpanded(); queued = false; }); } }; table.setExpanded = (updater)=>table.options.onExpandedChange == null ? void 0 : table.options.onExpandedChange(updater); table.toggleAllRowsExpanded = (expanded)=>{ if (expanded != null ? expanded : !table.getIsAllRowsExpanded()) { table.setExpanded(true); } else { table.setExpanded({}); } }; table.resetExpanded = (defaultState)=>{ var _table$initialState$e, _table$initialState; table.setExpanded(defaultState ? {} : (_table$initialState$e = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.expanded) != null ? _table$initialState$e : {}); }; table.getCanSomeRowsExpand = ()=>{ return table.getPrePaginationRowModel().flatRows.some((row)=>row.getCanExpand()); }; table.getToggleAllRowsExpandedHandler = ()=>{ return (e)=>{ e.persist == null || e.persist(); table.toggleAllRowsExpanded(); }; }; table.getIsSomeRowsExpanded = ()=>{ const expanded = table.getState().expanded; return expanded === true || Object.values(expanded).some(Boolean); }; table.getIsAllRowsExpanded = ()=>{ const expanded = table.getState().expanded; // If expanded is true, save some cycles and return true if (typeof expanded === 'boolean') { return expanded === true; } if (!Object.keys(expanded).length) { return false; } // If any row is not expanded, return false if (table.getRowModel().flatRows.some((row)=>!row.getIsExpanded())) { return false; } // They must all be expanded :shrug: return true; }; table.getExpandedDepth = ()=>{ let maxDepth = 0; const rowIds = table.getState().expanded === true ? Object.keys(table.getRowModel().rowsById) : Object.keys(table.getState().expanded); rowIds.forEach((id)=>{ const splitId = id.split('.'); maxDepth = Math.max(maxDepth, splitId.length); }); return maxDepth; }; table.getPreExpandedRowModel = ()=>table.getSortedRowModel(); table.getExpandedRowModel = ()=>{ if (!table._getExpandedRowModel && table.options.getExpandedRowModel) { table._getExpandedRowModel = table.options.getExpandedRowModel(table); } if (table.options.manualExpanding || !table._getExpandedRowModel) { return table.getPreExpandedRowModel(); } return table._getExpandedRowModel(); }; }, createRow: (row, table)=>{ row.toggleExpanded = (expanded)=>{ table.setExpanded((old)=>{ var _expanded; const exists = old === true ? true : !!(old != null && old[row.id]); let oldExpanded = {}; if (old === true) { Object.keys(table.getRowModel().rowsById).forEach((rowId)=>{ oldExpanded[rowId] = true; }); } else { oldExpanded = old; } expanded = (_expanded = expanded) != null ? _expanded : !exists; if (!exists && expanded) { return { ...oldExpanded, [row.id]: true }; } if (exists && !expanded) { const { [row.id]: _, ...rest } = oldExpanded; return rest; } return old; }); }; row.getIsExpanded = ()=>{ var _table$options$getIsR; const expanded = table.getState().expanded; return !!((_table$options$getIsR = table.options.getIsRowExpanded == null ? void 0 : table.options.getIsRowExpanded(row)) != null ? _table$options$getIsR : expanded === true || (expanded == null ? void 0 : expanded[row.id])); }; row.getCanExpand = ()=>{ var _table$options$getRow, _table$options$enable, _row$subRows; return (_table$options$getRow = table.options.getRowCanExpand == null ? void 0 : table.options.getRowCanExpand(row)) != null ? _table$options$getRow : ((_table$options$enable = table.options.enableExpanding) != null ? _table$options$enable : true) && !!((_row$subRows = row.subRows) != null && _row$subRows.length); }; row.getIsAllParentsExpanded = ()=>{ let isFullyExpanded = true; let currentRow = row; while(isFullyExpanded && currentRow.parentId){ currentRow = table.getRow(currentRow.parentId, true); isFullyExpanded = currentRow.getIsExpanded(); } return isFullyExpanded; }; row.getToggleExpandedHandler = ()=>{ const canExpand = row.getCanExpand(); return ()=>{ if (!canExpand) return; row.toggleExpanded(); }; }; } }; // const defaultPageIndex = 0; const defaultPageSize = 10; const getDefaultPaginationState = ()=>({ pageIndex: defaultPageIndex, pageSize: defaultPageSize }); const RowPagination = { getInitialState: (state)=>{ return { ...state, pagination: { ...getDefaultPaginationState(), ...state == null ? void 0 : state.pagination } }; }, getDefaultOptions: (table)=>{ return { onPaginationChange: makeStateUpdater('pagination', table) }; }, createTable: (table)=>{ let registered = false; let queued = false; table._autoResetPageIndex = ()=>{ var _ref, _table$options$autoRe; if (!registered) { table._queue(()=>{ registered = true; }); return; } if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetPageIndex) != null ? _ref : !table.options.manualPagination) { if (queued) return; queued = true; table._queue(()=>{ table.resetPageIndex(); queued = false; }); } }; table.setPagination = (updater)=>{ const safeUpdater = (old)=>{ let newState = functionalUpdate(updater, old); return newState; }; return table.options.onPaginationChange == null ? void 0 : table.options.onPaginationChange(safeUpdater); }; table.resetPagination = (defaultState)=>{ var _table$initialState$p; table.setPagination(defaultState ? getDefaultPaginationState() : (_table$initialState$p = table.initialState.pagination) != null ? _table$initialState$p : getDefaultPaginationState()); }; table.setPageIndex = (updater)=>{ table.setPagination((old)=>{ let pageIndex = functionalUpdate(updater, old.pageIndex); const maxPageIndex = typeof table.options.pageCount === 'undefined' || table.options.pageCount === -1 ? Number.MAX_SAFE_INTEGER : table.options.pageCount - 1; pageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex)); return { ...old, pageIndex }; }); }; table.resetPageIndex = (defaultState)=>{ var _table$initialState$p2, _table$initialState; table.setPageIndex(defaultState ? defaultPageIndex : (_table$initialState$p2 = (_table$initialState = table.initialState) == null || (_table$initialState = _table$initialState.pagination) == null ? void 0 : _table$initialState.pageIndex) != null ? _table$initialState$p2 : defaultPageIndex); }; table.resetPageSize = (defaultState)=>{ var _table$initialState$p3, _table$initialState2; table.setPageSize(defaultState ? defaultPageSize : (_table$initialState$p3 = (_table$initialState2 = table.initialState) == null || (_table$initialState2 = _table$initialState2.pagination) == null ? void 0 : _table$initialState2.pageSize) != null ? _table$initialState$p3 : defaultPageSize); }; table.setPageSize = (updater)=>{ table.setPagination((old)=>{ const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize)); const topRowIndex = old.pageSize * old.pageIndex; const pageIndex = Math.floor(topRowIndex / pageSize); return { ...old, pageIndex, pageSize }; }); }; //deprecated table.setPageCount = (updater)=>table.setPagination((old)=>{ var _table$options$pageCo; let newPageCount = functionalUpdate(updater, (_table$options$pageCo = table.options.pageCount) != null ? _table$options$pageCo : -1); if (typeof newPageCount === 'number') { newPageCount = Math.max(-1, newPageCount); } return { ...old, pageCount: newPageCount }; }); table.getPageOptions = memo(()=>[ table.getPageCount() ], (pageCount)=>{ let pageOptions = []; if (pageCount && pageCount > 0) { pageOptions = [ ...new Array(pageCount) ].fill(null).map((_, i)=>i); } return pageOptions; }, getMemoOptions(table.options, 'debugTable', 'getPageOptions')); table.getCanPreviousPage = ()=>table.getState().pagination.pageIndex > 0; table.getCanNextPage = ()=>{ const { pageIndex } = table.getState().pagination; const pageCount = table.getPageCount(); if (pageCount === -1) { return true; } if (pageCount === 0) { return false; } return pageIndex < pageCount - 1; }; table.previousPage = ()=>{ return table.setPageIndex((old)=>old - 1); }; table.nextPage = ()=>{ return table.setPageIndex((old)=>{ return old + 1; }); }; table.firstPage = ()=>{ return table.setPageIndex(0); }; table.lastPage = ()=>{ return table.setPageIndex(table.getPageCount() - 1); }; table.getPrePaginationRowModel = ()=>table.getExpandedRowModel(); table.getPaginationRowModel = ()=>{ if (!table._getPaginationRowModel && table.options.getPaginationRowModel) { table._getPaginationRowModel = table.options.getPaginationRowModel(table); } if (table.options.manualPagination || !table._getPaginationRowModel) { return table.getPrePaginationRowModel(); } return table._getPaginationRowModel(); }; table.getPageCount = ()=>{ var _table$options$pageCo2; return (_table$options$pageCo2 = table.options.pageCount) != null ? _table$options$pageCo2 : Math.ceil(table.getRowCount() / table.getState().pagination.pageSize); }; table.getRowCount = ()=>{ var _table$options$rowCou; return (_table$options$rowCou = table.options.rowCount) != null ? _table$options$rowCou : table.getPrePaginationRowModel().rows.length; }; } }; // const getDefaultRowPinningState = ()=>({ top: [], bottom: [] }); const RowPinning = { getInitialState: (state)=>{ return { rowPinning: getDefaultRowPinningState(), ...state }; }, getDefaultOptions: (table)=>{ return { onRowPinningChange: makeStateUpdater('rowPinning', table) }; }, createRow: (row, table)=>{ row.pin = (position, includeLeafRows, includeParentRows)=>{ const leafRowIds = includeLeafRows ? row.getLeafRows().map((_ref)=>{ let { id } = _ref; return id; }) : []; const parentRowIds = includeParentRows ? row.getParentRows().map((_ref2)=>{ let { id } = _ref2; return id; }) : []; const rowIds = new Set([ ...parentRowIds, row.id, ...leafRowIds ]); table.setRowPinning((old)=>{ var _old$top3, _old$bottom3; if (position === 'bottom') { var _old$top, _old$bottom; return { top: ((_old$top = old == null ? void 0 : old.top) != null ? _old$top : []).filter((d)=>!(rowIds != null && rowIds.has(d))), bottom: [ ...((_old$bottom = old == null ? void 0 : old.bottom) != null ? _old$bottom : []).filter((d)=>!(rowIds != null && rowIds.has(d))), ...Array.from(rowIds) ] }; } if (position === 'top') { var _old$top2, _old$bottom2; return { top: [ ...((_old$top2 = old == null ? void 0 : old.top) != null ? _old$top2 : []).filter((d)=>!(rowIds != null && rowIds.has(d))), ...Array.from(rowIds) ], bottom: ((_old$bottom2 = old == null ? void 0 : old.bottom) != null ? _old$bottom2 : []).filter((d)=>!(rowIds != null && rowIds.has(d))) }; } return { top: ((_old$top3 = old == null ? void 0 : old.top) != null ? _old$top3 : []).filter((d)=>!(rowIds != null && rowIds.has(d))), bottom: ((_old$bottom3 = old == null ? void 0 : old.bottom) != null ? _old$bottom3 : []).filter((d)=>!(rowIds != null && rowIds.has(d))) }; }); }; row.getCanPin = ()=>{ var _ref3; const { enableRowPinning, enablePinning } = table.options; if (typeof enableRowPinning === 'function') { return enableRowPinning(row); } return (_ref3 = enableRowPinning != null ? enableRowPinning : enablePinning) != null ? _ref3 : true; }; row.getIsPinned = ()=>{ const rowIds = [ row.id ]; const { top, bottom } = table.getState().rowPinning; const isTop = rowIds.some((d)=>top == null ? void 0 : top.includes(d)); const isBottom = rowIds.some((d)=>bottom == null ? void 0 : bottom.includes(d)); return isTop ? 'top' : isBottom ? 'bottom' : false; }; row.getPinnedIndex = ()=>{ var _ref4, _visiblePinnedRowIds$; const position = row.getIsPinned(); if (!position) return -1; const visiblePinnedRowIds = (_ref4 = position === 'top' ? table.getTopRows() : table.getBottomRows()) == null ? void 0 : _ref4.map((_ref5)=>{ let { id } = _ref5; return id; }); return (_visiblePinnedRowIds$ = visiblePinnedRowIds == null ? void 0 : visiblePinnedRowIds.indexOf(row.id)) != null ? _visiblePinnedRowIds$ : -1; }; }, createTable: (table)=>{ table.setRowPinning = (updater)=>table.options.onRowPinningChange == null ? void 0 : table.options.onRowPinningChange(updater); table.resetRowPinning = (defaultState)=>{ var _table$initialState$r, _table$initialState; return table.setRowPinning(defaultState ? getDefaultRowPinningState() : (_table$initialState$r = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.rowPinning) != null ? _table$initialState$r : getDefaultRowPinningState()); }; table.getIsSomeRowsPinned = (position)=>{ var _pinningState$positio; const pinningState = table.getState().rowPinning; if (!position) { var _pinningState$top, _pinningState$bottom; return Boolean(((_pinningState$top = pinningState.top) == null ? void 0 : _pinningState$top.length) || ((_pinningState$bottom = pinningState.bottom) == null ? void 0 : _pinningState$bottom.length)); } return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length); }; table._getPinnedRows = (visibleRows, pinnedRowIds, position)=>{ var _table$options$keepPi; const rows = ((_table$options$keepPi = table.options.keepPinnedRows) != null ? _table$options$keepPi : true) ? //get all rows that are pinned even if they would not be otherwise visible //account for expanded parent rows, but not pagination or filtering (pinnedRowIds != null ? pinnedRowIds : []).map((rowId)=>{ const row = table.getRow(rowId, true); return row.getIsAllParentsExpanded() ? row : null; }) : //else get only visible rows that are pinned (pinnedRowIds != null ? pinnedRowIds : []).map((rowId)=>visibleRows.find((row)=>row.id === rowId)); return rows.filter(Boolean).map((d)=>({ ...d, position })); }; table.getTopRows = memo(()=>[ table.getRowModel().rows, table.getState().rowPinning.top ], (allRows, topPinnedRowIds)=>table._getPinnedRows(allRows, topPinnedRowIds, 'top'), getMemoOptions(table.options, 'debugRows', 'getTopRows')); table.getBottomRows = memo(()=>[ table.getRowModel().rows, table.getState().rowPinning.bottom ], (allRows, bottomPinnedRowIds)=>table._getPinnedRows(allRows, bottomPinnedRowIds, 'bottom'), getMemoOptions(table.options, 'debugRows', 'getBottomRows')); table.getCenterRows = memo(()=>[ table.getRowModel().rows, table.getState().rowPinning.top, table.getState().rowPinning.bottom ], (allRows, top, bottom)=>{ const topAndBottom = new Set([ ...top != null ? top : [], ...bottom != null ? bottom : [] ]); return allRows.filter((d)=>!topAndBottom.has(d.id)); }, getMemoOptions(table.options, 'debugRows', 'getCenterRows')); } }; // const RowSelection = { getInitialState: (state)=>{ return { rowSelection: {}, ...state }; }, getDefaultOptions: (table)=>{ return { onRowSelectionChange: makeStateUpdater('rowSelection', table), enableRowSelection: true, enableMultiRowSelection: true, enableSubRowSelection: true }; }, createTable: (table)=>{ table.setRowSelection = (updater)=>table.options.onRowSelectionChange == null ? void 0 : table.options.onRowSelectionChange(updater); table.resetRowSelection = (defaultState)=>{ var _table$initialState$r; return table.setRowSelection(defaultState ? {} : (_table$initialState$r = table.initialState.rowSelection) != null ? _table$initialState$r : {}); }; table.toggleAllRowsSelected = (value)=>{ table.setRowSelection((old)=>{ value = typeof value !== 'undefined' ? value : !table.getIsAllRowsSelected(); const rowSelection = { ...old }; const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows; // We don't use `mutateRowIsSelected` here for performance reasons. // All of the rows are flat already, so it wouldn't be worth it if (value) { preGroupedFlatRows.forEach((row)=>{ if (!row.getCanSelect()) { return; } rowSelection[row.id] = true; }); } else { preGroupedFlatRows.forEach((row)=>{ delete rowSelection[row.id]; }); } return rowSelection; }); }; table.toggleAllPageRowsSelected = (value)=>table.setRowSelection((old)=>{ const resolvedValue = typeof value !== 'undefined' ? value : !table.getIsAllPageRowsSelected(); const rowSelection = { ...old }; table.getRowModel().rows.forEach((row)=>{ mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table); }); return rowSelection; }); // addRowSelectionRange: rowId => { // const { // rows, // rowsById, // options: { selectGroupingRows, selectSubRows }, // } = table // const findSelectedRow = (rows: Row[]) => { // let found // rows.find(d => { // if (d.getIsSelected()) { // found = d // return true // } // const subFound = findSelectedRow(d.subRows || []) // if (subFound) { // found = subFound // return true // } // return false // }) // return found // } // const firstRow = findSelectedRow(rows) || rows[0] // const lastRow = rowsById[rowId] // let include = false // const selectedRowIds = {} // const addRow = (row: Row) => { // mutateRowIsSelected(selectedRowIds, row.id, true, { // rowsById, // selectGroupingRows: selectGroupingRows!, // selectSubRows: selectSubRows!, // }) // } // table.rows.forEach(row => { // const isFirstRow = row.id === firstRow.id // const isLastRow = row.id === lastRow.id // if (isFirstRow || isLastRow) { // if (!include) { // include = true // } else if (include) { // addRow(row) // include = false // } // } // if (include) { // addRow(row) // } // }) // table.setRowSelection(selectedRowIds) // }, table.getPreSelectedRowModel = ()=>table.getCoreRowModel(); table.getSelectedRowModel = memo(()=>[ table.getState().rowSelection, table.getCoreRowModel() ], (rowSelection, rowModel)=>{ if (!Object.keys(rowSelection).length) { return { rows: [], flatRows: [], rowsById: {} }; } return selectRowsFn(table, rowModel); }, getMemoOptions(table.options, 'debugTable', 'getSelectedRowModel')); table.getFilteredSelectedRowModel = memo(()=>[ table.getState().rowSelection, table.getFilteredRowModel() ], (rowSelection, rowModel)=>{ if (!Object.keys(rowSelection).length) { return { rows: [], flatRows: [], rowsById: {} }; } return selectRowsFn(table, rowModel); }, getMemoOptions(table.options, 'debugTable', 'getFilteredSelectedRowModel')); table.getGroupedSelectedRowModel = memo(()=>[ table.getState().rowSelection, table.getSortedRowModel() ], (rowSelection, rowModel)=>{ if (!Object.keys(rowSelection).length) { return { rows: [], flatRows: [], rowsById: {} }; } return selectRowsFn(table, rowModel); }, getMemoOptions(table.options, 'debugTable', 'getGroupedSelectedRowModel')); /// // getGroupingRowCanSelect: rowId => { // const row = table.getRow(rowId) // if (!row) { // throw new Error() // } // if (typeof table.options.enableGroupingRowSelection === 'function') { // return table.options.enableGroupingRowSelection(row) // } // return table.options.enableGroupingRowSelection ?? false // }, table.getIsAllRowsSelected = ()=>{ const preGroupedFlatRows = table.getFilteredRowModel().flatRows; const { rowSelection } = table.getState(); let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length); if (isAllRowsSelected) { if (preGroupedFlatRows.some((row)=>row.getCanSelect() && !rowSelection[row.id])) { isAllRowsSelected = false; } } return isAllRowsSelected; }; table.getIsAllPageRowsSelected = ()=>{ const paginationFlatRows = table.getPaginationRowModel().flatRows.filter((row)=>row.getCanSelect()); const { rowSelection } = table.getState(); let isAllPageRowsSelected = !!paginationFlatRows.length; if (isAllPageRowsSelected && paginationFlatRows.some((row)=>!rowSelection[row.id])) { isAllPageRowsSelected = false; } return isAllPageRowsSelected; }; table.getIsSomeRowsSelected = ()=>{ var _table$getState$rowSe; const totalSelected = Object.keys((_table$getState$rowSe = table.getState().rowSelection) != null ? _table$getState$rowSe : {}).length; return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length; }; table.getIsSomePageRowsSelected = ()=>{ const paginationFlatRows = table.getPaginationRowModel().flatRows; return table.getIsAllPageRowsSelected() ? false : paginationFlatRows.filter((row)=>row.getCanSelect()).some((d)=>d.getIsSelected() || d.getIsSomeSelected()); }; table.getToggleAllRowsSelectedHandler = ()=>{ return (e)=>{ table.toggleAllRowsSelected(e.target.checked); }; }; table.getToggleAllPageRowsSelectedHandler = ()=>{ return (e)=>{ table.toggleAllPageRowsSelected(e.target.checked); }; }; }, createRow: (row, table)=>{ row.toggleSelected = (value, opts)=>{ const isSelected = row.getIsSelected(); table.setRowSelection((old)=>{ var _opts$selectChildren; value = typeof value !== 'undefined' ? value : !isSelected; if (row.getCanSelect() && isSelected === value) { return old; } const selectedRowIds = { ...old }; mutateRowIsSelected(selectedRowIds, row.id, value, (_opts$selectChildren = opts == null ? void 0 : opts.selectChildren) != null ? _opts$selectChildren : true, table); return selectedRowIds; }); }; row.getIsSelected = ()=>{ const { rowSelection } = table.getState(); return isRowSelected(row, rowSelection); }; row.getIsSomeSelected = ()=>{ const { rowSelection } = table.getState(); return isSubRowSelected(row, rowSelection) === 'some'; }; row.getIsAllSubRowsSelected = ()=>{ const { rowSelection } = table.getState(); return isSubRowSelected(row, rowSelection) === 'all'; }; row.getCanSelect = ()=>{ var _table$options$enable; if (typeof table.options.enableRowSelection === 'function') { return table.options.enableRowSelection(row); } return (_table$options$enable = table.options.enableRowSelection) != null ? _table$options$enable : true; }; row.getCanSelectSubRows = ()=>{ var _table$options$enable2; if (typeof table.options.enableSubRowSelection === 'function') { return table.options.enableSubRowSelection(row); } return (_table$options$enable2 = table.options.enableSubRowSelection) != null ? _table$options$enable2 : true; }; row.getCanMultiSelect = ()=>{ var _table$options$enable3; if (typeof table.options.enableMultiRowSelection === 'function') { return table.options.enableMultiRowSelection(row); } return (_table$options$enable3 = table.options.enableMultiRowSelection) != null ? _table$options$enable3 : true; }; row.getToggleSelectedHandler = ()=>{ const canSelect = row.getCanSelect(); return (e)=>{ var _target; if (!canSelect) return; row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked); }; }; } }; const mutateRowIsSelected = (selectedRowIds, id, value, includeChildren, table)=>{ var _row$subRows; const row = table.getRow(id, true); // const isGrouped = row.getIsGrouped() // if ( // TODO: enforce grouping row selection rules // !isGrouped || // (isGrouped && table.options.enableGroupingRowSelection) // ) { if (value) { if (!row.getCanMultiSelect()) { Object.keys(selectedRowIds).forEach((key)=>delete selectedRowIds[key]); } if (row.getCanSelect()) { selectedRowIds[id] = true; } } else { delete selectedRowIds[id]; } // } if (includeChildren && (_row$subRows = row.subRows) != null && _row$subRows.length && row.getCanSelectSubRows()) { row.subRows.forEach((row)=>mutateRowIsSelected(selectedRowIds, row.id, value, includeChildren, table)); } }; function selectRowsFn(table, rowModel) { const rowSelection = table.getState().rowSelection; const newSelectedFlatRows = []; const newSelectedRowsById = {}; // Filters top level and nested rows const recurseRows = function(rows, depth) { return rows.map((row)=>{ var _row$subRows2; const isSelected = isRowSelected(row, rowSelection); if (isSelected) { newSelectedFlatRows.push(row); newSelectedRowsById[row.id] = row; } if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length) { row = { ...row, subRows: recurseRows(row.subRows) }; } if (isSelected) { return row; } }).filter(Boolean); }; return { rows: recurseRows(rowModel.rows), flatRows: newSelectedFlatRows, rowsById: newSelectedRowsById }; } function isRowSelected(row, selection) { var _selection$row$id; return (_selection$row$id = selection[row.id]) != null ? _selection$row$id : false; } function isSubRowSelected(row, selection, table) { var _row$subRows3; if (!((_row$subRows3 = row.subRows) != null && _row$subRows3.length)) return false; let allChildrenSelected = true; let someSelected = false; row.subRows.forEach((subRow)=>{ // Bail out early if we know both of these if (someSelected && !allChildrenSelected) { return; } if (subRow.getCanSelect()) { if (isRowSelected(subRow, selection)) { someSelected = true; } else { allChildrenSelected = false; } } // Check row selection of nested subrows if (subRow.subRows && subRow.subRows.length) { const subRowChildrenSelected = isSubRowSelected(subRow, selection); if (subRowChildrenSelected === 'all') { someSelected = true; } else if (subRowChildrenSelected === 'some') { someSelected = true; allChildrenSelected = false; } else { allChildrenSelected = false; } } }); return allChildrenSelected ? 'all' : someSelected ? 'some' : false; } const reSplitAlphaNumeric = /([0-9]+)/gm; const alphanumeric = (rowA, rowB, columnId)=>{ return compareAlphanumeric(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase()); }; const alphanumericCaseSensitive = (rowA, rowB, columnId)=>{ return compareAlphanumeric(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId))); }; // The text filter is more basic (less numeric support) // but is much faster const text = (rowA, rowB, columnId)=>{ return compareBasic(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase()); }; // The text filter is more basic (less numeric support) // but is much faster const textCaseSensitive = (rowA, rowB, columnId)=>{ return compareBasic(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId))); }; const datetime = (rowA, rowB, columnId)=>{ const a = rowA.getValue(columnId); const b = rowB.getValue(columnId); // Can handle nullish values // Use > and < because == (and ===) doesn't work with // Date objects (would require calling getTime()). return a > b ? 1 : a < b ? -1 : 0; }; const basic = (rowA, rowB, columnId)=>{ return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId)); }; // Utils function compareBasic(a, b) { return a === b ? 0 : a > b ? 1 : -1; } function toString(a) { if (typeof a === 'number') { if (isNaN(a) || a === Infinity || a === -Infinity) { return ''; } return String(a); } if (typeof a === 'string') { return a; } return ''; } // Mixed sorting is slow, but very inclusive of many edge cases. // It handles numbers, mixed alphanumeric combinations, and even // null, undefined, and Infinity function compareAlphanumeric(aStr, bStr) { // Split on number groups, but keep the delimiter // Then remove falsey split values const a = aStr.split(reSplitAlphaNumeric).filter(Boolean); const b = bStr.split(reSplitAlphaNumeric).filter(Boolean); // While while(a.length && b.length){ const aa = a.shift(); const bb = b.shift(); const an = parseInt(aa, 10); const bn = parseInt(bb, 10); const combo = [ an, bn ].sort(); // Both are string if (isNaN(combo[0])) { if (aa > bb) { return 1; } if (bb > aa) { return -1; } continue; } // One is a string, one is a number if (isNaN(combo[1])) { return isNaN(an) ? -1 : 1; } // Both are numbers if (an > bn) { return 1; } if (bn > an) { return -1; } } return a.length - b.length; } // Exports const sortingFns = { alphanumeric, alphanumericCaseSensitive, text, textCaseSensitive, datetime, basic }; // const RowSorting = { getInitialState: (state)=>{ return { sorting: [], ...state }; }, getDefaultColumnDef: ()=>{ return { sortingFn: 'auto', sortUndefined: 1 }; }, getDefaultOptions: (table)=>{ return { onSortingChange: makeStateUpdater('sorting', table), isMultiSortEvent: (e)=>{ return e.shiftKey; } }; }, createColumn: (column, table)=>{ column.getAutoSortingFn = ()=>{ const firstRows = table.getFilteredRowModel().flatRows.slice(10); let isString = false; for (const row of firstRows){ const value = row == null ? void 0 : row.getValue(column.id); if (Object.prototype.toString.call(value) === '[object Date]') { return sortingFns.datetime; } if (typeof value === 'string') { isString = true; if (value.split(reSplitAlphaNumeric).length > 1) { return sortingFns.alphanumeric; } } } if (isString) { return sortingFns.text; } return sortingFns.basic; }; column.getAutoSortDir = ()=>{ const firstRow = table.getFilteredRowModel().flatRows[0]; const value = firstRow == null ? void 0 : firstRow.getValue(column.id); if (typeof value === 'string') { return 'asc'; } return 'desc'; }; column.getSortingFn = ()=>{ var _table$options$sortin, _table$options$sortin2; if (!column) { throw new Error(); } return isFunction(column.columnDef.sortingFn) ? column.columnDef.sortingFn : column.columnDef.sortingFn === 'auto' ? column.getAutoSortingFn() : (_table$options$sortin = (_table$options$sortin2 = table.options.sortingFns) == null ? void 0 : _table$options$sortin2[column.columnDef.sortingFn]) != null ? _table$options$sortin : sortingFns[column.columnDef.sortingFn]; }; column.toggleSorting = (desc, multi)=>{ // if (column.columns.length) { // column.columns.forEach((c, i) => { // if (c.id) { // table.toggleColumnSorting(c.id, undefined, multi || !!i) // } // }) // return // } // this needs to be outside of table.setSorting to be in sync with rerender const nextSortingOrder = column.getNextSortingOrder(); const hasManualValue = typeof desc !== 'undefined' && desc !== null; table.setSorting((old)=>{ // Find any existing sorting for this column const existingSorting = old == null ? void 0 : old.find((d)=>d.id === column.id); const existingIndex = old == null ? void 0 : old.findIndex((d)=>d.id === column.id); let newSorting = []; // What should we do with this sort action? let sortAction; let nextDesc = hasManualValue ? desc : nextSortingOrder === 'desc'; // Multi-mode if (old != null && old.length && column.getCanMultiSort() && multi) { if (existingSorting) { sortAction = 'toggle'; } else { sortAction = 'add'; } } else { // Normal mode if (old != null && old.length && existingIndex !== old.length - 1) { sortAction = 'replace'; } else if (existingSorting) { sortAction = 'toggle'; } else { sortAction = 'replace'; } } // Handle toggle states that will remove the sorting if (sortAction === 'toggle') { // If we are "actually" toggling (not a manual set value), should we remove the sorting? if (!hasManualValue) { // Is our intention to remove? if (!nextSortingOrder) { sortAction = 'remove'; } } } if (sortAction === 'add') { var _table$options$maxMul; newSorting = [ ...old, { id: column.id, desc: nextDesc } ]; // Take latest n columns newSorting.splice(0, newSorting.length - ((_table$options$maxMul = table.options.maxMultiSortColCount) != null ? _table$options$maxMul : Number.MAX_SAFE_INTEGER)); } else if (sortAction === 'toggle') { // This flips (or sets) the newSorting = old.map((d)=>{ if (d.id === column.id) { return { ...d, desc: nextDesc }; } return d; }); } else if (sortAction === 'remove') { newSorting = old.filter((d)=>d.id !== column.id); } else { newSorting = [ { id: column.id, desc: nextDesc } ]; } return newSorting; }); }; column.getFirstSortDir = ()=>{ var _ref, _column$columnDef$sor; const sortDescFirst = (_ref = (_column$columnDef$sor = column.columnDef.sortDescFirst) != null ? _column$columnDef$sor : table.options.sortDescFirst) != null ? _ref : column.getAutoSortDir() === 'desc'; return sortDescFirst ? 'desc' : 'asc'; }; column.getNextSortingOrder = (multi)=>{ var _table$options$enable, _table$options$enable2; const firstSortDirection = column.getFirstSortDir(); const isSorted = column.getIsSorted(); if (!isSorted) { return firstSortDirection; } if (isSorted !== firstSortDirection && ((_table$options$enable = table.options.enableSortingRemoval) != null ? _table$options$enable : true) && (// If enableSortRemove, enable in general multi ? (_table$options$enable2 = table.options.enableMultiRemove) != null ? _table$options$enable2 : true : true) // If multi, don't allow if enableMultiRemove)) ) { return false; } return isSorted === 'desc' ? 'asc' : 'desc'; }; column.getCanSort = ()=>{ var _column$columnDef$ena, _table$options$enable3; return ((_column$columnDef$ena = column.columnDef.enableSorting) != null ? _column$columnDef$ena : true) && ((_table$options$enable3 = table.options.enableSorting) != null ? _table$options$enable3 : true) && !!column.accessorFn; }; column.getCanMultiSort = ()=>{ var _ref2, _column$columnDef$ena2; return (_ref2 = (_column$columnDef$ena2 = column.columnDef.enableMultiSort) != null ? _column$columnDef$ena2 : table.options.enableMultiSort) != null ? _ref2 : !!column.accessorFn; }; column.getIsSorted = ()=>{ var _table$getState$sorti; const columnSort = (_table$getState$sorti = table.getState().sorting) == null ? void 0 : _table$getState$sorti.find((d)=>d.id === column.id); return !columnSort ? false : columnSort.desc ? 'desc' : 'asc'; }; column.getSortIndex = ()=>{ var _table$getState$sorti2, _table$getState$sorti3; return (_table$getState$sorti2 = (_table$getState$sorti3 = table.getState().sorting) == null ? void 0 : _table$getState$sorti3.findIndex((d)=>d.id === column.id)) != null ? _table$getState$sorti2 : -1; }; column.clearSorting = ()=>{ //clear sorting for just 1 column table.setSorting((old)=>old != null && old.length ? old.filter((d)=>d.id !== column.id) : []); }; column.getToggleSortingHandler = ()=>{ const canSort = column.getCanSort(); return (e)=>{ if (!canSort) return; e.persist == null || e.persist(); column.toggleSorting == null || column.toggleSorting(undefined, column.getCanMultiSort() ? table.options.isMultiSortEvent == null ? void 0 : table.options.isMultiSortEvent(e) : false); }; }; }, createTable: (table)=>{ table.setSorting = (updater)=>table.options.onSortingChange == null ? void 0 : table.options.onSortingChange(updater); table.resetSorting = (defaultState)=>{ var _table$initialState$s, _table$initialState; table.setSorting(defaultState ? [] : (_table$initialState$s = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.sorting) != null ? _table$initialState$s : []); }; table.getPreSortedRowModel = ()=>table.getGroupedRowModel(); table.getSortedRowModel = ()=>{ if (!table._getSortedRowModel && table.options.getSortedRowModel) { table._getSortedRowModel = table.options.getSortedRowModel(table); } if (table.options.manualSorting || !table._getSortedRowModel) { return table.getPreSortedRowModel(); } return table._getSortedRowModel(); }; } }; const builtInFeatures = [ Headers, ColumnVisibility, ColumnOrdering, ColumnPinning, ColumnFaceting, ColumnFiltering, GlobalFaceting, //depends on ColumnFaceting GlobalFiltering, //depends on ColumnFiltering RowSorting, ColumnGrouping, //depends on RowSorting RowExpanding, RowPagination, RowPinning, RowSelection, ColumnSizing ]; // function createTable(options) { var _options$_features, _options$initialState; if (("TURBOPACK compile-time value", "development") !== 'production' && (options.debugAll || options.debugTable)) { console.info('Creating Table Instance...'); } const _features = [ ...builtInFeatures, ...(_options$_features = options._features) != null ? _options$_features : [] ]; let table = { _features }; const defaultOptions = table._features.reduce((obj, feature)=>{ return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(table)); }, {}); const mergeOptions = (options)=>{ if (table.options.mergeOptions) { return table.options.mergeOptions(defaultOptions, options); } return { ...defaultOptions, ...options }; }; const coreInitialState = {}; let initialState = { ...coreInitialState, ...(_options$initialState = options.initialState) != null ? _options$initialState : {} }; table._features.forEach((feature)=>{ var _feature$getInitialSt; initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState; }); const queued = []; let queuedTimeout = false; const coreInstance = { _features, options: { ...defaultOptions, ...options }, initialState, _queue: (cb)=>{ queued.push(cb); if (!queuedTimeout) { queuedTimeout = true; // Schedule a microtask to run the queued callbacks after // the current call stack (render, etc) has finished. Promise.resolve().then(()=>{ while(queued.length){ queued.shift()(); } queuedTimeout = false; }).catch((error)=>setTimeout(()=>{ throw error; })); } }, reset: ()=>{ table.setState(table.initialState); }, setOptions: (updater)=>{ const newOptions = functionalUpdate(updater, table.options); table.options = mergeOptions(newOptions); }, getState: ()=>{ return table.options.state; }, setState: (updater)=>{ table.options.onStateChange == null || table.options.onStateChange(updater); }, _getRowId: (row, index, parent)=>{ var _table$options$getRow; return (_table$options$getRow = table.options.getRowId == null ? void 0 : table.options.getRowId(row, index, parent)) != null ? _table$options$getRow : `${parent ? [ parent.id, index ].join('.') : index}`; }, getCoreRowModel: ()=>{ if (!table._getCoreRowModel) { table._getCoreRowModel = table.options.getCoreRowModel(table); } return table._getCoreRowModel(); }, // The final calls start at the bottom of the model, // expanded rows, which then work their way up getRowModel: ()=>{ return table.getPaginationRowModel(); }, //in next version, we should just pass in the row model as the optional 2nd arg getRow: (id, searchAll)=>{ let row = (searchAll ? table.getPrePaginationRowModel() : table.getRowModel()).rowsById[id]; if (!row) { row = table.getCoreRowModel().rowsById[id]; if (!row) { if ("TURBOPACK compile-time truthy", 1) { throw new Error(`getRow could not find row with ID: ${id}`); } throw new Error(); } } return row; }, _getDefaultColumnDef: memo(()=>[ table.options.defaultColumn ], (defaultColumn)=>{ var _defaultColumn; defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {}; return { header: (props)=>{ const resolvedColumnDef = props.header.column.columnDef; if (resolvedColumnDef.accessorKey) { return resolvedColumnDef.accessorKey; } if (resolvedColumnDef.accessorFn) { return resolvedColumnDef.id; } return null; }, // footer: props => props.header.column.id, cell: (props)=>{ var _props$renderValue$to, _props$renderValue; return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null || _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null; }, ...table._features.reduce((obj, feature)=>{ return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef()); }, {}), ...defaultColumn }; }, getMemoOptions(options, 'debugColumns', '_getDefaultColumnDef')), _getColumnDefs: ()=>table.options.columns, getAllColumns: memo(()=>[ table._getColumnDefs() ], (columnDefs)=>{ const recurseColumns = function(columnDefs, parent, depth) { if (depth === void 0) { depth = 0; } return columnDefs.map((columnDef)=>{ const column = createColumn(table, columnDef, depth, parent); const groupingColumnDef = columnDef; column.columns = groupingColumnDef.columns ? recurseColumns(groupingColumnDef.columns, column, depth + 1) : []; return column; }); }; return recurseColumns(columnDefs); }, getMemoOptions(options, 'debugColumns', 'getAllColumns')), getAllFlatColumns: memo(()=>[ table.getAllColumns() ], (allColumns)=>{ return allColumns.flatMap((column)=>{ return column.getFlatColumns(); }); }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumns')), _getAllFlatColumnsById: memo(()=>[ table.getAllFlatColumns() ], (flatColumns)=>{ return flatColumns.reduce((acc, column)=>{ acc[column.id] = column; return acc; }, {}); }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumnsById')), getAllLeafColumns: memo(()=>[ table.getAllColumns(), table._getOrderColumnsFn() ], (allColumns, orderColumns)=>{ let leafColumns = allColumns.flatMap((column)=>column.getLeafColumns()); return orderColumns(leafColumns); }, getMemoOptions(options, 'debugColumns', 'getAllLeafColumns')), getColumn: (columnId)=>{ const column = table._getAllFlatColumnsById()[columnId]; if (("TURBOPACK compile-time value", "development") !== 'production' && !column) { console.error(`[Table] Column with id '${columnId}' does not exist.`); } return column; } }; Object.assign(table, coreInstance); for(let index = 0; index < table._features.length; index++){ const feature = table._features[index]; feature == null || feature.createTable == null || feature.createTable(table); } return table; } function getCoreRowModel() { return (table)=>memo(()=>[ table.options.data ], (data)=>{ const rowModel = { rows: [], flatRows: [], rowsById: {} }; const accessRows = function(originalRows, depth, parentRow) { if (depth === void 0) { depth = 0; } const rows = []; for(let i = 0; i < originalRows.length; i++){ // This could be an expensive check at scale, so we should move it somewhere else, but where? // if (!id) { // if (process.env.NODE_ENV !== 'production') { // throw new Error(`getRowId expected an ID, but got ${id}`) // } // } // Make the row const row = createRow(table, table._getRowId(originalRows[i], i, parentRow), originalRows[i], i, depth, undefined, parentRow == null ? void 0 : parentRow.id); // Keep track of every row in a flat array rowModel.flatRows.push(row); // Also keep track of every row by its ID rowModel.rowsById[row.id] = row; // Push table row into parent rows.push(row); // Get the original subrows if (table.options.getSubRows) { var _row$originalSubRows; row.originalSubRows = table.options.getSubRows(originalRows[i], i); // Then recursively access them if ((_row$originalSubRows = row.originalSubRows) != null && _row$originalSubRows.length) { row.subRows = accessRows(row.originalSubRows, depth + 1, row); } } } return rows; }; rowModel.rows = accessRows(data); return rowModel; }, getMemoOptions(table.options, 'debugTable', 'getRowModel', ()=>table._autoResetPageIndex())); } function getExpandedRowModel() { return (table)=>memo(()=>[ table.getState().expanded, table.getPreExpandedRowModel(), table.options.paginateExpandedRows ], (expanded, rowModel, paginateExpandedRows)=>{ if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) { return rowModel; } if (!paginateExpandedRows) { // Only expand rows at this point if they are being paginated return rowModel; } return expandRows(rowModel); }, getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel')); } function expandRows(rowModel) { const expandedRows = []; const handleRow = (row)=>{ var _row$subRows; expandedRows.push(row); if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) { row.subRows.forEach(handleRow); } }; rowModel.rows.forEach(handleRow); return { rows: expandedRows, flatRows: rowModel.flatRows, rowsById: rowModel.rowsById }; } function getFacetedMinMaxValues() { return (table, columnId)=>memo(()=>{ var _table$getColumn; return [ (_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel() ]; }, (facetedRowModel)=>{ if (!facetedRowModel) return undefined; const uniqueValues = facetedRowModel.flatRows.flatMap((flatRow)=>{ var _flatRow$getUniqueVal; return (_flatRow$getUniqueVal = flatRow.getUniqueValues(columnId)) != null ? _flatRow$getUniqueVal : []; }).map(Number).filter((value)=>!Number.isNaN(value)); if (!uniqueValues.length) return; let facetedMinValue = uniqueValues[0]; let facetedMaxValue = uniqueValues[uniqueValues.length - 1]; for (const value of uniqueValues){ if (value < facetedMinValue) facetedMinValue = value; else if (value > facetedMaxValue) facetedMaxValue = value; } return [ facetedMinValue, facetedMaxValue ]; }, getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues')); } function filterRows(rows, filterRowImpl, table) { if (table.options.filterFromLeafRows) { return filterRowModelFromLeafs(rows, filterRowImpl, table); } return filterRowModelFromRoot(rows, filterRowImpl, table); } function filterRowModelFromLeafs(rowsToFilter, filterRow, table) { var _table$options$maxLea; const newFilteredFlatRows = []; const newFilteredRowsById = {}; const maxDepth = (_table$options$maxLea = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea : 100; const recurseFilterRows = function(rowsToFilter, depth) { if (depth === void 0) { depth = 0; } const rows = []; // Filter from children up first for(let i = 0; i < rowsToFilter.length; i++){ var _row$subRows; let row = rowsToFilter[i]; const newRow = createRow(table, row.id, row.original, row.index, row.depth, undefined, row.parentId); newRow.columnFilters = row.columnFilters; if ((_row$subRows = row.subRows) != null && _row$subRows.length && depth < maxDepth) { newRow.subRows = recurseFilterRows(row.subRows, depth + 1); row = newRow; if (filterRow(row) && !newRow.subRows.length) { rows.push(row); newFilteredRowsById[row.id] = row; newFilteredFlatRows.push(row); continue; } if (filterRow(row) || newRow.subRows.length) { rows.push(row); newFilteredRowsById[row.id] = row; newFilteredFlatRows.push(row); continue; } } else { row = newRow; if (filterRow(row)) { rows.push(row); newFilteredRowsById[row.id] = row; newFilteredFlatRows.push(row); } } } return rows; }; return { rows: recurseFilterRows(rowsToFilter), flatRows: newFilteredFlatRows, rowsById: newFilteredRowsById }; } function filterRowModelFromRoot(rowsToFilter, filterRow, table) { var _table$options$maxLea2; const newFilteredFlatRows = []; const newFilteredRowsById = {}; const maxDepth = (_table$options$maxLea2 = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea2 : 100; // Filters top level and nested rows const recurseFilterRows = function(rowsToFilter, depth) { if (depth === void 0) { depth = 0; } // Filter from parents downward first const rows = []; // Apply the filter to any subRows for(let i = 0; i < rowsToFilter.length; i++){ let row = rowsToFilter[i]; const pass = filterRow(row); if (pass) { var _row$subRows2; if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length && depth < maxDepth) { const newRow = createRow(table, row.id, row.original, row.index, row.depth, undefined, row.parentId); newRow.subRows = recurseFilterRows(row.subRows, depth + 1); row = newRow; } rows.push(row); newFilteredFlatRows.push(row); newFilteredRowsById[row.id] = row; } } return rows; }; return { rows: recurseFilterRows(rowsToFilter), flatRows: newFilteredFlatRows, rowsById: newFilteredRowsById }; } function getFacetedRowModel() { return (table, columnId)=>memo(()=>[ table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter, table.getFilteredRowModel() ], (preRowModel, columnFilters, globalFilter)=>{ if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) { return preRowModel; } const filterableIds = [ ...columnFilters.map((d)=>d.id).filter((d)=>d !== columnId), globalFilter ? '__global__' : undefined ].filter(Boolean); const filterRowsImpl = (row)=>{ // Horizontally filter rows through each column for(let i = 0; i < filterableIds.length; i++){ if (row.columnFilters[filterableIds[i]] === false) { return false; } } return true; }; return filterRows(preRowModel.rows, filterRowsImpl, table); }, getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel')); } function getFacetedUniqueValues() { return (table, columnId)=>memo(()=>{ var _table$getColumn; return [ (_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel() ]; }, (facetedRowModel)=>{ if (!facetedRowModel) return new Map(); let facetedUniqueValues = new Map(); for(let i = 0; i < facetedRowModel.flatRows.length; i++){ const values = facetedRowModel.flatRows[i].getUniqueValues(columnId); for(let j = 0; j < values.length; j++){ const value = values[j]; if (facetedUniqueValues.has(value)) { var _facetedUniqueValues$; facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1); } else { facetedUniqueValues.set(value, 1); } } } return facetedUniqueValues; }, getMemoOptions(table.options, 'debugTable', `getFacetedUniqueValues_${columnId}`)); } function getFilteredRowModel() { return (table)=>memo(()=>[ table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter ], (rowModel, columnFilters, globalFilter)=>{ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) { for(let i = 0; i < rowModel.flatRows.length; i++){ rowModel.flatRows[i].columnFilters = {}; rowModel.flatRows[i].columnFiltersMeta = {}; } return rowModel; } const resolvedColumnFilters = []; const resolvedGlobalFilters = []; (columnFilters != null ? columnFilters : []).forEach((d)=>{ var _filterFn$resolveFilt; const column = table.getColumn(d.id); if (!column) { return; } const filterFn = column.getFilterFn(); if (!filterFn) { if ("TURBOPACK compile-time truthy", 1) { console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`); } return; } resolvedColumnFilters.push({ id: d.id, filterFn, resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value }); }); const filterableIds = (columnFilters != null ? columnFilters : []).map((d)=>d.id); const globalFilterFn = table.getGlobalFilterFn(); const globallyFilterableColumns = table.getAllLeafColumns().filter((column)=>column.getCanGlobalFilter()); if (globalFilter && globalFilterFn && globallyFilterableColumns.length) { filterableIds.push('__global__'); globallyFilterableColumns.forEach((column)=>{ var _globalFilterFn$resol; resolvedGlobalFilters.push({ id: column.id, filterFn: globalFilterFn, resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter }); }); } let currentColumnFilter; let currentGlobalFilter; // Flag the prefiltered row model with each filter state for(let j = 0; j < rowModel.flatRows.length; j++){ const row = rowModel.flatRows[j]; row.columnFilters = {}; if (resolvedColumnFilters.length) { for(let i = 0; i < resolvedColumnFilters.length; i++){ currentColumnFilter = resolvedColumnFilters[i]; const id = currentColumnFilter.id; // Tag the row with the column filter state row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta)=>{ row.columnFiltersMeta[id] = filterMeta; }); } } if (resolvedGlobalFilters.length) { for(let i = 0; i < resolvedGlobalFilters.length; i++){ currentGlobalFilter = resolvedGlobalFilters[i]; const id = currentGlobalFilter.id; // Tag the row with the first truthy global filter state if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta)=>{ row.columnFiltersMeta[id] = filterMeta; })) { row.columnFilters.__global__ = true; break; } } if (row.columnFilters.__global__ !== true) { row.columnFilters.__global__ = false; } } } const filterRowsImpl = (row)=>{ // Horizontally filter rows through each column for(let i = 0; i < filterableIds.length; i++){ if (row.columnFilters[filterableIds[i]] === false) { return false; } } return true; }; // Filter final rows using all of the active filters return filterRows(rowModel.rows, filterRowsImpl, table); }, getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', ()=>table._autoResetPageIndex())); } function getGroupedRowModel() { return (table)=>memo(()=>[ table.getState().grouping, table.getPreGroupedRowModel() ], (grouping, rowModel)=>{ if (!rowModel.rows.length || !grouping.length) { rowModel.rows.forEach((row)=>{ row.depth = 0; row.parentId = undefined; }); return rowModel; } // Filter the grouping list down to columns that exist const existingGrouping = grouping.filter((columnId)=>table.getColumn(columnId)); const groupedFlatRows = []; const groupedRowsById = {}; // const onlyGroupedFlatRows: Row[] = []; // const onlyGroupedRowsById: Record = {}; // const nonGroupedFlatRows: Row[] = []; // const nonGroupedRowsById: Record = {}; // Recursively group the data const groupUpRecursively = function(rows, depth, parentId) { if (depth === void 0) { depth = 0; } // Grouping depth has been been met // Stop grouping and simply rewrite thd depth and row relationships if (depth >= existingGrouping.length) { return rows.map((row)=>{ row.depth = depth; groupedFlatRows.push(row); groupedRowsById[row.id] = row; if (row.subRows) { row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id); } return row; }); } const columnId = existingGrouping[depth]; // Group the rows together for this level const rowGroupsMap = groupBy(rows, columnId); // Perform aggregations for each group const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map((_ref, index)=>{ let [groupingValue, groupedRows] = _ref; let id = `${columnId}:${groupingValue}`; id = parentId ? `${parentId}>${id}` : id; // First, Recurse to group sub rows before aggregation const subRows = groupUpRecursively(groupedRows, depth + 1, id); subRows.forEach((subRow)=>{ subRow.parentId = id; }); // Flatten the leaf rows of the rows in this group const leafRows = depth ? flattenBy(groupedRows, (row)=>row.subRows) : groupedRows; const row = createRow(table, id, leafRows[0].original, index, depth, undefined, parentId); Object.assign(row, { groupingColumnId: columnId, groupingValue, subRows, leafRows, getValue: (columnId)=>{ // Don't aggregate columns that are in the grouping if (existingGrouping.includes(columnId)) { if (row._valuesCache.hasOwnProperty(columnId)) { return row._valuesCache[columnId]; } if (groupedRows[0]) { var _groupedRows$0$getVal; row._valuesCache[columnId] = (_groupedRows$0$getVal = groupedRows[0].getValue(columnId)) != null ? _groupedRows$0$getVal : undefined; } return row._valuesCache[columnId]; } if (row._groupingValuesCache.hasOwnProperty(columnId)) { return row._groupingValuesCache[columnId]; } // Aggregate the values const column = table.getColumn(columnId); const aggregateFn = column == null ? void 0 : column.getAggregationFn(); if (aggregateFn) { row._groupingValuesCache[columnId] = aggregateFn(columnId, leafRows, groupedRows); return row._groupingValuesCache[columnId]; } } }); subRows.forEach((subRow)=>{ groupedFlatRows.push(subRow); groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) { // onlyGroupedFlatRows.push(subRow); // onlyGroupedRowsById[subRow.id] = subRow; // } else { // nonGroupedFlatRows.push(subRow); // nonGroupedRowsById[subRow.id] = subRow; // } }); return row; }); return aggregatedGroupedRows; }; const groupedRows = groupUpRecursively(rowModel.rows, 0); groupedRows.forEach((subRow)=>{ groupedFlatRows.push(subRow); groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) { // onlyGroupedFlatRows.push(subRow); // onlyGroupedRowsById[subRow.id] = subRow; // } else { // nonGroupedFlatRows.push(subRow); // nonGroupedRowsById[subRow.id] = subRow; // } }); return { rows: groupedRows, flatRows: groupedFlatRows, rowsById: groupedRowsById }; }, getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', ()=>{ table._queue(()=>{ table._autoResetExpanded(); table._autoResetPageIndex(); }); })); } function groupBy(rows, columnId) { const groupMap = new Map(); return rows.reduce((map, row)=>{ const resKey = `${row.getGroupingValue(columnId)}`; const previous = map.get(resKey); if (!previous) { map.set(resKey, [ row ]); } else { previous.push(row); } return map; }, groupMap); } function getPaginationRowModel(opts) { return (table)=>memo(()=>[ table.getState().pagination, table.getPrePaginationRowModel(), table.options.paginateExpandedRows ? undefined : table.getState().expanded ], (pagination, rowModel)=>{ if (!rowModel.rows.length) { return rowModel; } const { pageSize, pageIndex } = pagination; let { rows, flatRows, rowsById } = rowModel; const pageStart = pageSize * pageIndex; const pageEnd = pageStart + pageSize; rows = rows.slice(pageStart, pageEnd); let paginatedRowModel; if (!table.options.paginateExpandedRows) { paginatedRowModel = expandRows({ rows, flatRows, rowsById }); } else { paginatedRowModel = { rows, flatRows, rowsById }; } paginatedRowModel.flatRows = []; const handleRow = (row)=>{ paginatedRowModel.flatRows.push(row); if (row.subRows.length) { row.subRows.forEach(handleRow); } }; paginatedRowModel.rows.forEach(handleRow); return paginatedRowModel; }, getMemoOptions(table.options, 'debugTable', 'getPaginationRowModel')); } function getSortedRowModel() { return (table)=>memo(()=>[ table.getState().sorting, table.getPreSortedRowModel() ], (sorting, rowModel)=>{ if (!rowModel.rows.length || !(sorting != null && sorting.length)) { return rowModel; } const sortingState = table.getState().sorting; const sortedFlatRows = []; // Filter out sortings that correspond to non existing columns const availableSorting = sortingState.filter((sort)=>{ var _table$getColumn; return (_table$getColumn = table.getColumn(sort.id)) == null ? void 0 : _table$getColumn.getCanSort(); }); const columnInfoById = {}; availableSorting.forEach((sortEntry)=>{ const column = table.getColumn(sortEntry.id); if (!column) return; columnInfoById[sortEntry.id] = { sortUndefined: column.columnDef.sortUndefined, invertSorting: column.columnDef.invertSorting, sortingFn: column.getSortingFn() }; }); const sortData = (rows)=>{ // This will also perform a stable sorting using the row index // if needed. const sortedData = rows.map((row)=>({ ...row })); sortedData.sort((rowA, rowB)=>{ for(let i = 0; i < availableSorting.length; i += 1){ var _sortEntry$desc; const sortEntry = availableSorting[i]; const columnInfo = columnInfoById[sortEntry.id]; const sortUndefined = columnInfo.sortUndefined; const isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false; let sortInt = 0; // All sorting ints should always return in ascending order if (sortUndefined) { const aValue = rowA.getValue(sortEntry.id); const bValue = rowB.getValue(sortEntry.id); const aUndefined = aValue === undefined; const bUndefined = bValue === undefined; if (aUndefined || bUndefined) { if (sortUndefined === 'first') return aUndefined ? -1 : 1; if (sortUndefined === 'last') return aUndefined ? 1 : -1; sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined; } } if (sortInt === 0) { sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id); } // If sorting is non-zero, take care of desc and inversion if (sortInt !== 0) { if (isDesc) { sortInt *= -1; } if (columnInfo.invertSorting) { sortInt *= -1; } return sortInt; } } return rowA.index - rowB.index; }); // If there are sub-rows, sort them sortedData.forEach((row)=>{ var _row$subRows; sortedFlatRows.push(row); if ((_row$subRows = row.subRows) != null && _row$subRows.length) { row.subRows = sortData(row.subRows); } }); return sortedData; }; return { rows: sortData(rowModel.rows), flatRows: sortedFlatRows, rowsById: rowModel.rowsById }; }, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', ()=>table._autoResetPageIndex())); } ; //# sourceMappingURL=index.mjs.map }), "[project]/coding/projects/LangBot/web/node_modules/@tanstack/react-table/build/lib/index.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "flexRender", ()=>flexRender, "useReactTable", ()=>useReactTable ]); /** * react-table * * Copyright (c) TanStack * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */ 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$tanstack$2f$table$2d$core$2f$build$2f$lib$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/@tanstack/table-core/build/lib/index.mjs [app-client] (ecmascript)"); ; ; ; // /** * If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`. */ function flexRender(Comp, props) { return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createElement"](Comp, props) : Comp; } function isReactComponent(component) { return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component); } function isClassComponent(component) { return typeof component === 'function' && (()=>{ const proto = Object.getPrototypeOf(component); return proto.prototype && proto.prototype.isReactComponent; })(); } function isExoticComponent(component) { return typeof component === 'object' && typeof component.$$typeof === 'symbol' && [ 'react.memo', 'react.forward_ref' ].includes(component.$$typeof.description); } function useReactTable(options) { // Compose in the generic options to the user options const resolvedOptions = { state: {}, // Dummy state onStateChange: ()=>{}, // noop renderFallbackValue: null, ...options }; // Create a new table and store it in state const [tableRef] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "useReactTable.useState": ()=>({ current: (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f40$tanstack$2f$table$2d$core$2f$build$2f$lib$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createTable"])(resolvedOptions) }) }["useReactTable.useState"]); // By default, manage table state here using the table's initial state const [state, setState] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "useReactTable.useState": ()=>tableRef.current.initialState }["useReactTable.useState"]); // Compose the default state above with any user state. This will allow the user // to only control a subset of the state if desired. tableRef.current.setOptions((prev)=>({ ...prev, ...options, state: { ...state, ...options.state }, // Similarly, we'll maintain both our internal state and any user-provided // state. onStateChange: (updater)=>{ setState(updater); options.onStateChange == null || options.onStateChange(updater); } })); return tableRef.current; } ; //# sourceMappingURL=index.mjs.map }), "[project]/coding/projects/LangBot/web/node_modules/uuidjs/dist/uuid.js [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "UUID", ()=>UUID ]); /** * UUID.js - RFC-compliant UUID Generator for JavaScript * * @author LiosK * @version v5.1.0 * @license Apache License 2.0: Copyright (c) 2010-2024 LiosK * @packageDocumentation */ var _a; class UUID { // Core Component {{{ /** * Generates a UUIDv4 as a hexadecimal string. * @returns The hexadecimal UUID string. */ static generate() { var rand = _a._getRandomInt, hex = _a._hexAligner; return hex(rand(32), 8) + // time_low "-" + hex(rand(16), 4) + // time_mid "-" + hex(0x4000 | rand(12), 4) + // time_hi_and_version "-" + hex(0x8000 | rand(14), 4) + // clock_seq_hi_and_reserved clock_seq_low "-" + hex(rand(48), 12) // node ; } /** * Returns an unsigned `x`-bit random integer. * @param x - An unsigned integer ranging from 0 to 53, inclusive. * @returns An unsigned `x`-bit random integer (`0 <= f(x) < 2^x`). */ static _getRandomInt(x) { if (x < 0 || x > 53) { return NaN; } var n = 0 | Math.random() * 0x40000000; // 1 << 30 return x > 30 ? n + (0 | Math.random() * (1 << x - 30)) * 0x40000000 : n >>> 30 - x; } /** * Converts an integer to a zero-filled hexadecimal string. */ static _hexAligner(num, length) { var str = num.toString(16), i = length - str.length, z = "0"; for(; i > 0; i >>>= 1, z += z){ if (i & 1) { str = z + str; } } return str; } /** * Enables Math.random()-based pseudorandom number generator instead of cryptographically safer options. * @since v3.5.0 * @deprecated This method is provided only to work around performance drawbacks of the safer algorithms. */ static useMathRandom() { _a._getRandomInt = _a._mathPRNG; } /** * Creates a UUIDv4 object. * @returns A UUIDv4 object. * @since 3.0 */ static genV4() { var rand = _a._getRandomInt; return new _a(rand(32), rand(16), 0x4000 | rand(12), 0x80 | rand(6), rand(8), rand(48)); } /** * Converts a hexadecimal UUID string to a UUID object. * @param strId - A hexadecimal UUID string ("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"). * @returns The UUID object or `null`. * @since 3.0 */ static parse(strId) { var r, p = /^\s*(urn:uuid:|\{)?([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{2})([0-9a-f]{2})-([0-9a-f]{12})(\})?\s*$/i; if (r = p.exec(strId)) { var l = r[1] || "", t = r[8] || ""; if (l + t === "" || l === "{" && t === "}" || l.toLowerCase() === "urn:uuid:" && t === "") { return new _a(parseInt(r[2], 16), parseInt(r[3], 16), parseInt(r[4], 16), parseInt(r[5], 16), parseInt(r[6], 16), parseInt(r[7], 16)); } } return null; } /** * Initializes the UUID object. * @param _timeLow - The time_low field (octet 0-3, uint32). * @param _timeMid - The time_mid field (octet 4-5, uint16). * @param _timeHiAndVersion - The time_hi_and_version field (octet 6-7, uint16). * @param _clockSeqHiAndReserved - The clock_seq_hi_and_reserved field (octet 8, uint8). * @param _clockSeqLow - The clock_seq_low field (octet 9, uint8). * @param _node - The node field (octet 10-15, uint48). */ constructor(_timeLow, _timeMid, _timeHiAndVersion, _clockSeqHiAndReserved, _clockSeqLow, _node){ var names = _a.FIELD_NAMES, sizes = _a.FIELD_SIZES; var bin = _a._binAligner, hex = _a._hexAligner; // @ts-ignore this.intFields = new Array(6); // @ts-ignore this.bitFields = new Array(6); // @ts-ignore this.hexFields = new Array(6); for(var i = 0; i < 6; i++){ var intValue = parseInt(arguments[i] || 0); // @ts-ignore this.intFields[i] = this.intFields[names[i]] = intValue; // @ts-ignore this.bitFields[i] = this.bitFields[names[i]] = bin(intValue, sizes[i]); // @ts-ignore this.hexFields[i] = this.hexFields[names[i]] = hex(intValue, sizes[i] >>> 2); } this.version = this.intFields.timeHiAndVersion >>> 12 & 0xf; this.bitString = this.bitFields.join(""); this.hexNoDelim = this.hexFields.join(""); this.hexString = this.hexFields[0] + "-" + this.hexFields[1] + "-" + this.hexFields[2] + "-" + this.hexFields[3] + this.hexFields[4] + "-" + this.hexFields[5]; this.urn = "urn:uuid:" + this.hexString; } /** * Converts an integer to a zero-filled binary string. */ static _binAligner(num, length) { var str = num.toString(2), i = length - str.length, z = "0"; for(; i > 0; i >>>= 1, z += z){ if (i & 1) { str = z + str; } } return str; } /** * Returns the hexadecimal string representation. * @returns {@link UUID#hexString}. */ toString() { return this.hexString; } /** * Tests if two UUID objects are equal. * @returns `true` if two UUID objects are equal. */ equals(uuid) { if (!(uuid instanceof _a)) { return false; } for(var i = 0; i < 6; i++){ if (this.intFields[i] !== uuid.intFields[i]) { return false; } } return true; } // }}} // UUIDv1 Component (1 of 2) {{{ /** * Creates a UUIDv1 object. * @returns A UUIDv1 object. * @since 3.0 */ static genV1() { if (_a._state == null) { _a._state = new UUIDState(); } var now = new Date().getTime(), st = _a._state; if (now != st.timestamp) { if (now < st.timestamp) { st.sequence++; } st.timestamp = now; st.tick = _a._getRandomInt(12); // up to 4095, allowing 5904 tick per msec } else if (st.tick < 9992) { // advance sub-millisecond fraction up to 9999 100-nanoseconds st.tick += 1 + _a._getRandomInt(3); } else { // advance seq if tick overflows in remote chance st.sequence++; } // format time fields var tf = _a._getTimeFieldValues(st.timestamp); var tl = tf.low + st.tick; var thav = tf.hi & 0xfff | 0x1000; // set version '0001' // format clock sequence st.sequence &= 0x3fff; var cshar = st.sequence >>> 8 | 0x80; // set variant '10' var csl = st.sequence & 0xff; return new _a(tl, tf.mid, thav, cshar, csl, st.node); } /** * Re-initializes the internal state for UUIDv1 and UUIDv6 creation. * @since 3.0 */ static resetState() { _a._state = new UUIDState(); } /** * @param time - The number of milliseconds elapsed since 1970-01-01. */ static _getTimeFieldValues(time) { var ts = time - Date.UTC(1582, 9, 15); var hm = ts / 0x100000000 * 10000 & 0xfffffff; return { low: (ts & 0xfffffff) * 10000 % 0x100000000, mid: hm & 0xffff, hi: hm >>> 16, timestamp: ts }; } // }}} // UUIDv6 Component {{{ /** * Creates a UUIDv6 object. * @returns A UUIDv6 object. * @since v4.2.13 */ static genV6() { if (_a._state == null) { _a._state = new UUIDState(); } var now = new Date().getTime(), st = _a._state; if (now != st.timestamp) { if (now < st.timestamp) { st.sequence++; } st.timestamp = now; st.tick = _a._getRandomInt(12); // up to 4095, allowing 5904 tick per msec } else if (st.tick < 9992) { // advance sub-millisecond fraction up to 9999 100-nanoseconds st.tick += 1 + _a._getRandomInt(3); } else { // advance seq if tick overflows in remote chance st.sequence++; } // format time fields var ts = st.timestamp - Date.UTC(1582, 9, 15); var th = Math.floor(ts / 0x10000000 * 10000) % 0x100000000; var midlow = ((ts & 0xfffffff) * 10000 & 0xfffffff) + st.tick; var tm = midlow >>> 12; var tlav = midlow & 0xfff | 0x6000; // set version '0110' // format clock sequence st.sequence &= 0x3fff; var cshar = st.sequence >>> 8 | 0x80; // set variant '10' var csl = st.sequence & 0xff; return new _a(th, tm, tlav, cshar, csl, st.node); } } _a = UUID; // }}} // Advanced Random Number Generator Component {{{ UUID._mathPRNG = _a._getRandomInt; (()=>{ if (typeof crypto !== "undefined" && crypto.getRandomValues) { // Web Cryptography API _a._getRandomInt = (x)=>{ if (x < 0 || x > 53) { return NaN; } var ns = new Uint32Array(x > 32 ? 2 : 1); crypto.getRandomValues(ns); return x > 32 ? ns[0] + (ns[1] >>> 64 - x) * 0x100000000 : ns[0] >>> 32 - x; }; } })(); // }}} // UUID Object Component {{{ /** * The names of UUID internal fields. * * Note that these internal fields from the obsolete RFC 4122 are no longer * used in the current RFC 9562. * @since 3.0 */ UUID.FIELD_NAMES = [ "timeLow", "timeMid", "timeHiAndVersion", "clockSeqHiAndReserved", "clockSeqLow", "node" ]; /** * The sizes of UUID internal fields. * * Note that these internal fields from the obsolete RFC 4122 are no longer * used in the current RFC 9562. * @since 3.0 */ UUID.FIELD_SIZES = [ 32, 16, 16, 8, 8, 48 ]; /** * A nil UUID object. * @since v3.4.0 */ UUID.NIL = new _a(0, 0, 0, 0, 0, 0); /** * The persistent internal state for UUIDv1 and UUIDv6 creation. */ UUID._state = null; // UUIDv1 Component (2 of 2) {{{ class UUIDState { constructor(){ // @ts-ignore var rand = UUID._getRandomInt; this.timestamp = 0; this.tick = 0; // timestamp fraction smaller than a millisecond this.sequence = rand(14); this.node = (rand(8) | 1) * 0x10000000000 + rand(40); // set multicast bit '1' } } // }}} // vim: fdm=marker fmr& }), "[project]/coding/projects/LangBot/web/node_modules/@radix-ui/react-hover-card/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Arrow", ()=>Arrow2, "Content", ()=>Content2, "HoverCard", ()=>HoverCard, "HoverCardArrow", ()=>HoverCardArrow, "HoverCardContent", ()=>HoverCardContent, "HoverCardPortal", ()=>HoverCardPortal, "HoverCardTrigger", ()=>HoverCardTrigger, "Portal", ()=>Portal, "Root", ()=>Root2, "Trigger", ()=>Trigger, "createHoverCardScope", ()=>createHoverCardScope ]); // src/hover-card.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$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$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$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$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$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$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 originalBodyUserSelect; var HOVERCARD_NAME = "HoverCard"; var [createHoverCardContext, createHoverCardScope] = (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"])(HOVERCARD_NAME, [ __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 [HoverCardProvider, useHoverCardContext] = createHoverCardContext(HOVERCARD_NAME); var HoverCard = (props)=>{ const { __scopeHoverCard, children, open: openProp, defaultOpen, onOpenChange, openDelay = 700, closeDelay = 300 } = props; const popperScope = usePopperScope(__scopeHoverCard); 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 closeTimerRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 hasSelectionRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 isPointerDownOnContentRef = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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: onOpenChange, caller: HOVERCARD_NAME }); 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"]({ "HoverCard.useCallback[handleOpen]": ()=>{ clearTimeout(closeTimerRef.current); openTimerRef.current = window.setTimeout({ "HoverCard.useCallback[handleOpen]": ()=>setOpen(true) }["HoverCard.useCallback[handleOpen]"], openDelay); } }["HoverCard.useCallback[handleOpen]"], [ openDelay, 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"]({ "HoverCard.useCallback[handleClose]": ()=>{ clearTimeout(openTimerRef.current); if (!hasSelectionRef.current && !isPointerDownOnContentRef.current) { closeTimerRef.current = window.setTimeout({ "HoverCard.useCallback[handleClose]": ()=>setOpen(false) }["HoverCard.useCallback[handleClose]"], closeDelay); } } }["HoverCard.useCallback[handleClose]"], [ closeDelay, setOpen ]); const handleDismiss = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "HoverCard.useCallback[handleDismiss]": ()=>setOpen(false) }["HoverCard.useCallback[handleDismiss]"], [ 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"]({ "HoverCard.useEffect": ()=>{ return ({ "HoverCard.useEffect": ()=>{ clearTimeout(openTimerRef.current); clearTimeout(closeTimerRef.current); } })["HoverCard.useEffect"]; } }["HoverCard.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"])(HoverCardProvider, { scope: __scopeHoverCard, open, onOpenChange: setOpen, onOpen: handleOpen, onClose: handleClose, onDismiss: handleDismiss, hasSelectionRef, isPointerDownOnContentRef, 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$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Root"], { ...popperScope, children }) }); }; HoverCard.displayName = HOVERCARD_NAME; var TRIGGER_NAME = "HoverCardTrigger"; var HoverCardTrigger = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeHoverCard, ...triggerProps } = props; const context = useHoverCardContext(TRIGGER_NAME, __scopeHoverCard); const popperScope = usePopperScope(__scopeHoverCard); 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"].a, { "data-state": context.open ? "open" : "closed", ...triggerProps, 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, excludeTouch(context.onOpen)), 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, excludeTouch(context.onClose)), 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, 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), onTouchStart: (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.onTouchStart, (event)=>event.preventDefault()) }) }); }); HoverCardTrigger.displayName = TRIGGER_NAME; var PORTAL_NAME = "HoverCardPortal"; var [PortalProvider, usePortalContext] = createHoverCardContext(PORTAL_NAME, { forceMount: void 0 }); var HoverCardPortal = (props)=>{ const { __scopeHoverCard, forceMount, children, container } = props; const context = useHoverCardContext(PORTAL_NAME, __scopeHoverCard); 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: __scopeHoverCard, 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 }) }) }); }; HoverCardPortal.displayName = PORTAL_NAME; var CONTENT_NAME = "HoverCardContent"; var HoverCardContent = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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.__scopeHoverCard); const { forceMount = portalContext.forceMount, ...contentProps } = props; const context = useHoverCardContext(CONTENT_NAME, props.__scopeHoverCard); 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: /* @__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"])(HoverCardContentImpl, { "data-state": context.open ? "open" : "closed", ...contentProps, 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, excludeTouch(context.onOpen)), 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, excludeTouch(context.onClose)), ref: forwardedRef }) }); }); HoverCardContent.displayName = CONTENT_NAME; var HoverCardContentImpl = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeHoverCard, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, ...contentProps } = props; const context = useHoverCardContext(CONTENT_NAME, __scopeHoverCard); const popperScope = usePopperScope(__scopeHoverCard); 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 [containSelection, setContainSelection] = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "HoverCardContentImpl.useEffect": ()=>{ if (containSelection) { const body = document.body; originalBodyUserSelect = body.style.userSelect || body.style.webkitUserSelect; body.style.userSelect = "none"; body.style.webkitUserSelect = "none"; return ({ "HoverCardContentImpl.useEffect": ()=>{ body.style.userSelect = originalBodyUserSelect; body.style.webkitUserSelect = originalBodyUserSelect; } })["HoverCardContentImpl.useEffect"]; } } }["HoverCardContentImpl.useEffect"], [ containSelection ]); __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "HoverCardContentImpl.useEffect": ()=>{ if (ref.current) { const handlePointerUp = { "HoverCardContentImpl.useEffect.handlePointerUp": ()=>{ setContainSelection(false); context.isPointerDownOnContentRef.current = false; setTimeout({ "HoverCardContentImpl.useEffect.handlePointerUp": ()=>{ const hasSelection = document.getSelection()?.toString() !== ""; if (hasSelection) context.hasSelectionRef.current = true; } }["HoverCardContentImpl.useEffect.handlePointerUp"]); } }["HoverCardContentImpl.useEffect.handlePointerUp"]; document.addEventListener("pointerup", handlePointerUp); return ({ "HoverCardContentImpl.useEffect": ()=>{ document.removeEventListener("pointerup", handlePointerUp); context.hasSelectionRef.current = false; context.isPointerDownOnContentRef.current = false; } })["HoverCardContentImpl.useEffect"]; } } }["HoverCardContentImpl.useEffect"], [ context.isPointerDownOnContentRef, context.hasSelectionRef ]); __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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"]({ "HoverCardContentImpl.useEffect": ()=>{ if (ref.current) { const tabbables = getTabbableNodes(ref.current); tabbables.forEach({ "HoverCardContentImpl.useEffect": (tabbable)=>tabbable.setAttribute("tabindex", "-1") }["HoverCardContentImpl.useEffect"]); } } }["HoverCardContentImpl.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$dismissable$2d$layer$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["DismissableLayer"], { asChild: true, disableOutsidePointerEvents: false, onInteractOutside, onEscapeKeyDown, onPointerDownOutside, onFocusOutside: (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"])(onFocusOutside, (event)=>{ event.preventDefault(); }), onDismiss: context.onDismiss, 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$popper$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Content"], { ...popperScope, ...contentProps, 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"])(contentProps.onPointerDown, (event)=>{ if (event.currentTarget.contains(event.target)) { setContainSelection(true); } context.hasSelectionRef.current = false; context.isPointerDownOnContentRef.current = true; }), ref: composedRefs, style: { ...contentProps.style, userSelect: containSelection ? "text" : void 0, // Safari requires prefix WebkitUserSelect: containSelection ? "text" : void 0, // re-namespace exposed content custom properties ...{ "--radix-hover-card-content-transform-origin": "var(--radix-popper-transform-origin)", "--radix-hover-card-content-available-width": "var(--radix-popper-available-width)", "--radix-hover-card-content-available-height": "var(--radix-popper-available-height)", "--radix-hover-card-trigger-width": "var(--radix-popper-anchor-width)", "--radix-hover-card-trigger-height": "var(--radix-popper-anchor-height)" } } }) }); }); var ARROW_NAME = "HoverCardArrow"; var HoverCardArrow = __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$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 { __scopeHoverCard, ...arrowProps } = props; const popperScope = usePopperScope(__scopeHoverCard); 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$__["Arrow"], { ...popperScope, ...arrowProps, ref: forwardedRef }); }); HoverCardArrow.displayName = ARROW_NAME; function excludeTouch(eventHandler) { return (event)=>event.pointerType === "touch" ? void 0 : eventHandler(); } function getTabbableNodes(container) { const nodes = []; const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, { acceptNode: (node)=>{ return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; } }); while(walker.nextNode())nodes.push(walker.currentNode); return nodes; } var Root2 = HoverCard; var Trigger = HoverCardTrigger; var Portal = HoverCardPortal; var Content2 = HoverCardContent; var Arrow2 = HoverCardArrow; ; //# sourceMappingURL=index.mjs.map }), ]); //# sourceMappingURL=a2e30_0a0c9653._.js.map