UNPKG

@assistant-ui/react

Version:

Open-source TypeScript/React library for building production-grade AI chat experiences

121 lines (120 loc) • 3.16 kB
"use client"; import { useActionBarInteractionContext } from "../actionBar/ActionBarInteractionContext.js"; import { useDropdownMenuScope } from "./scope.js"; import { c } from "@assistant-ui/tap/react-shim/compiler-runtime"; import { useEffect, useRef } from "@assistant-ui/tap/react-shim"; import { jsx } from "react/jsx-runtime"; import { DropdownMenu } from "radix-ui"; // src/primitives/actionBarMore/ActionBarMoreRoot.tsx const ActionBarMorePrimitiveRoot = (t0) => { const $ = c(25); let __scopeActionBarMore; let onOpenChange; let open; let rest; if ($[0] !== t0) { ({__scopeActionBarMore, open, onOpenChange, ...rest} = t0); $[0] = t0; $[1] = __scopeActionBarMore; $[2] = onOpenChange; $[3] = open; $[4] = rest; } else { __scopeActionBarMore = $[1]; onOpenChange = $[2]; open = $[3]; rest = $[4]; } const scope = useDropdownMenuScope(__scopeActionBarMore); const actionBarInteraction = useActionBarInteractionContext(); const releaseInteractionLockRef = useRef(null); const isControlled = open !== void 0; let t1; if ($[5] !== actionBarInteraction) { t1 = (nextOpen) => { if (nextOpen) { if (releaseInteractionLockRef.current) return; releaseInteractionLockRef.current = actionBarInteraction?.acquireInteractionLock() ?? null; return; } releaseInteractionLockRef.current?.(); releaseInteractionLockRef.current = null; }; $[5] = actionBarInteraction; $[6] = t1; } else t1 = $[6]; const setInteractionOpen = t1; let t2; if ($[7] !== isControlled || $[8] !== onOpenChange || $[9] !== setInteractionOpen) { t2 = (nextOpen_0) => { if (!isControlled) setInteractionOpen(nextOpen_0); onOpenChange?.(nextOpen_0); }; $[7] = isControlled; $[8] = onOpenChange; $[9] = setInteractionOpen; $[10] = t2; } else t2 = $[10]; const handleOpenChange = t2; let t3; let t4; if ($[11] !== isControlled || $[12] !== open || $[13] !== setInteractionOpen) { t3 = () => { if (!isControlled) return; setInteractionOpen(Boolean(open)); }; t4 = [ isControlled, open, setInteractionOpen ]; $[11] = isControlled; $[12] = open; $[13] = setInteractionOpen; $[14] = t3; $[15] = t4; } else { t3 = $[14]; t4 = $[15]; } useEffect(t3, t4); let t5; let t6; if ($[16] === Symbol.for("react.memo_cache_sentinel")) { t5 = () => () => { releaseInteractionLockRef.current?.(); releaseInteractionLockRef.current = null; }; t6 = []; $[16] = t5; $[17] = t6; } else { t5 = $[16]; t6 = $[17]; } useEffect(t5, t6); let t7; if ($[18] !== open) { t7 = open !== void 0 ? { open } : null; $[18] = open; $[19] = t7; } else t7 = $[19]; let t8; if ($[20] !== handleOpenChange || $[21] !== rest || $[22] !== scope || $[23] !== t7) { t8 = /* @__PURE__ */ jsx(DropdownMenu.Root, { ...scope, ...rest, ...t7, onOpenChange: handleOpenChange }); $[20] = handleOpenChange; $[21] = rest; $[22] = scope; $[23] = t7; $[24] = t8; } else t8 = $[24]; return t8; }; ActionBarMorePrimitiveRoot.displayName = "ActionBarMorePrimitive.Root"; export { ActionBarMorePrimitiveRoot }; //# sourceMappingURL=ActionBarMoreRoot.js.map