@brainfish-ai/components 0.13.1 → 0.13.2-rc.1
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/data-table.d.ts +3 -1
- package/dist/esm/chunks/{data-table.BTAUqPXN.js → data-table.Dy9YQmzm.js} +5 -3
- package/dist/esm/chunks/data-table.Dy9YQmzm.js.map +1 -0
- package/dist/esm/components/data-table.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/stats.html +1 -1
- package/package.json +1 -1
- package/dist/esm/chunks/data-table.BTAUqPXN.js.map +0 -1
package/dist/data-table.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ import { ColumnDef } from '@tanstack/react-table';
|
|
|
2
2
|
import { default as default_2 } from 'react';
|
|
3
3
|
import { Row } from '@tanstack/react-table';
|
|
4
4
|
|
|
5
|
-
export declare function DataTable<TData
|
|
5
|
+
export declare function DataTable<TData extends Record<string, any> & {
|
|
6
|
+
id?: string | number;
|
|
7
|
+
}, TValue>({ columns, data, getRowCanExpand, className, expandeRowClassName, ...props }: DataTableProps<TData, TValue>): default_2.JSX.Element;
|
|
6
8
|
|
|
7
9
|
export declare interface DataTableProps<TData, TValue> extends default_2.HTMLAttributes<HTMLDivElement> {
|
|
8
10
|
columns: ExtendedColumnDef<TData, TValue>[];
|
|
@@ -40,6 +40,9 @@ function DataTable({
|
|
|
40
40
|
}) {
|
|
41
41
|
const [expanded, setExpanded] = React__default.useState({});
|
|
42
42
|
const [sorting, setSorting] = React__default.useState([]);
|
|
43
|
+
React__default.useEffect(() => {
|
|
44
|
+
setExpanded({});
|
|
45
|
+
}, [data]);
|
|
43
46
|
const table = useReactTable({
|
|
44
47
|
data,
|
|
45
48
|
columns,
|
|
@@ -56,10 +59,9 @@ function DataTable({
|
|
|
56
59
|
getExpandedRowModel: getExpandedRowModel(),
|
|
57
60
|
getSortedRowModel: getSortedRowModel()
|
|
58
61
|
});
|
|
59
|
-
return /* @__PURE__ */ React__default.createElement("div", { className: cn("overflow-hidden rounded-md border border-border bg-card", className), ...props }, /* @__PURE__ */ React__default.createElement(Table, { className: "overflow-hidden" }, /* @__PURE__ */ React__default.createElement(TableHeader, null, table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ React__default.createElement(TableRow, { key: headerGroup.id }, headerGroup.headers.map((header) => /* @__PURE__ */ React__default.createElement(TableHead, { key: header.id, className: "space-x-4 first:pl-4 last:pr-4 py-4 text-current" }, header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())))))), /* @__PURE__ */ React__default.createElement(TableBody, null, table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ React__default.createElement(React__default.Fragment, { key: row.id }, /* @__PURE__ */ React__default.createElement(
|
|
62
|
+
return /* @__PURE__ */ React__default.createElement("div", { className: cn("overflow-hidden rounded-md border border-border bg-card", className), ...props }, /* @__PURE__ */ React__default.createElement(Table, { className: "overflow-hidden" }, /* @__PURE__ */ React__default.createElement(TableHeader, null, table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ React__default.createElement(TableRow, { key: headerGroup.id }, headerGroup.headers.map((header) => /* @__PURE__ */ React__default.createElement(TableHead, { key: header.id, className: "space-x-4 first:pl-4 last:pr-4 py-4 text-current" }, header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())))))), /* @__PURE__ */ React__default.createElement(TableBody, null, table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ React__default.createElement(React__default.Fragment, { key: row.original.id || row.id }, /* @__PURE__ */ React__default.createElement(
|
|
60
63
|
TableRow,
|
|
61
64
|
{
|
|
62
|
-
key: row.id,
|
|
63
65
|
"data-state": row.getIsSelected() && "selected",
|
|
64
66
|
className: cn(row.getIsExpanded() && "custom-dashed-border-b")
|
|
65
67
|
},
|
|
@@ -78,4 +80,4 @@ function DataTable({
|
|
|
78
80
|
}
|
|
79
81
|
|
|
80
82
|
export { DataTable as D };
|
|
81
|
-
//# sourceMappingURL=data-table.
|
|
83
|
+
//# sourceMappingURL=data-table.Dy9YQmzm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table.Dy9YQmzm.js","sources":["../../../src/components/data-table/data-table.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ColumnDef,\n flexRender,\n getCoreRowModel,\n useReactTable,\n ExpandedState,\n SortingState,\n getPaginationRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n getSortedRowModel,\n Row,\n} from '@tanstack/react-table';\nimport { motion, AnimatePresence } from 'framer-motion';\n\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../ui/table';\n\nimport { cn } from '@/lib/utils';\n\n// Framer Motion Accordion Variants for bouncy accordion effect\nconst accordionVariants = {\n initial: {\n height: 0,\n },\n animate: {\n height: 'auto',\n transition: {\n height: {\n type: 'spring',\n stiffness: 450, // increase to make it more stiff (less bouncy), therefore increasing the speed of the animation\n damping: 20, // increase to make it more dampened and slow\n },\n },\n },\n exit: {\n height: 0,\n transition: {\n height: {\n duration: 0.1,\n ease: 'linear',\n },\n },\n },\n};\n\nexport type ExtendedColumnDef<TData, TValue = unknown> = ColumnDef<TData, TValue> & {\n expandedContent?: (row: Row<TData>) => React.ReactNode;\n};\n\nexport interface DataTableProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {\n columns: ExtendedColumnDef<TData, TValue>[];\n data: TData[];\n getRowCanExpand?: (row: Row<TData>) => boolean;\n className?: string;\n expandeRowClassName?: string;\n}\n\nexport function DataTable<TData extends Record<string, any> & { id?: string | number }, TValue>({\n columns,\n data,\n getRowCanExpand = () => true,\n className,\n expandeRowClassName,\n ...props\n}: DataTableProps<TData, TValue>) {\n const [expanded, setExpanded] = React.useState<ExpandedState>({});\n const [sorting, setSorting] = React.useState<SortingState>([]);\n\n // Reset expanded state when data changes. Collapse all rows when data changes.\n React.useEffect(() => {\n setExpanded({});\n }, [data]);\n\n const table = useReactTable({\n data,\n columns,\n getCoreRowModel: getCoreRowModel(),\n state: {\n expanded,\n sorting,\n },\n onExpandedChange: setExpanded,\n onSortingChange: setSorting,\n getRowCanExpand: columns.some((col) => col.expandedContent) ? getRowCanExpand : undefined,\n getPaginationRowModel: getPaginationRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n getSortedRowModel: getSortedRowModel(),\n });\n\n return (\n <div className={cn('overflow-hidden rounded-md border border-border bg-card', className)} {...props}>\n <Table className=\"overflow-hidden\">\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead key={header.id} className=\"space-x-4 first:pl-4 last:pr-4 py-4 text-current\">\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => (\n <React.Fragment key={row.original.id || row.id}>\n <TableRow\n data-state={row.getIsSelected() && 'selected'}\n className={cn(row.getIsExpanded() && 'custom-dashed-border-b')}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id} className=\"first:pl-4 last:pr-4 py-4\">\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n <AnimatePresence initial={false}>\n {row.getIsExpanded() &&\n (() => {\n // Find the first column with expandedContent\n const expandedColumn = columns.find((col) => col.expandedContent);\n\n return expandedColumn?.expandedContent ? (\n <TableRow key={`${row.id}-expanded`}>\n <TableCell\n colSpan={row.getVisibleCells().length}\n className={cn('first:pl-4 last:pr-4 py-4 overflow-hidden', expandeRowClassName)}\n >\n <motion.div variants={accordionVariants} initial=\"initial\" animate=\"animate\" exit=\"exit\">\n {expandedColumn.expandedContent(row)}\n </motion.div>\n </TableCell>\n </TableRow>\n ) : null;\n })()}\n </AnimatePresence>\n </React.Fragment>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={columns.length} className=\"h-24 text-center\">\n No results.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n );\n}\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as DataTable } from '../chunks/data-table.
|
|
1
|
+
export { D as DataTable } from '../chunks/data-table.Dy9YQmzm.js';
|
|
2
2
|
//# sourceMappingURL=data-table.js.map
|
package/dist/esm/index.js
CHANGED
|
@@ -23,7 +23,7 @@ export { S as SimpleSelect } from './chunks/simpleSelect.Bzw8xrbM.js';
|
|
|
23
23
|
export { D as DatePicker } from './chunks/date-picker.WGre3lsB.js';
|
|
24
24
|
export { C as Combobox } from './chunks/combobox.D30-HM1I.js';
|
|
25
25
|
export { F as Filter, a as Filters, O as Operator } from './chunks/filters.Dx9TXuJ4.js';
|
|
26
|
-
export { D as DataTable } from './chunks/data-table.
|
|
26
|
+
export { D as DataTable } from './chunks/data-table.Dy9YQmzm.js';
|
|
27
27
|
import React__default, { useState, useEffect, useCallback } from 'react';
|
|
28
28
|
import { useDropzone } from 'react-dropzone';
|
|
29
29
|
import { CloudArrowUp, CaretDown, CaretUp, FileVideo, Circle, CheckCircle } from '@phosphor-icons/react';
|
package/dist/index.d.ts
CHANGED
|
@@ -584,7 +584,9 @@ export declare function customColor(cssVariable: string, fallbackColor?: string)
|
|
|
584
584
|
opacityValue: string;
|
|
585
585
|
}) => string;
|
|
586
586
|
|
|
587
|
-
export declare function DataTable<TData
|
|
587
|
+
export declare function DataTable<TData extends Record<string, any> & {
|
|
588
|
+
id?: string | number;
|
|
589
|
+
}, TValue>({ columns, data, getRowCanExpand, className, expandeRowClassName, ...props }: DataTableProps<TData, TValue>): default_2.JSX.Element;
|
|
588
590
|
|
|
589
591
|
export declare interface DataTableProps<TData, TValue> extends default_2.HTMLAttributes<HTMLDivElement> {
|
|
590
592
|
columns: ExtendedColumnDef<TData, TValue>[];
|