Files
supabase/apps/studio/components/ui/DataTable/DataTableColumn/DataTableColumnHeader.tsx
Danny White cca4e52dd0 refactor(ui-patterns): Standardise TanStack sort headers (#44212)
## What kind of change does this PR introduce?

Component update.

## What is the current behaviour?

TanStack tables in the repo are split between the shared `TableHeadSort`
primitive and the older Studio-local `DataTableColumnHeader` helper,
which makes the sorting UI and integration path inconsistent.

If you were to just use `DataTableColumnHeader` in `ui-patterns/Table`,
you’d get a very different visual result to the `TableHeadSort` UI you
see in most other tables.

## What is the new behaviour?

Adds a shared `TanStackTableHeadSort` adapter in `ui-patterns/Table`,
backed by the existing `TableHeadSort` primitive, and switches the
webhook table plus the design-system TanStack demo to that canonical
path. `DataTableColumnHeader` stays as a deprecated wrapper for now,
Studio gets a lint guard to block new imports of it, and the table docs
now point TanStack tables at the shared adapter explicitly.

## To test

Check out column sorting on the Platform Webhook endpoint deliveries
table.
2026-03-30 21:48:52 +11:00

24 lines
586 B
TypeScript

import { type Column } from '@tanstack/react-table'
import { TanStackTableHeadSort } from 'ui-patterns/Table'
interface DataTableColumnHeaderProps<TData, TValue> {
column: Column<TData, TValue>
title: string
className?: string
}
/**
* @deprecated Use `TanStackTableHeadSort` from `ui-patterns/Table` instead.
*/
export const DataTableColumnHeader = <TData, TValue>({
column,
title,
className,
}: DataTableColumnHeaderProps<TData, TValue>) => {
return (
<TanStackTableHeadSort column={column} className={className}>
{title}
</TanStackTableHeadSort>
)
}