@datum-cloud/datum-ui 2.11.0 → 2.12.0

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.
@@ -7,4 +7,4 @@ import type { ListPanelProps } from '../types';
7
7
  * deliberately not included — render `DataTable.ListPagination` as a sibling,
8
8
  * below the panel.
9
9
  */
10
- export declare function DataTableListPanel<TData extends RowData = Record<string, any>>({ search, searchSlot, toolbar, emptyMessage, loading, onRowClick, className, panelClassName, }: ListPanelProps<TData>): import("react").JSX.Element;
10
+ export declare function DataTableListPanel<TData extends RowData = Record<string, any>>({ search, searchSlot, toolbar, emptyMessage, loading, onRowClick, className, panelClassName, tableClassName, headerClassName, headerRowClassName, headerCellClassName, bodyClassName, rowClassName, cellClassName, }: ListPanelProps<TData>): import("react").JSX.Element;
@@ -315,6 +315,19 @@ export interface ListPanelProps<TData extends RowData = Record<string, any>> {
315
315
  readonly className?: string;
316
316
  /** Class on the card container (border/rounding/background) — merges with, and can override, the default chrome. */
317
317
  readonly panelClassName?: string;
318
+ /**
319
+ * Forwarded to the underlying `DataTable.Content` (`density="compact"` already
320
+ * applied) — merges with, and can override, the compact preset. Use this for
321
+ * app-specific cell integrations (e.g. sizing a row-actions menu or a
322
+ * copy-button rendered inside a cell) that don't belong in the shared preset.
323
+ */
324
+ readonly tableClassName?: string;
325
+ readonly headerClassName?: string;
326
+ readonly headerRowClassName?: string;
327
+ readonly headerCellClassName?: string;
328
+ readonly bodyClassName?: string;
329
+ readonly rowClassName?: string | ((row: Row<DataTableFeatures, TData>) => string);
330
+ readonly cellClassName?: string | ((cell: Cell<DataTableFeatures, TData, unknown>) => string);
318
331
  }
319
332
  export interface ListPaginationProps {
320
333
  readonly pageSizes?: readonly number[];
@@ -1,2 +1,2 @@
1
- import { _ as useNuqsAdapter, a as useDataTablePagination, b as DEFAULT_PAGE_SIZE, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, i as useDataTableLoading, l as useDataTableSorting, m as DataTableRowActions, n as useDataTableFilters, o as useDataTableRows, p as dataTableFeatures, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_DEBOUNCE_MS, x as DEFAULT_PAGE_SIZES, y as DEFAULT_LOADING_ROWS } from "../data-table-DrSsRKRi.mjs";
1
+ import { _ as useNuqsAdapter, a as useDataTablePagination, b as DEFAULT_PAGE_SIZE, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, i as useDataTableLoading, l as useDataTableSorting, m as DataTableRowActions, n as useDataTableFilters, o as useDataTableRows, p as dataTableFeatures, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_DEBOUNCE_MS, x as DEFAULT_PAGE_SIZES, y as DEFAULT_LOADING_ROWS } from "../data-table-BOe7pdpJ.mjs";
2
2
  export { DEFAULT_DEBOUNCE_MS, DEFAULT_LOADING_ROWS, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, DataTable, DataTableColumnHeader, DataTableRowActions, createDataTableStore, createSelectionColumn, dataTableFeatures, resolvePath, rowMatchesSearch, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, useNuqsAdapter };
@@ -927,7 +927,7 @@ const DENSITY_PRESETS = {
927
927
  headerCellClassName: cn("sticky top-0 z-10 h-9 border-b border-border bg-table-header-background px-4", "text-xs leading-4 font-normal tracking-normal text-table-header-foreground uppercase"),
928
928
  bodyClassName: "[&_tr:last-child]:border-b-0",
929
929
  rowClassName: "border-0 hover:bg-muted/30",
930
- cellClassName: "border-b border-border px-4 py-0.5 text-sm"
930
+ cellClassName: "border-b border-border px-4 py-2 text-sm"
931
931
  }
932
932
  };
