@paubox/ui 4.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -36210,7 +36210,7 @@ var ResizeHandleContainer = styled.div(_templateObject3$3());
36210
36210
  var ResizeHandle = styled.div(_templateObject4$3(), neutral300$1);
36211
36211
  var SortIcon = styled.span(_templateObject5$2(), spacing(1));
36212
36212
  var TableHeader = function(param) {
36213
- var table = param.table, disableControls = param.disableControls, dense = param.dense, tableId = param.tableId;
36213
+ var table = param.table, disableSort = param.disableSort, dense = param.dense, tableId = param.tableId;
36214
36214
  return /*#__PURE__*/ jsx(StyledHeader, {
36215
36215
  children: table.getHeaderGroups().map(function(headerGroup) {
36216
36216
  return /*#__PURE__*/ jsx("tr", {
@@ -36238,7 +36238,7 @@ var TableHeader = function(param) {
36238
36238
  children: [
36239
36239
  header.isPlaceholder ? null : /*#__PURE__*/ jsxs(HeaderContent, {
36240
36240
  role: header.column.getCanSort() ? 'button' : undefined,
36241
- onClick: !disableControls ? header.column.getToggleSortingHandler() : undefined,
36241
+ onClick: !disableSort ? header.column.getToggleSortingHandler() : undefined,
36242
36242
  style: {
36243
36243
  width: (actionHeaders === null || actionHeaders === void 0 ? void 0 : actionHeaders.includes(header === null || header === void 0 ? void 0 : header.id)) ? "".concat(header.getSize(), "px") : '100%',
36244
36244
  cursor: header.column.getCanSort() ? 'pointer' : 'default',
@@ -36738,7 +36738,11 @@ var Table = function(param) {
36738
36738
  id: key,
36739
36739
  accessorKey: key,
36740
36740
  accessorFn: getter,
36741
- enableSorting: sortable,
36741
+ // Sorting is opt-in: a column is only sortable when it explicitly
36742
+ // sets `sortable: true`. (TanStack's own default is `true`, so we
36743
+ // coerce undefined to false here.) This prevents columns whose
36744
+ // backend can't sort them from presenting a sort affordance.
36745
+ enableSorting: sortable !== null && sortable !== void 0 ? sortable : false,
36742
36746
  enableResizing: !autoWidth,
36743
36747
  header: header
36744
36748
  }, restCol), {
@@ -36990,7 +36994,7 @@ var Table = function(param) {
36990
36994
  }),
36991
36995
  /*#__PURE__*/ jsx(TableHeader, {
36992
36996
  table: table,
36993
- disableControls: disableControls,
36997
+ disableSort: isLoading,
36994
36998
  dense: dense,
36995
36999
  tableId: tableId
36996
37000
  }),
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@paubox/ui",
3
3
  "author": "Paubox, Inc.",
4
4
  "description": "Paubox Component Library",
5
- "version": "4.0.0",
5
+ "version": "5.0.1",
6
6
  "type": "module",
7
7
  "private": false,
8
8
  "publishConfig": {
@@ -1,9 +1,14 @@
1
1
  import { Table } from '@tanstack/react-table';
2
2
  interface TableHeaderProps<T> {
3
3
  table: Table<T>;
4
- disableControls: boolean;
4
+ /**
5
+ * Disable the sort affordance. Gated on loading only — NOT on empty/errored
6
+ * results — so a user who sorts into an empty/error state can still change
7
+ * the sort to recover (rather than being stuck on a dead sort).
8
+ */
9
+ disableSort: boolean;
5
10
  dense: boolean;
6
11
  tableId: string;
7
12
  }
8
- export declare const TableHeader: <T extends object>({ table, disableControls, dense, tableId, }: TableHeaderProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
13
+ export declare const TableHeader: <T extends object>({ table, disableSort, dense, tableId, }: TableHeaderProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
9
14
  export {};