@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.
- package/dist/cjs/components/DataTable.d.ts +10 -2
- package/dist/cjs/index.js +26 -15
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/DataTable.d.ts +10 -2
- package/dist/esm/index.js +26 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/components/CardButton.tsx +11 -4
- package/src/components/Citation.tsx +31 -21
- package/src/components/DataTable.tsx +27 -4
- package/src/stories/DataTable.stories.tsx +1 -2
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { type ColumnDef, type SortingState } from "@tanstack/react-table";
|
|
2
2
|
import React, { ReactNode } from "react";
|
|
3
|
-
interface
|
|
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
|
|
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
|
|
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-
|
|
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
|
|
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
|
-
|
|
75684
|
-
React.createElement(
|
|
75685
|
-
|
|
75686
|
-
|
|
75687
|
-
|
|
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
|
|
128889
|
-
var
|
|
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
|
|
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"]);
|