933
933
  function resolveClassName(value, item) {
@@ -1195,7 +1195,7 @@ function ListPanelSkeleton({ columnCount }) {
1195
1195
  * deliberately not included — render `DataTable.ListPagination` as a sibling,
1196
1196
  * below the panel.
1197
1197
  */
1198
- function DataTableListPanel({ search = {}, searchSlot, toolbar, emptyMessage, loading = false, onRowClick, className, panelClassName }) {
1198
+ function DataTableListPanel({ search = {}, searchSlot, toolbar, emptyMessage, loading = false, onRowClick, className, panelClassName, tableClassName, headerClassName, headerRowClassName, headerCellClassName, bodyClassName, rowClassName, cellClassName }) {
1199
1199
  const { totalColumns } = useDataTableRows();
1200
1200
  const showSearch = search !== false;
1201
1201
  const isControlledSearch = showSearch && (search.value !== void 0 || search.onChange !== void 0);
@@ -1226,7 +1226,14 @@ function DataTableListPanel({ search = {}, searchSlot, toolbar, emptyMessage, lo
1226
1226
  density: "compact",
1227
1227
  emptyMessage,
1228
1228
  onRowClick,
1229
- className: "min-h-0 flex-1"
1229
+ className: "min-h-0 flex-1",
1230
+ tableClassName,
1231
+ headerClassName,
1232
+ headerRowClassName,
1233
+ headerCellClassName,
1234
+ bodyClassName,
1235
+ rowClassName,
1236
+ cellClassName
1230
1237
  })
1231
1238
  ]
1232
1239
  });
@@ -1,2 +1,2 @@
1
- import { t as GroupedTable } from "../grouped-table-DIFPMKLL.mjs";
1
+ import { t as GroupedTable } from "../grouped-table-9nyHKSsK.mjs";
2
2
  export { GroupedTable };
@@ -6,7 +6,7 @@ import { t as useControllableState } from "./use-controllable-state-Dna7u3r9.mjs
6
6
  import { Skeleton } from "./skeleton/index.mjs";
7
7
  import { TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table/index.mjs";
8
8
  import { n as EASE } from "./motion-DvGRWdsm.mjs";
9
- import { f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, m as DataTableRowActions, p as dataTableFeatures } from "./data-table-DrSsRKRi.mjs";
9
+ import { f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, m as DataTableRowActions, p as dataTableFeatures } from "./data-table-BOe7pdpJ.mjs";
10
10
  import { n as useDebouncedSearchInput } from "./use-debounced-search-input-yu_F0QBt.mjs";
11
11
  import { InputWithAddons } from "./input-with-addons/index.mjs";
12
12
  import { ChevronRight, Search, X } from "lucide-react";
package/dist/index.mjs CHANGED
@@ -55,7 +55,7 @@ import { i as ClientOnly, n as useTheme, r as ThemeScript, t as ThemeProvider }
55
55
  import { a as formatJson, c as isValidYaml, d as CodeEditor, i as CodeEditorTabs, l as jsonToYaml, n as jsonSchema, o as formatYaml, r as yamlSchema, s as isValidJson, t as createCodeEditorSchema, u as yamlToJson } from "./types-agDpVXBG.mjs";
56
56
  import { t as toast } from "./toast-BUPlDkN3.mjs";
57
57
  import { n as Toaster, t as useToast } from "./use-toast-Bpq0yJIT.mjs";
58
- import { _ as useNuqsAdapter, a as useDataTablePagination, b as DEFAULT_PAGE_SIZE, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, i as useDataTableLoading, l as useDataTableSorting, m as DataTableRowActions, n as useDataTableFilters, o as useDataTableRows, p as dataTableFeatures, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_DEBOUNCE_MS, x as DEFAULT_PAGE_SIZES, y as DEFAULT_LOADING_ROWS } from "./data-table-DrSsRKRi.mjs";
58
+ import { _ as useNuqsAdapter, a as useDataTablePagination, b as DEFAULT_PAGE_SIZE, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, i as useDataTableLoading, l as useDataTableSorting, m as DataTableRowActions, n as useDataTableFilters, o as useDataTableRows, p as dataTableFeatures, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_DEBOUNCE_MS, x as DEFAULT_PAGE_SIZES, y as DEFAULT_LOADING_ROWS } from "./data-table-BOe7pdpJ.mjs";
59
59
  import { t as ActionRow } from "./action-row-DTvs91_3.mjs";
60
60
  import { n as useDebouncedSearchInput, t as DEFAULT_SEARCH_DEBOUNCE_MS } from "./use-debounced-search-input-yu_F0QBt.mjs";
61
61
  import { t as MultiSelect } from "./multi-select-CH8KERkt.mjs";
@@ -71,7 +71,7 @@ import { InputWithAddons } from "./input-with-addons/index.mjs";
71
71
  import { t as TimePicker } from "./time-picker-BzNSUazl.mjs";
72
72
  import { t as Transfer } from "./transfer-DsshYgIk.mjs";
73
73
  import { a as getResponsiveValue, c as GRID_COLUMNS, d as RESPONSIVE_MAP, i as getGutter, l as GRID_PREFIX, n as Row, o as registerMediaQuery, r as RowContext, s as GRID_BREAKPOINTS, t as Col, u as RESPONSIVE_ARRAY } from "./col-BYGWTB4j.mjs";
74
- import { t as GroupedTable } from "./grouped-table-DIFPMKLL.mjs";
74
+ import { t as GroupedTable } from "./grouped-table-9nyHKSsK.mjs";
75
75
  import { t as InputNumber } from "./input-number-TXmW-X9o.mjs";
76
76
  import { a as logoStyles, i as LogoFlat, n as LogoStacked, r as LogoIcon, t as LogoText } from "./logo-text-Dpm5O6Kg.mjs";
77
77
  import { t as Logo } from "./logo-C3FxD7jb.mjs";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@datum-cloud/datum-ui",
3
3
  "type": "module",
4
- "version": "2.11.0",
4
+ "version": "2.12.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "url": "https://github.com/datum-cloud/datum-ui"