@kadoui/react
Version:
Kadoui primitive components for React
15 lines (14 loc) • 550 B
JavaScript
"use client";
import { jsx as _jsx } from "react/jsx-runtime";
import { use } from "react";
import { PopoverContext } from "./PopoverContext";
export function PopoverToggle({ onClick, ...props }) {
const { mode, toggleRef, isOpen, setOpen } = use(PopoverContext);
return (_jsx("button", { ref: toggleRef, "data-state": isOpen, onClick: (ev) => {
onClick?.(ev);
ev.stopPropagation();
if (["click", "both"].includes(mode)) {
setOpen((prev) => !prev);
}
}, ...props }));
}