"use client" import { Button } from "@/components/ui/button" import { Tip } from "@/components/ui/tip" import { cn } from "@/lib/utils" /** Parent must use this class so a non-favorited star reveals on row/cell hover. */ export const FAVORITE_HOVER_GROUP = "group/favcell" /** * Row-shape-agnostic favorite star toggle — one implementation shared by * every table that has a `favoriteFilter` name/title column (library * questions, course forms, course reports, …). Row-typed wrappers (e.g. * `LibraryFavoriteButton`) compose this instead of re-implementing the same * icon/opacity/hover chrome per row shape (`exxat-reuse-before-custom.mdc`). */ export function FavoriteToggleButton({ isFavorite, onToggle, label, stopPropagation = true, }: { isFavorite: boolean onToggle: () => void /** Item name folded into the accessible label ("Remove