@brainfish-ai/components 0.13.2 → 0.13.3

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.
@@ -59,13 +59,29 @@ function DataTable({
59
59
  getExpandedRowModel: getExpandedRowModel(),
60
60
  getSortedRowModel: getSortedRowModel()
61
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(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(
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(
63
71
  TableRow,
64
72
  {
65
73
  "data-state": row.getIsSelected() && "selected",
66
74
  className: cn(row.getIsExpanded() && "custom-dashed-border-b")
67
75
  },
68
- row.getVisibleCells().map((cell) => /* @__PURE__ */ React__default.createElement(TableCell, { key: cell.id, className: "first:pl-4 last:pr-4 py-4" }, flexRender(cell.column.columnDef.cell, cell.getContext())))
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
+ ))
69
85
  ), /* @__PURE__ */ React__default.createElement(AnimatePresence, { initial: false }, row.getIsExpanded() && (() => {
70
86
  const expandedColumn = columns.find((col) => col.expandedContent);
71
87
  return expandedColumn?.expandedContent ? /* @__PURE__ */ React__default.createElement(TableRow, { key: `${row.id}-expanded` }, /* @__PURE__ */ React__default.createElement(
@@ -80,4 +96,4 @@ function DataTable({
80
96
  }
81
97
 
82
98
  export { DataTable as D };
83
- //# sourceMappingURL=data-table.Dy9YQmzm.js.map
99
+ //# sourceMappingURL=data-table.BnZmrDk6.js.map
@@ -0,0 +1 @@
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":"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"}
@@ -1,2 +1,2 @@
1
- export { D as DataTable } from '../chunks/data-table.Dy9YQmzm.js';
1
+ export { D as DataTable } from '../chunks/data-table.BnZmrDk6.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.Dy9YQmzm.js';
26
+ export { D as DataTable } from './chunks/data-table.BnZmrDk6.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';