Files
NapCatQQ/.pnpm-store/v3/files/72/db52a6ec21802d3a2fa11e2ca8bcc96857a724218dbf896e7244cfa5fa61243502b3d2f4a2ca5bc0472d66805cbf00bf6b3f4dc29b7e59b998337405df4d52
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

42 lines
1.5 KiB
Plaintext

"use client";
import {
usePopoverContext
} from "./chunk-CGIRYUEE.mjs";
// src/popover-trigger.tsx
import { Children, cloneElement, useMemo } from "react";
import { pickChildren } from "@heroui/react-utils";
import { useAriaButton } from "@heroui/use-aria-button";
import { Button } from "@heroui/button";
import { mergeProps } from "@react-aria/utils";
import { jsx } from "react/jsx-runtime";
var PopoverTrigger = (props) => {
var _a;
const { triggerRef, getTriggerProps } = usePopoverContext();
const { children, ...otherProps } = props;
const child = useMemo(() => {
if (typeof children === "string")
return /* @__PURE__ */ jsx("p", { children });
return Children.only(children);
}, [children]);
const childRef = (_a = child.props.ref) != null ? _a : child.ref;
const { onPress, isDisabled, ...restProps } = useMemo(() => {
return getTriggerProps(mergeProps(otherProps, child.props), childRef);
}, [getTriggerProps, child.props, otherProps, childRef]);
const [, triggerChildren] = pickChildren(children, Button);
const { buttonProps } = useAriaButton({ onPress, isDisabled }, triggerRef);
const hasHeroUIButton = useMemo(() => {
return (triggerChildren == null ? void 0 : triggerChildren[0]) !== void 0;
}, [triggerChildren]);
return cloneElement(
child,
mergeProps(restProps, hasHeroUIButton ? { onPress, isDisabled } : buttonProps)
);
};
PopoverTrigger.displayName = "HeroUI.PopoverTrigger";
var popover_trigger_default = PopoverTrigger;
export {
popover_trigger_default
};