← Files Codex Security CloudARCHIVED FILE

.internal/defense-factory-ui/src/workbench/sort-header.tsx

1.25 KB · Oct 4, 2026 · 12:24 UTC

↓ Download file

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