@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/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
|
|
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
|
|
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-
|
|
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
|
|
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
|
-
|
|
75664
|
-
React__default.createElement(
|
|
75665
|
-
|
|
75666
|
-
|
|
75667
|
-
|
|
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
|
|
128869
|
-
var
|
|
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
|
|
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"]);
|