@dust-tt/sparkle 0.2.201 → 0.2.203

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;
package/dist/esm/index.js CHANGED
@@ -40632,9 +40632,14 @@ Button.List = function (_a) {
40632
40632
  };
40633
40633
 
40634
40634
  var variantClasses$1 = {
40635
- primary: "s-bg-structure-50 s-border s-border-structure-200 hover:s-bg-white hover:s-border-structure-100 active:s-bg-structure-100 active:s-border-structure-200",
40636
- secondary: "s-bg-structure-0 s-border s-border-structure-100 hover:s-bg-structure-50 hover:s-border-structure-200 active:s-bg-structure-100 active:s-border-structure-300",
40637
- tertiary: "s-border-structure-100/0 s-border s-border-structure-0 hover:s-bg-structure-50 hover:s-border-structure-100 active:s-bg-structure-100 active:s-border-structure-200",
40635
+ primary: "s-bg-structure-50 s-border s-border-structure-200",
40636
+ secondary: "s-bg-structure-0 s-border s-border-structure-100",
40637
+ tertiary: "s-border-structure-100/0 s-border s-border-structure-0",
40638
+ };
40639
+ var hoverVariantClasses = {
40640
+ primary: "hover:s-bg-white hover:s-border-structure-100 active:s-bg-structure-100 active:s-border-structure-200 s-cursor-pointer",
40641
+ secondary: "hover:s-bg-structure-50 hover:s-border-structure-200 active:s-bg-structure-100 active:s-border-structure-300 s-cursor-pointer",
40642
+ tertiary: "hover:s-bg-structure-50 hover:s-border-structure-100 active:s-bg-structure-100 active:s-border-structure-200 s-cursor-pointer",
40638
40643
  };
