@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/cjs/index.js CHANGED
@@ -40652,9 +40652,14 @@ Button.List = function (_a) {
40652
40652
  };
40653
40653
 
40654
40654
  var variantClasses$1 = {
40655
- 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",
40656
- 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",
40657
- 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",
40655
+ primary: "s-bg-structure-50 s-border s-border-structure-200",
40656
+ secondary: "s-bg-structure-0 s-border s-border-structure-100",
40657
+ tertiary: "s-border-structure-100/0 s-border s-border-structure-0",
40658
+ };
40659
+ var hoverVariantClasses = {
40660
+ primary: "hover:s-bg-white hover:s-border-structure-100 active:s-bg-structure-100 active:s-border-structure-200 s-cursor-pointer",
40661
+ secondary: "hover:s-bg-structure-50 hover:s-border-structure-200 active:s-bg-structure-100 active:s-border-structure-300 s-cursor-pointer",
40662
+ tertiary: "hover:s-bg-structure-50 hover:s-border-structure-100 active:s-bg-structure-100 active:s-border-structure-200 s-cursor-pointer",
40658
40663
  };
40659
40664
  var sizeClasses$3 = {
40660
40665
  sm: "s-p-3 s-rounded-xl",
@@ -40665,7 +40670,7 @@ function CardButton(_a) {
40665
40670
  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;
40666
40671
  var components = React.useContext(SparkleContext).components;
40667
40672
  var Link = href ? components.link : noHrefLink;
40668
- 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);
40673
+ 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);
40669
40674
  if (href) {
40670
40675
  return (React.createElement(Link, { href: href, className: commonClasses, replace: replace, shallow: shallow, target: target, rel: rel }, children));
40671
40676
  }
@@ -75662,7 +75667,9 @@ var typeSizing = {
75662
75667
  function Citation(_a) {
75663
75668
  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;
75664
75669
  var cardContent = (React.createElement(React.Fragment, null,
75665
- type === "image" && imgSrc && (React.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: {
75670
+ type === "image" && imgSrc && (React.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
75671
+ ? "hover:s-brightness-110 group-hover:s-brightness-110 group-hover:s-filter"
75672
+ : ""), style: {
75666
75673
  backgroundImage: "url(".concat(imgSrc, ")"),
75667
75674
  backgroundSize: "cover",
75668
75675
  backgroundPosition: "center",
@@ -75680,11 +75687,11 @@ function Citation(_a) {
75680
75687
  React.createElement(IconButton, { icon: SvgXCircle$1, variant: type === "image" ? "white" : "tertiary", onClick: onClose })))),
75681
75688
  React.createElement("div", { className: classNames("s-line-clamp-1 s-text-sm s-text-element-800", size === "sm" ? "s-font-bold" : "s-font-semibold") }, title),
75682
75689
  description && (React.createElement("div", { className: "s-line-clamp-2 s-text-xs s-font-normal s-text-element-700" }, description))));
75683
- return (React.createElement(Tooltip, { label: title, position: "above" },
75684
- React.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" })),
75685
- isLoading && (React.createElement("div", { className: "s-absolute s-inset-0 s-flex s-items-center s-justify-center" },
75686
- React.createElement(Spinner, { size: "xs", variant: "color" }))),
75687
- React.createElement("div", { className: isLoading ? "s-opacity-50" : "" }, cardContent))));
75690
+ var cardButton = (React.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" })),
75691
+ isLoading && (React.createElement("div", { className: "s-absolute s-inset-0 s-flex s-items-center s-justify-center" },
75692
+ React.createElement(Spinner, { size: "xs", variant: "color" }))),
75693
+ React.createElement("div", { className: isLoading ? "s-opacity-50" : "" }, cardContent)));
75694
+ return href ? (React.createElement(Tooltip, { label: title, position: "above" }, cardButton)) : (cardButton);
75688
75695
  }
75689
75696
 
