"use client"; import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, } from "@/ui"; import { CellContext, Row } from "@tanstack/react-table"; import { t } from "i18next"; import { MoreHorizontalIcon } from "lucide-react"; type DataTableRowActionContext = CellContext & { row: Row; }; export type DataTablaRowActionFunction = ( props: DataTableRowActionContext ) => DataTableRowActionDefinition[]; export type DataTableRowActionDefinition = { label: string | "-"; shortcut?: string; onClick?: (props: DataTableRowActionContext, e: React.BaseSyntheticEvent) => void; }; export type DataTableRowActionsProps = { actions?: DataTablaRowActionFunction; row?: DataTableRowActionContext; }; export function DataTableRowActions({ actions, ...props }: DataTableRowActionsProps) { return ( {t("common.actions")} {actions && actions(props).map((action, index) => action.label === "-" ? ( ) : ( (action.onClick ? action.onClick(props, event) : null)} > {action.label} {action.shortcut} ) )} ); }