40639
40644
  var sizeClasses$3 = {
40640
40645
  sm: "s-p-3 s-rounded-xl",
@@ -40645,7 +40650,7 @@ function CardButton(_a) {
40645
40650
  var children = _a.children, _b = _a.variant, variant = _b === void 0 ? "primary" : _b, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.className, className = _d === void 0 ? "" : _d, onClick = _a.onClick, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, href = _a.href, _e = _a.target, target = _e === void 0 ? "_blank" : _e, _f = _a.rel, rel = _f === void 0 ? "" : _f, replace = _a.replace, shallow = _a.shallow;
40646
40651
  var components = React__default.useContext(SparkleContext).components;
40647
40652
  var Link = href ? components.link : noHrefLink;
40648
- var commonClasses = classNames("s-flex s-group s-cursor-pointer s-transition s-duration-200 s-overflow-hidden", variantClasses$1[variant], sizeClasses$3[size], className);
40653
+ var commonClasses = classNames("s-flex s-group s-transition s-duration-200 s-overflow-hidden", onClick ? hoverVariantClasses[variant] : "", variantClasses$1[variant], sizeClasses$3[size], className);
40649
40654
  if (href) {
40650
40655
  return (React__default.createElement(Link, { href: href, className: commonClasses, replace: replace, shallow: shallow, target: target, rel: rel }, children));
40651
40656
  }
@@ -75642,7 +75647,9 @@ var typeSizing = {
75642
75647
  function Citation(_a) {
75643
75648
  var avatarSrc = _a.avatarSrc, description = _a.description, href = _a.href, imgSrc = _a.imgSrc, index = _a.index, _b = _a.isBlinking, isBlinking = _b === void 0 ? false : _b, isLoading = _a.isLoading, onClose = _a.onClose, _c = _a.size, size = _c === void 0 ? "sm" : _c, _d = _a.sizing, sizing = _d === void 0 ? "fixed" : _d, title = _a.title, _e = _a.type, type = _e === void 0 ? "document" : _e;
75644
75649
  var cardContent = (React__default.createElement(React__default.Fragment, null,
75645
- type === "image" && imgSrc && (React__default.createElement("div", { className: "s-absolute s-left-0 s-top-0 s-brightness-90 s-filter s-transition s-duration-200 s-ease-out hover:s-brightness-110 active:s-brightness-100 group-hover:s-brightness-110 group-hover:s-filter group-active:s-brightness-100", style: {
75650
+ type === "image" && imgSrc && (React__default.createElement("div", { className: classNames("s-absolute s-left-0 s-top-0 s-brightness-90 s-filter s-transition s-duration-200 s-ease-out active:s-brightness-100 group-active:s-brightness-100", href
75651
+ ? "hover:s-brightness-110 group-hover:s-brightness-110 group-hover:s-filter"
75652
+ : ""), style: {
75646
75653
  backgroundImage: "url(".concat(imgSrc, ")"),
75647
75654
  backgroundSize: "cover",
75648
75655
  backgroundPosition: "center",
@@ -75660,11 +75667,11 @@ function Citation(_a) {
75660
75667
  React__default.createElement(IconButton, { icon: SvgXCircle$1, variant: type === "image" ? "white" : "tertiary", onClick: onClose })))),
75661
75668
  React__default.createElement("div", { className: classNames("s-line-clamp-1 s-text-sm s-text-element-800", size === "sm" ? "s-font-bold" : "s-font-semibold") }, title),
75662
75669
  description && (React__default.createElement("div", { className: "s-line-clamp-2 s-text-xs s-font-normal s-text-element-700" }, description))));
75663
- return (React__default.createElement(Tooltip, { label: title, position: "above" },
75664
- React__default.createElement(CardButton, __assign({ variant: "secondary", size: "sm", className: classNames("s-relative s-flex s-w-48 s-flex-none s-flex-col s-gap-1", sizing === "fluid" ? typeSizing[sizing] : typeSizing[sizing][size], size === "sm" ? "sm:s-w-64" : "", isBlinking ? "s-animate-[bgblink_500ms_3]" : "", type === "image" ? "s-min-h-20" : "") }, (href && { href: href, target: "_blank", rel: "noopener noreferrer" })),
75665
- isLoading && (React__default.createElement("div", { className: "s-absolute s-inset-0 s-flex s-items-center s-justify-center" },
75666
- React__default.createElement(Spinner, { size: "xs", variant: "color" }))),
75667
- React__default.createElement("div", { className: isLoading ? "s-opacity-50" : "" }, cardContent))));
75670
+ var cardButton = (React__default.createElement(CardButton, __assign({ variant: "secondary", size: "sm", className: classNames("s-relative s-flex s-w-48 s-flex-none s-flex-col s-gap-1", sizing === "fluid" ? typeSizing[sizing] : typeSizing[sizing][size], size === "sm" ? "sm:s-w-64" : "", isBlinking ? "s-animate-[bgblink_500ms_3]" : "", type === "image" ? "s-min-h-20" : "") }, (href && { href: href, target: "_blank", rel: "noopener noreferrer" })),
75671
+ isLoading && (React__default.createElement("div", { className: "s-absolute s-inset-0 s-flex s-items-center s-justify-center" },
75672
+ React__default.createElement(Spinner, { size: "xs", variant: "color" }))),
75673
+ React__default.createElement("div", { className: isLoading ? "s-opacity-50" : "" }, cardContent)));
75674
+ return href ? (React__default.createElement(Tooltip, { label: title, position: "above" }, cardButton)) : (cardButton);
75668
75675
  }
75669
75676
 
75670
75677
  function ZoomableImageCitationWrapper(_a) {
@@ -128864,9 +128871,9 @@ function useReactTable(options) {
128864
128871
  }
128865
128872
 
128866
128873
  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];
128874
+ 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;
128875
+ var _c = __read(useState(initialColumnOrder !== null && initialColumnOrder !== void 0 ? initialColumnOrder : []), 2), sorting = _c[0], setSorting = _c[1];
128876
+ var _d = __read(useState([]), 2), columnFilters = _d[0], setColumnFilters = _d[1];
128870
128877
  var table = useReactTable({
128871
128878
  data: data,
128872
128879
  columns: columns,
@@ -128887,7 +128894,9 @@ function DataTable(_a) {
128887
128894
  }
128888
128895
  }, [filter, filterColumn]);
128889
128896
  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" : "" },
128897
+ 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]
128898
+ ? "s-hidden ".concat(columnsBreakpoints[header.id], ":s-block")
128899
+ : "") },
128891
128900
  React__default.createElement("div", { className: "s-flex s-items-center s-space-x-1 s-whitespace-nowrap" },
128892
128901
  flexRender(header.column.columnDef.header, header.getContext()),
128893
128902
  header.column.getCanSort() && (React__default.createElement(Icon, { visual: header.column.getIsSorted() === "asc"
@@ -128897,7 +128906,9 @@ function DataTable(_a) {
128897
128906
  : SvgArrowDown$1, size: "xs", className: classNames("s-ml-1", header.column.getIsSorted()
128898
128907
  ? "s-opacity-100"
128899
128908
  : "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()))); }))); }))));
128909
+ 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]
128910
+ ? "s-hidden ".concat(columnsBreakpoints[cell.column.id], ":s-block")
128911
+ : "") }, flexRender(cell.column.columnDef.cell, cell.getContext()))); }))); }))));
128901
128912
  }
128902
128913
  DataTable.Root = function DataTableRoot(_a) {
128903
128914
  var children = _a.children, className = _a.className, props = __rest(_a, ["children", "className"]);