@dust-tt/sparkle 0.2.200 → 0.2.202

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.
@@ -1,14 +1,22 @@
1
1
  import { type ColumnDef, type SortingState } from "@tanstack/react-table";
2
2
  import React, { ReactNode } from "react";
3
- interface DataTableProps<TData, TValue> {
3
+ interface TBaseData {
4
+ onClick?: () => void;
5
+ onMoreClick?: () => void;
6
+ }
7
+ interface ColumnBreakpoint {
8
+ [columnId: string]: "xs" | "sm" | "md" | "lg" | "xl";
9
+ }
10
+ interface DataTableProps<TData extends TBaseData, TValue> {
4
11
  data: TData[];
5
12
  columns: ColumnDef<TData, TValue>[];
6
13
  className?: string;
7
14
  filter?: string;
8
15
  filterColumn?: string;
9
16
  initialColumnOrder?: SortingState;
17
+ columnsBreakpoints?: ColumnBreakpoint;
10
18
  }
11
- export declare function DataTable<TData, TValue>({ data, columns, className, filter, filterColumn, initialColumnOrder, }: DataTableProps<TData, TValue>): React.JSX.Element;
19
+ export declare function DataTable<TData extends TBaseData, TValue>({ data, columns, className, filter, filterColumn, initialColumnOrder, columnsBreakpoints, }: DataTableProps<TData, TValue>): React.JSX.Element;
12
20
  export declare namespace DataTable {
13
21
  var Root: ({ children, className, ...props }: DataTableRootProps) => React.JSX.Element;
14
22
  var Header: ({ children, className, ...props }: HeaderProps) => React.JSX.Element;
@@ -1,14 +1,15 @@
1
1
  import React, { ComponentType, MouseEvent } from "react";
2
2
  type TabType<E> = {
3
- label: string;
4
- id?: E;
5
- hideLabel?: boolean;
6
3
  current: boolean;
7
- sizing?: "hug" | "expand";
4
+ disabled?: boolean;
5
+ hasSeparator?: boolean;
6
+ hideLabel?: boolean;
8
7
  icon?: ComponentType<{
9
8
  className?: string;
10
9
  }>;
11
- hasSeparator?: boolean;
10
+ id?: E;
11
+ label: string;
12
+ sizing?: "hug" | "expand";
12
13
  } & ({
13
14
  onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
14
15
  href?: never;
package/dist/esm/index.js CHANGED
@@ -74575,7 +74575,7 @@ function Tab(_a) {
74575
74575
  ? "s-px-3"
74576
74576
  : "s-pr-3.5 s-pl-2.5"
74577
74577
  : "s-px-3"
74578
- : "s-pl-1", tabStateClasses.base, tabStateClasses.hover, tabStateClasses.dark.base, tabStateClasses.dark.hover, tabClassName);
74578
+ : "s-pl-1", tabStateClasses.base, tabStateClasses.hover, tabStateClasses.dark.base, tabStateClasses.dark.hover, tabClassName, tab.disabled ? "s-opacity-50 s-pointer-events-none" : "");
74579
74579
  var finalIconClasses = classNames("s-transition-colors s-duration-400", iconStateClasses.base, iconStateClasses.hover, iconStateClasses.dark.base, iconStateClasses.dark.hover, tabClassName);
74580
74580
  var Link = tab.href
74581
74581
  ? components.link
@@ -128864,9 +128864,9 @@ function useReactTable(options) {
128864
128864
  }
128865
128865
 
128866
128866
  function DataTable(_a) {
128867
- var data = _a.data, columns = _a.columns, className = _a.className, filter = _a.filter, filterColumn = _a.filterColumn, initialColumnOrder = _a.initialColumnOrder;
128868
- var _b = __read(useState(initialColumnOrder !== null && initialColumnOrder !== void 0 ? initialColumnOrder : []), 2), sorting = _b[0], setSorting = _b[1];
128869
- var _c = __read(useState([]), 2), columnFilters = _c[0], setColumnFilters = _c[1];
128867
+ var data = _a.data, columns = _a.columns, className = _a.className, filter = _a.filter, filterColumn = _a.filterColumn, initialColumnOrder = _a.initialColumnOrder, _b = _a.columnsBreakpoints, columnsBreakpoints = _b === void 0 ? {} : _b;
128868
+ var _c = __read(useState(initialColumnOrder !== null && initialColumnOrder !== void 0 ? initialColumnOrder : []), 2), sorting = _c[0], setSorting = _c[1];
128869
+ var _d = __read(useState([]), 2), columnFilters = _d[0], setColumnFilters = _d[1];
128870
128870
  var table = useReactTable({
128871
128871
  data: data,
128872
128872
  columns: columns,
@@ -128887,7 +128887,9 @@ function DataTable(_a) {
128887
128887
  }
128888
128888
  }, [filter, filterColumn]);
128889
128889
  return (React__default.createElement(DataTable.Root, { className: className },
128890
- React__default.createElement(DataTable.Header, null, table.getHeaderGroups().map(function (headerGroup) { return (React__default.createElement(DataTable.Row, { key: headerGroup.id }, headerGroup.headers.map(function (header) { return (React__default.createElement(DataTable.Head, { key: header.id, onClick: header.column.getToggleSortingHandler(), className: header.column.getCanSort() ? "s-cursor-pointer" : "" },
128890
+ React__default.createElement(DataTable.Header, null, table.getHeaderGroups().map(function (headerGroup) { return (React__default.createElement(DataTable.Row, { key: headerGroup.id }, headerGroup.headers.map(function (header) { return (React__default.createElement(DataTable.Head, { key: header.id, onClick: header.column.getToggleSortingHandler(), className: classNames(header.column.getCanSort() ? "s-cursor-pointer" : "", columnsBreakpoints[header.id]
128891
+ ? "s-hidden ".concat(columnsBreakpoints[header.id], ":s-block")
128892
+ : "") },
128891
128893
  React__default.createElement("div", { className: "s-flex s-items-center s-space-x-1 s-whitespace-nowrap" },
128892
128894
  flexRender(header.column.columnDef.header, header.getContext()),
128893
128895
  header.column.getCanSort() && (React__default.createElement(Icon, { visual: header.column.getIsSorted() === "asc"
@@ -128897,7 +128899,9 @@ function DataTable(_a) {
128897
128899
  : SvgArrowDown$1, size: "xs", className: classNames("s-ml-1", header.column.getIsSorted()
128898
128900
  ? "s-opacity-100"
128899
128901
  : "s-opacity-0") }))))); }))); })),
128900
- React__default.createElement(DataTable.Body, null, table.getRowModel().rows.map(function (row) { return (React__default.createElement(DataTable.Row, { key: row.id, onClick: row.original.onClick, onMoreClick: row.original.onMoreClick }, row.getVisibleCells().map(function (cell) { return (React__default.createElement(DataTable.Cell, { key: cell.id }, flexRender(cell.column.columnDef.cell, cell.getContext()))); }))); }))));
128902
+ React__default.createElement(DataTable.Body, null, table.getRowModel().rows.map(function (row) { return (React__default.createElement(DataTable.Row, { key: row.id, onClick: row.original.onClick, onMoreClick: row.original.onMoreClick }, row.getVisibleCells().map(function (cell) { return (React__default.createElement(DataTable.Cell, { key: cell.id, className: classNames(columnsBreakpoints[cell.column.id]
128903
+ ? "s-hidden ".concat(columnsBreakpoints[cell.column.id], ":s-block")
128904
+ : "") }, flexRender(cell.column.columnDef.cell, cell.getContext()))); }))); }))));
128901
128905
  }
128902
128906
  DataTable.Root = function DataTableRoot(_a) {
128903
128907
  var children = _a.children, className = _a.className, props = __rest(_a, ["children", "className"]);