"use client"; import { forwardRef } from "react"; import type { ActionButtonProps } from "../../utils/createActionButton"; import { composeEventHandlers } from "@radix-ui/primitive"; import { useAuiState } from "@assistant-ui/store"; import { Primitive } from "../../utils/Primitive"; import { useActionBarFeedbackPositive as useActionBarFeedbackPositiveBehavior } from "@assistant-ui/core/react"; const useActionBarFeedbackPositive = () => { const { submit } = useActionBarFeedbackPositiveBehavior(); return submit; }; export namespace ActionBarPrimitiveFeedbackPositive { export type Element = HTMLButtonElement; export type Props = ActionButtonProps; } export const ActionBarPrimitiveFeedbackPositive = forwardRef< ActionBarPrimitiveFeedbackPositive.Element, ActionBarPrimitiveFeedbackPositive.Props >(({ onClick, disabled, ...props }, forwardedRef) => { const isSubmitted = useAuiState( (s) => s.message.metadata.submittedFeedback?.type === "positive", ); const callback = useActionBarFeedbackPositive(); return ( { callback?.(); })} /> ); }); ActionBarPrimitiveFeedbackPositive.displayName = "ActionBarPrimitive.FeedbackPositive";