75690
75697
  function ZoomableImageCitationWrapper(_a) {
@@ -128884,9 +128891,9 @@ function useReactTable(options) {
128884
128891
  }
128885
128892
 
128886
128893
  function DataTable(_a) {
128887
- var data = _a.data, columns = _a.columns, className = _a.className, filter = _a.filter, filterColumn = _a.filterColumn, initialColumnOrder = _a.initialColumnOrder;
128888
- var _b = __read(React.useState(initialColumnOrder !== null && initialColumnOrder !== void 0 ? initialColumnOrder : []), 2), sorting = _b[0], setSorting = _b[1];
128889
- var _c = __read(React.useState([]), 2), columnFilters = _c[0], setColumnFilters = _c[1];
128894
+ 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;
128895
+ var _c = __read(React.useState(initialColumnOrder !== null && initialColumnOrder !== void 0 ? initialColumnOrder : []), 2), sorting = _c[0], setSorting = _c[1];
128896
+ var _d = __read(React.useState([]), 2), columnFilters = _d[0], setColumnFilters = _d[1];
128890
128897
  var table = useReactTable({
128891
128898
  data: data,
128892
128899
  columns: columns,
@@ -128907,7 +128914,9 @@ function DataTable(_a) {
128907
128914
  }
128908
128915
  }, [filter, filterColumn]);
128909
128916
  return (React.createElement(DataTable.Root, { className: className },
128910
- React.createElement(DataTable.Header, null, table.getHeaderGroups().map(function (headerGroup) { return (React.createElement(DataTable.Row, { key: headerGroup.id }, headerGroup.headers.map(function (header) { return (React.createElement(DataTable.Head, { key: header.id, onClick: header.column.getToggleSortingHandler(), className: header.column.getCanSort() ? "s-cursor-pointer" : "" },
128917
+ React.createElement(DataTable.Header, null, table.getHeaderGroups().map(function (headerGroup) { return (React.createElement(DataTable.Row, { key: headerGroup.id }, headerGroup.headers.map(function (header) { return (React.createElement(DataTable.Head, { key: header.id, onClick: header.column.getToggleSortingHandler(), className: classNames(header.column.getCanSort() ? "s-cursor-pointer" : "", columnsBreakpoints[header.id]
128918
+ ? "s-hidden ".concat(columnsBreakpoints[header.id], ":s-block")
128919
+ : "") },
128911
128920
  React.createElement("div", { className: "s-flex s-items-center s-space-x-1 s-whitespace-nowrap" },
128912
128921
  flexRender(header.column.columnDef.header, header.getContext()),
128913
128922
  header.column.getCanSort() && (React.createElement(Icon, { visual: header.column.getIsSorted() === "asc"
@@ -128917,7 +128926,9 @@ function DataTable(_a) {
128917
128926
  : SvgArrowDown$1, size: "xs", className: classNames("s-ml-1", header.column.getIsSorted()
128918
128927
  ? "s-opacity-100"
128919
128928
  : "s-opacity-0") }))))); }))); })),
128920
- React.createElement(DataTable.Body, null, table.getRowModel().rows.map(function (row) { return (React.createElement(DataTable.Row, { key: row.id, onClick: row.original.onClick, onMoreClick: row.original.onMoreClick }, row.getVisibleCells().map(function (cell) { return (React.createElement(DataTable.Cell, { key: cell.id }, flexRender(cell.column.columnDef.cell, cell.getContext()))); }))); }))));
128929
+ React.createElement(DataTable.Body, null, table.getRowModel().rows.map(function (row) { return (React.createElement(DataTable.Row, { key: row.id, onClick: row.original.onClick, onMoreClick: row.original.onMoreClick }, row.getVisibleCells().map(function (cell) { return (React.createElement(DataTable.Cell, { key: cell.id, className: classNames(columnsBreakpoints[cell.column.id]
128930
+ ? "s-hidden ".concat(columnsBreakpoints[cell.column.id], ":s-block")
128931
+ : "") }, flexRender(cell.column.columnDef.cell, cell.getContext()))); }))); }))));
128921
128932
  }
128922
128933
  DataTable.Root = function DataTableRoot(_a) {
128923
128934
  var children = _a.children, className = _a.className, props = __rest(_a, ["children", "className"]);