@assistant-ui/react
Version:
React components for AI chat.
31 lines (30 loc) • 1.08 kB
JavaScript
"use client";
// src/primitives/actionBar/ActionBarCopy.tsx
import { forwardRef } from "react";
import { useActionBarCopy } from "../../primitive-hooks/actionBar/useActionBarCopy.mjs";
import { composeEventHandlers } from "@radix-ui/primitive";
import { Primitive } from "@radix-ui/react-primitive";
import { useMessageUtils } from "../../context/index.mjs";
import { jsx } from "react/jsx-runtime";
var ActionBarPrimitiveCopy = forwardRef(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {
const isCopied = useMessageUtils((u) => u.isCopied);
const callback = useActionBarCopy({ copiedDuration });
return /* @__PURE__ */ jsx(
Primitive.button,
{
type: "button",
...isCopied ? { "data-copied": "true" } : {},
...props,
ref: forwardedRef,
disabled: disabled || !callback,
onClick: composeEventHandlers(onClick, () => {
callback?.();
})
}
);
});
ActionBarPrimitiveCopy.displayName = "ActionBarPrimitive.Copy";
export {
ActionBarPrimitiveCopy
};
//# sourceMappingURL=ActionBarCopy.mjs.map