@premieroctet/next-admin
Version:
Next-Admin provides a customizable and turnkey admin dashboard for applications built with Next.js and powered by the Prisma ORM. It aims to simplify the development process by providing a turnkey admin system that can be easily integrated into your proje
36 lines (35 loc) • 1.68 kB
JavaScript
import { jsx, jsxs } from "react/jsx-runtime";
import { ArrowSmallDownIcon, ArrowSmallUpIcon } from "@heroicons/react/24/solid";
import external_clsx_default from "clsx";
import { useTransition } from "react";
function TableHead({ onClick, sortColumn, sortDirection, property, propertyName, className }) {
const [isPending, startTransition] = useTransition();
const isSorted = sortColumn === property;
return /*#__PURE__*/ jsxs("button", {
onClick: ()=>{
startTransition(()=>{
onClick();
});
},
className: external_clsx_default("inline-flex items-center justify-center text-sm", className),
children: [
/*#__PURE__*/ jsx("span", {
className: external_clsx_default("text-nextadmin-content-inverted dark:text-dark-nextadmin-content-subtle whitespace-nowrap font-semibold capitalize"),
children: propertyName
}),
/*#__PURE__*/ jsx("span", {
className: "sr-only relative",
children: ", activate to sort column descending"
}),
isSorted && "desc" === sortDirection && /*#__PURE__*/ jsx(ArrowSmallDownIcon, {
className: "text-nextadmin-brand-subtle dark:text-dark-nextadmin-brand-subtle ml-2 h-5 w-5",
"aria-hidden": "true"
}),
isSorted && "asc" === sortDirection && /*#__PURE__*/ jsx(ArrowSmallUpIcon, {
className: "text-nextadmin-brand-subtle dark:text-dark-nextadmin-brand-subtle ml-2 h-5 w-5",
"aria-hidden": "true"
})
]
});
}
export { TableHead as default };