← Files Codex Security CloudARCHIVED FILE
.internal/defense-factory-ui/src/workbench/sort-header.tsx
1.25 KB · Oct 4, 2026 · 12:24 UTC
import { ArrowUp as ArrowUpIcon } from "@oai/ds/icons/arrow-up";
import type React from "react";
interface PageTableSortHeaderButtonProps {
active: boolean;
direction: "asc" | "desc";
disabled?: boolean;
onClick: () => void;
className?: string;
children: React.ReactNode;
}
export const PageTableSortHeaderButton = ({
active,
direction,
disabled,
onClick,
className,
children,
}: PageTableSortHeaderButtonProps) => {
"use forget";
return (
<button
type="button"
aria-pressed={active}
disabled={disabled}
onClick={onClick}
className={[
"focus-visible:outline-2 focus-visible:outline-offset-4 flex items-center gap-1 text-start outline-none",
className,
]
.flat()
.filter(Boolean)
.join(" ")}
data-page-table-header-focus-target="true"
data-page-table-header-cell-focus-target="true"
>
{children}
{active && (
<ArrowUpIcon
aria-hidden="true"
className={[
"text-token-icon-secondary h-[14px] w-[14px] transition-transform",
direction === "desc" && "rotate-180",
]
.flat()
.filter(Boolean)
.join(" ")}
/>
)}
</button>
);
};
SHA-256: 9dfe0f33453b85dbda9cfc24830d6b14aa0c547b29b6c25f7b73106a58c8cbfd