import React, { forwardRef, useContext } from "react"; import { ArrowsUpDownIcon, SortDownIcon, SortUpIcon, } from "@navikt/aksel-icons"; import HeaderCell, { HeaderCellProps } from "./HeaderCell"; import { TableContext } from "./context"; export interface ColumnHeaderProps extends HeaderCellProps { /** * Key to sort by */ sortKey?: string; /** * Column is sortable, adds indicators to show sorting * @default false */ sortable?: boolean; } export type ColumnHeaderType = React.ForwardRefExoticComponent< ColumnHeaderProps & React.RefAttributes >; export const ColumnHeader: ColumnHeaderType = forwardRef( ({ children, sortable = false, sortKey, ...rest }, ref) => { const context = useContext(TableContext); if (sortable && !sortKey) { console.warn("ColumnHeader with `sortable=true` must have a sortKey."); } return ( {sortable ? ( ) : ( children )} ); }, ); export default ColumnHeader;