@brainfish-ai/components 0.13.3 → 0.13.5
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/components/ui/input.d.ts +7 -2
- package/dist/data-table.d.ts +3 -1
- package/dist/esm/chunks/data-table.CeeSYokg.js +109 -0
- package/dist/esm/chunks/data-table.CeeSYokg.js.map +1 -0
- package/dist/esm/components/data-table.js +1 -1
- package/dist/esm/components/ui/input.js +12 -6
- package/dist/esm/components/ui/input.js.map +1 -1
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/input.d.ts +8 -2
- package/dist/stats.html +1 -1
- package/package.json +1 -1
- package/dist/esm/chunks/data-table.BnZmrDk6.js +0 -99
- package/dist/esm/chunks/data-table.BnZmrDk6.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
import { useReactTable, getSortedRowModel, getExpandedRowModel, getFilteredRowModel, getPaginationRowModel, getCoreRowModel, flexRender } from '@tanstack/react-table';
|
|
3
|
-
import { AnimatePresence, motion } from 'framer-motion';
|
|
4
|
-
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '../components/ui/table.js';
|
|
5
|
-
import { c as cn } from './utils.DmKr1Ojo.js';
|
|
6
|
-
|
|
7
|
-
const accordionVariants = {
|
|
8
|
-
initial: {
|
|
9
|
-
height: 0
|
|
10
|
-
},
|
|
11
|
-
animate: {
|
|
12
|
-
height: "auto",
|
|
13
|
-
transition: {
|
|
14
|
-
height: {
|
|
15
|
-
type: "spring",
|
|
16
|
-
stiffness: 450,
|
|
17
|
-
// increase to make it more stiff (less bouncy), therefore increasing the speed of the animation
|
|
18
|
-
damping: 20
|
|
19
|
-
// increase to make it more dampened and slow
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
exit: {
|
|
24
|
-
height: 0,
|
|
25
|
-
transition: {
|
|
26
|
-
height: {
|
|
27
|
-
duration: 0.1,
|
|
28
|
-
ease: "linear"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
function DataTable({
|
|
34
|
-
columns,
|
|
35
|
-
data,
|
|
36
|
-
getRowCanExpand = () => true,
|
|
37
|
-
className,
|
|
38
|
-
expandeRowClassName,
|
|
39
|
-
...props
|
|
40
|
-
}) {
|
|
41
|
-
const [expanded, setExpanded] = React__default.useState({});
|
|
42
|
-
const [sorting, setSorting] = React__default.useState([]);
|
|
43
|
-
React__default.useEffect(() => {
|
|
44
|
-
setExpanded({});
|
|
45
|
-
}, [data]);
|
|
46
|
-
const table = useReactTable({
|
|
47
|
-
data,
|
|
48
|
-
columns,
|
|
49
|
-
getCoreRowModel: getCoreRowModel(),
|
|
50
|
-
state: {
|
|
51
|
-
expanded,
|
|
52
|
-
sorting
|
|
53
|
-
},
|
|
54
|
-
onExpandedChange: setExpanded,
|
|
55
|
-
onSortingChange: setSorting,
|
|
56
|
-
getRowCanExpand: columns.some((col) => col.expandedContent) ? getRowCanExpand : void 0,
|
|
57
|
-
getPaginationRowModel: getPaginationRowModel(),
|
|
58
|
-
getFilteredRowModel: getFilteredRowModel(),
|
|
59
|
-
getExpandedRowModel: getExpandedRowModel(),
|
|
60
|
-
getSortedRowModel: getSortedRowModel()
|
|
61
|
-
});
|
|
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(
|
|
63
|
-
TableHead,
|
|
64
|
-
{
|
|
65
|
-
key: header.id,
|
|
66
|
-
className: "space-x-4 first:pl-4 last:pr-4 py-4 text-current",
|
|
67
|
-
style: { width: header.getSize() }
|
|
68
|
-
},
|
|
69
|
-
header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())
|
|
70
|
-
))))), /* @__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(
|
|
71
|
-
TableRow,
|
|
72
|
-
{
|
|
73
|
-
"data-state": row.getIsSelected() && "selected",
|
|
74
|
-
className: cn(row.getIsExpanded() && "custom-dashed-border-b")
|
|
75
|
-
},
|
|
76
|
-
row.getVisibleCells().map((cell) => /* @__PURE__ */ React__default.createElement(
|
|
77
|
-
TableCell,
|
|
78
|
-
{
|
|
79
|
-
key: cell.id,
|
|
80
|
-
className: "first:pl-4 last:pr-4 py-4",
|
|
81
|
-
style: { width: cell.column.getSize() }
|
|
82
|
-
},
|
|
83
|
-
flexRender(cell.column.columnDef.cell, cell.getContext())
|
|
84
|
-
))
|
|
85
|
-
), /* @__PURE__ */ React__default.createElement(AnimatePresence, { initial: false }, row.getIsExpanded() && (() => {
|
|
86
|
-
const expandedColumn = columns.find((col) => col.expandedContent);
|
|
87
|
-
return expandedColumn?.expandedContent ? /* @__PURE__ */ React__default.createElement(TableRow, { key: `${row.id}-expanded` }, /* @__PURE__ */ React__default.createElement(
|
|
88
|
-
TableCell,
|
|
89
|
-
{
|
|
90
|
-
colSpan: row.getVisibleCells().length,
|
|
91
|
-
className: cn("first:pl-4 last:pr-4 py-4 overflow-hidden", expandeRowClassName)
|
|
92
|
-
},
|
|
93
|
-
/* @__PURE__ */ React__default.createElement(motion.div, { variants: accordionVariants, initial: "initial", animate: "animate", exit: "exit" }, expandedColumn.expandedContent(row))
|
|
94
|
-
)) : null;
|
|
95
|
-
})()))) : /* @__PURE__ */ React__default.createElement(TableRow, null, /* @__PURE__ */ React__default.createElement(TableCell, { colSpan: columns.length, className: "h-24 text-center" }, "No results.")))));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export { DataTable as D };
|
|
99
|
-
//# sourceMappingURL=data-table.BnZmrDk6.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.BnZmrDk6.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\n key={header.id}\n className=\"space-x-4 first:pl-4 last:pr-4 py-4 text-current\"\n style={{ width: header.getSize() }}\n >\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\n key={cell.id}\n className=\"first:pl-4 last:pr-4 py-4\"\n style={{ width: cell.column.getSize() }}\n >\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":";;;;;;AAqBA,MAAM,iBAAoB,GAAA;AAAA,EACxB,OAAS,EAAA;AAAA,IACP,MAAQ,EAAA;AAAA,GACV;AAAA,EACA,OAAS,EAAA;AAAA,IACP,MAAQ,EAAA,MAAA;AAAA,IACR,UAAY,EAAA;AAAA,MACV,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,QAAA;AAAA,QACN,SAAW,EAAA,GAAA;AAAA;AAAA,QACX,OAAS,EAAA;AAAA;AAAA;AACX;AACF,GACF;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,MAAQ,EAAA,CAAA;AAAA,IACR,UAAY,EAAA;AAAA,MACV,MAAQ,EAAA;AAAA,QACN,QAAU,EAAA,GAAA;AAAA,QACV,IAAM,EAAA;AAAA;AACR;AACF;AAEJ,CAAA;AAcO,SAAS,SAAgF,CAAA;AAAA,EAC9F,OAAA;AAAA,EACA,IAAA;AAAA,EACA,kBAAkB,MAAM,IAAA;AAAA,EACxB,SAAA;AAAA,EACA,mBAAA;AAAA,EACA,GAAG;AACL,CAAkC,EAAA;AAChC,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,IAAIA,cAAM,CAAA,QAAA,CAAwB,EAAE,CAAA;AAChE,EAAA,MAAM,CAAC,OAAS,EAAA,UAAU,IAAIA,cAAM,CAAA,QAAA,CAAuB,EAAE,CAAA;AAG7D,EAAAA,cAAA,CAAM,UAAU,MAAM;AACpB,IAAA,WAAA,CAAY,EAAE,CAAA;AAAA,GAChB,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,MAAM,QAAQ,aAAc,CAAA;AAAA,IAC1B,IAAA;AAAA,IACA,OAAA;AAAA,IACA,iBAAiB,eAAgB,EAAA;AAAA,IACjC,KAAO,EAAA;AAAA,MACL,QAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,gBAAkB,EAAA,WAAA;AAAA,IAClB,eAAiB,EAAA,UAAA;AAAA,IACjB,eAAA,EAAiB,QAAQ,IAAK,CAAA,CAAC,QAAQ,GAAI,CAAA,eAAe,IAAI,eAAkB,GAAA,MAAA;AAAA,IAChF,uBAAuB,qBAAsB,EAAA;AAAA,IAC7C,qBAAqB,mBAAoB,EAAA;AAAA,IACzC,qBAAqB,mBAAoB,EAAA;AAAA,IACzC,mBAAmB,iBAAkB;AAAA,GACtC,CAAA;AAED,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,EAAA,CAAG,yDAA2D,EAAA,SAAS,CAAI,EAAA,GAAG,KAC5F,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,KAAM,EAAA,EAAA,SAAA,EAAU,qCACdA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,IAAA,EACE,KAAM,CAAA,eAAA,EAAkB,CAAA,GAAA,CAAI,CAAC,WAAA,qBAC3BA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,GAAK,EAAA,WAAA,CAAY,EACxB,EAAA,EAAA,WAAA,CAAY,OAAQ,CAAA,GAAA,CAAI,CAAC,MACxB,qBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAK,MAAO,CAAA,EAAA;AAAA,MACZ,SAAU,EAAA,kDAAA;AAAA,MACV,KAAO,EAAA,EAAE,KAAO,EAAA,MAAA,CAAO,SAAU;AAAA,KAAA;AAAA,IAEhC,MAAA,CAAO,aAAgB,GAAA,IAAA,GAAO,UAAW,CAAA,MAAA,CAAO,OAAO,SAAU,CAAA,MAAA,EAAQ,MAAO,CAAA,UAAA,EAAY;AAAA,GAEhG,CACH,CACD,CACH,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,SACE,EAAA,IAAA,EAAA,KAAA,CAAM,WAAY,EAAA,CAAE,IAAM,EAAA,MAAA,GACzB,KAAM,CAAA,WAAA,EAAc,CAAA,IAAA,CAAK,GAAI,CAAA,CAAC,GAC5B,qBAAAA,cAAA,CAAA,aAAA,CAACA,cAAM,CAAA,QAAA,EAAN,EAAe,GAAA,EAAK,GAAI,CAAA,QAAA,CAAS,EAAM,IAAA,GAAA,CAAI,EAC1C,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,GAAI,CAAA,aAAA,EAAmB,IAAA,UAAA;AAAA,MACnC,SAAW,EAAA,EAAA,CAAG,GAAI,CAAA,aAAA,MAAmB,wBAAwB;AAAA,KAAA;AAAA,IAE5D,GAAI,CAAA,eAAA,EAAkB,CAAA,GAAA,CAAI,CAAC,IAC1B,qBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,KAAK,IAAK,CAAA,EAAA;AAAA,QACV,SAAU,EAAA,2BAAA;AAAA,QACV,OAAO,EAAE,KAAA,EAAO,IAAK,CAAA,MAAA,CAAO,SAAU;AAAA,OAAA;AAAA,MAErC,WAAW,IAAK,CAAA,MAAA,CAAO,UAAU,IAAM,EAAA,IAAA,CAAK,YAAY;AAAA,KAE5D;AAAA,GACH,+CACC,eAAgB,EAAA,EAAA,OAAA,EAAS,SACvB,GAAI,CAAA,aAAA,OACF,MAAM;AAEL,IAAA,MAAM,iBAAiB,OAAQ,CAAA,IAAA,CAAK,CAAC,GAAA,KAAQ,IAAI,eAAe,CAAA;AAEhE,IAAO,OAAA,cAAA,EAAgB,kCACpBA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,KAAK,CAAG,EAAA,GAAA,CAAI,EAAE,CACtB,SAAA,CAAA,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAS,GAAI,CAAA,eAAA,EAAkB,CAAA,MAAA;AAAA,QAC/B,SAAA,EAAW,EAAG,CAAA,2CAAA,EAA6C,mBAAmB;AAAA,OAAA;AAAA,sBAE7EA,cAAA,CAAA,aAAA,CAAA,MAAA,CAAO,GAAP,EAAA,EAAW,UAAU,iBAAmB,EAAA,OAAA,EAAQ,SAAU,EAAA,OAAA,EAAQ,WAAU,IAAK,EAAA,MAAA,EAAA,EAC/E,cAAe,CAAA,eAAA,CAAgB,GAAG,CACrC;AAAA,KAEJ,CACE,GAAA,IAAA;AAAA,MAEV,CACF,CACD,CAED,mBAAAA,cAAA,CAAA,aAAA,CAAC,gCACEA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,OAAS,EAAA,OAAA,CAAQ,QAAQ,SAAU,EAAA,kBAAA,EAAA,EAAmB,aAEjE,CACF,CAEJ,CACF,CACF,CAAA;AAEJ;;;;"}
|