"use client" import * as React from "react" import { type Table } from "@tanstack/react-table" import { Check, ChevronsUpDown, MoveLeft } from "lucide-react" import { cn, toSentenceCase } from "@/lib/utils" import { Button } from "@/components/ui/button" import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from "@/components/ui/command" import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover" /** * “Pin Left” Popover. Lists columns that can be pinned. * If pinned===‘left’ → checked, if pinned!==‘left’ → unchecked. * Toggling check => pin(‘left’) or pin(false). */ export function PinLeftButton({ table }: { table: Table }) { const [open, setOpen] = React.useState(false) const triggerRef = React.useRef(null) return ( triggerRef.current?.focus()} > No columns found. {table .getAllLeafColumns() .filter((col) => col.getCanPin?.()) .map((column) => { const pinned = column.getIsPinned?.() // 'left'|'right'|false // => pinned === 'left' => checked return ( { // if currently pinned===left => unpin // else => pin left column.pin?.(pinned === "left" ? false : "left") }} > {toSentenceCase(column.id)} {/* Check if pinned===‘left’ */} ) })} ) }