@assistant-ui/react
Version:
Typescript/React library for AI Chat
37 lines • 1.27 kB
JavaScript
"use client";
import { jsx } from "react/jsx-runtime";
import { forwardRef, useCallback } from "react";
import { composeEventHandlers } from "@radix-ui/primitive";
import { useMessage, useMessageRuntime } from "../../context";
import { Primitive } from "@radix-ui/react-primitive";
const useActionBarFeedbackPositive = () => {
const messageRuntime = useMessageRuntime();
const callback = useCallback(() => {
messageRuntime.submitFeedback({ type: "positive" });
}, [messageRuntime]);
return callback;
};
const ActionBarPrimitiveFeedbackPositive = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
const isSubmitted = useMessage(
(u) => u.submittedFeedback?.type === "positive"
);
const callback = useActionBarFeedbackPositive();
return /* @__PURE__ */ jsx(
Primitive.button,
{
type: "button",
...isSubmitted ? { "data-submitted": "true" } : {},
...props,
ref: forwardedRef,
disabled: disabled || !callback,
onClick: composeEventHandlers(onClick, () => {
callback?.();
})
}
);
});
ActionBarPrimitiveFeedbackPositive.displayName = "ActionBarPrimitive.FeedbackPositive";
export {
ActionBarPrimitiveFeedbackPositive
};
//# sourceMappingURL=ActionBarFeedbackPositive.js.map