@raystack/apsara 0.14.2 → 0.14.4

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/index.cjs CHANGED
@@ -31750,7 +31750,7 @@ function DataTableClearFilter({ children, ...props }) {
31750
31750
  return (jsxRuntimeExports$1.jsx(Button$1, { variant: "ghost", onClick: () => {
31751
31751
  table.resetColumnFilters();
31752
31752
  resetColumns();
31753
- }, style: { width: "100%" }, ...props, children: children || (jsxRuntimeExports$1.jsxs(Flex, { gap: "small", align: "center", justify: "center", children: ["Clear filters ", jsxRuntimeExports$1.jsx(Cross2Icon, { width: 12, height: "12" })] })) }));
31753
+ }, ...props, children: children || (jsxRuntimeExports$1.jsxs(Flex, { gap: "small", align: "center", justify: "center", style: { textWrap: "nowrap" }, children: ["Clear filters ", jsxRuntimeExports$1.jsx(Cross2Icon, { width: 12, height: "12" })] })) }));
31754
31754
  }
31755
31755
 
31756
31756
  function DataTableFilterOptions({ children, ...props }) {
@@ -31768,7 +31768,7 @@ function DataTableFilterOptions({ children, ...props }) {
31768
31768
  })] })) : null] }));
31769
31769
  }
31770
31770
 
31771
- var styles$4 = {"wrapper":"datatable-module_wrapper__Sxg2d","datatable":"datatable-module_datatable__z-Th2","table":"datatable-module_table__x2IkY","head":"datatable-module_head__zCfCW","toolbar":"datatable-module_toolbar__lO-aI","chip":"datatable-module_chip__IiwTD","chipWrapper":"datatable-module_chipWrapper__iz69x","filterOperator":"datatable-module_filterOperator__qtDsH","filterText":"datatable-module_filterText__w00L8","flex1":"datatable-module_flex1__fA-kQ"};
31771
+ var styles$4 = {"wrapper":"datatable-module_wrapper__Sxg2d","datatable":"datatable-module_datatable__z-Th2","table":"datatable-module_table__x2IkY","head":"datatable-module_head__zCfCW","toolbar":"datatable-module_toolbar__lO-aI","chip":"datatable-module_chip__IiwTD","chipWrapper":"datatable-module_chipWrapper__iz69x","filterOperator":"datatable-module_filterOperator__qtDsH","filterText":"datatable-module_filterText__w00L8","flex1":"datatable-module_flex1__fA-kQ","tRow":"datatable-module_tRow__GrMHh","tRowClick":"datatable-module_tRowClick__7wzkh"};
31772
31772
 
31773
31773
  const columnTypesMap = {
31774
31774
  select: "select",
@@ -31966,15 +31966,14 @@ const getFilterValueType = ({ filterOperation, columnType, }) => {
31966
31966
  return filterValueTypeMap.text;
31967
31967
  }
31968
31968
  };
31969
- const FilterValues = ({ columnType = filterValueTypeMap.text, options = [], onValueChange, filterOperation, ...props }) => {
31970
- const [value, setValue] = React.useState({
31971
- value: "",
31972
- date: new Date(),
31973
- dateRange: {
31974
- to: new Date(),
31975
- from: new Date(),
31976
- },
31977
- });
31969
+ const FilterValues = ({ column, columnType = filterValueTypeMap.text, options = [], onValueChange, filterOperation, ...props }) => {
31970
+ const [value, setValue] = React.useState(column?.columnDef?.meta?.defaultValue
31971
+ ? { value: (column?.columnDef.meta).defaultValue }
31972
+ : {
31973
+ value: "",
31974
+ date: new Date(),
31975
+ dateRange: { to: new Date(), from: new Date() },
31976
+ });
31978
31977
  const valueType = getFilterValueType({ filterOperation, columnType });
31979
31978
  React.useEffect(() => {
31980
31979
  if (onValueChange) {
@@ -32028,7 +32027,7 @@ const FilteredChip = ({ column, updateColumnCustomFilter, }) => {
32028
32027
  setFilterOperation(undefined);
32029
32028
  setFilterValue({});
32030
32029
  }
32031
- return (jsxRuntimeExports$1.jsxs(Box, { className: styles$4.chip, children: [jsxRuntimeExports$1.jsx(Text, { className: styles$4.filterText, children: columnName }), jsxRuntimeExports$1.jsx(Operation, { columnType: filterVariant, onOperationSelect: setFilterOperation }), filterOperation?.hideValueField ? null : (jsxRuntimeExports$1.jsx(FilterValues, { columnType: filterVariant, options: options, onValueChange: setFilterValue, filterOperation: filterOperation })), jsxRuntimeExports$1.jsx(Flex, { children: jsxRuntimeExports$1.jsx(Cross1Icon, { height: "12", width: "12", onClick: removeFilter }) })] }));
32030
+ return (jsxRuntimeExports$1.jsxs(Box, { className: styles$4.chip, children: [jsxRuntimeExports$1.jsx(Text, { className: styles$4.filterText, children: columnName }), jsxRuntimeExports$1.jsx(Operation, { columnType: filterVariant, onOperationSelect: setFilterOperation }), filterOperation?.hideValueField ? null : (jsxRuntimeExports$1.jsx(FilterValues, { column: column, columnType: filterVariant, options: options, onValueChange: setFilterValue, filterOperation: filterOperation })), jsxRuntimeExports$1.jsx(Flex, { children: jsxRuntimeExports$1.jsx(Cross1Icon, { height: "12", width: "12", onClick: removeFilter }) })] }));
32032
32031
  };
32033
32032
 
32034
32033
  function DataTableFilterChips(props) {
@@ -32227,21 +32226,17 @@ function Skeleton({ count = 1, wrapper: Wrapper, className: customClassName, con
32227
32226
  : elements));
32228
32227
  }
32229
32228
 
32230
- function DataTableRoot({ columns, data, emptyState, children, parentStyle, isLoading = false, ShouldShowHeader = true, loaderRow = 5, ...props }) {
32229
+ function DataTableRoot({ columns, data, emptyState, children, parentStyle, isLoading = false, ShouldShowHeader = true, initialState, loaderRow = 5, onRowClick, ...props }) {
32231
32230
  const [tableCustomFilter, setTableCustomFilter] = React.useState({});
32232
32231
  const convertedChildren = React.Children.toArray(children);
32233
32232
  const header = convertedChildren.find((child) => child.type === DataTableToolbar) || null;
32234
32233
  const footer = convertedChildren.find((child) => child.type === DataTableFooter) || null;
32235
32234
  const detail = convertedChildren.find((child) => child.type === TableDetailContainer) ||
32236
32235
  null;
32237
- const [sorting, setSorting] = React.useState([]);
32238
- const [columnFilters, setColumnFilters] = React.useState([]);
32236
+ const [tableState, setTableState] = React.useState({});
32239
32237
  const tableData = isLoading
32240
32238
  ? [...new Array(loaderRow)].map((_, i) => ({ id: i }))
32241
32239
  : data;
32242
- const [columnVisibility, setColumnVisibility] = React.useState({});
32243
- const [rowSelection, setRowSelection] = React.useState({});
32244
- const [globalFilter, setGlobalFilter] = React.useState("");
32245
32240
  const { filteredColumns, addFilterColumn, removeFilterColumn, resetColumns } = useTableColumn();
32246
32241
  const columnWithCustomFilter = columns.map((col) => {
32247
32242
  // @ts-ignore;
@@ -32264,36 +32259,30 @@ function DataTableRoot({ columns, data, emptyState, children, parentStyle, isLoa
32264
32259
  enableRowSelection: true,
32265
32260
  manualPagination: true,
32266
32261
  pageCount: -1,
32267
- onGlobalFilterChange: setGlobalFilter,
32268
- onSortingChange: setSorting,
32269
- onColumnFiltersChange: setColumnFilters,
32270
- onColumnVisibilityChange: setColumnVisibility,
32271
- onRowSelectionChange: setRowSelection,
32262
+ onStateChange: (updater) => setTableState(updater),
32272
32263
  getCoreRowModel: getCoreRowModel(),
32273
32264
  getFilteredRowModel: getFilteredRowModel(),
32274
32265
  getPaginationRowModel: getPaginationRowModel(),
32275
32266
  getSortedRowModel: getSortedRowModel(),
32276
32267
  getFacetedRowModel: getFacetedRowModel(),
32277
32268
  getFacetedUniqueValues: getFacetedUniqueValues(),
32278
- state: {
32279
- sorting,
32280
- globalFilter,
32281
- columnFilters,
32282
- columnVisibility,
32283
- rowSelection,
32284
- },
32269
+ initialState,
32270
+ state: tableState,
32285
32271
  });
32286
- const tableStyle = table.getRowModel().rows?.length
32287
- ? { width: "100%" }
32288
- : { width: "100%", height: "100%" };
32272
+ const tableStyle = {
32273
+ ...(table.getRowModel().rows?.length
32274
+ ? { width: "100%" }
32275
+ : { width: "100%", height: "100%" }),
32276
+ ...{ "border-collapse": "collapse" },
32277
+ };
32289
32278
  return (jsxRuntimeExports$1.jsx(Flex, { direction: "column", justify: "between", className: styles$4.wrapper, children: jsxRuntimeExports$1.jsxs(TableContext.Provider, { value: {
32290
32279
  table,
32291
- globalFilter,
32280
+ globalFilter: tableState.globalFilter,
32292
32281
  filteredColumns,
32293
32282
  addFilterColumn,
32294
32283
  removeFilterColumn,
32295
32284
  resetColumns,
32296
- onGlobalFilterChange: setGlobalFilter,
32285
+ onGlobalFilterChange: (value) => setTableState((prev) => ({ ...prev, globalFilter: value })),
32297
32286
  onChange: () => ({}),
32298
32287
  tableCustomFilter,
32299
32288
  updateColumnCustomFilter,
@@ -32311,7 +32300,7 @@ function DataTableRoot({ columns, data, emptyState, children, parentStyle, isLoa
32311
32300
  }[header.column.getIsSorted()] ?? jsxRuntimeExports$1.jsx(CaretSortIcon, {})
32312
32301
  : null] }) }, `${header.id}_${index}`));
32313
32302
  }) }, headerGroup.id)))
32314
- : null }), jsxRuntimeExports$1.jsx(Table.Body, { children: table.getRowModel().rows?.length ? (table.getRowModel().rows.map((row) => (jsxRuntimeExports$1.jsx(Table.Row, { "data-state": row.getIsSelected() && "selected", children: row.getVisibleCells().map((cell, index) => (jsxRuntimeExports$1.jsx(Table.Cell, { style: {
32303
+ : null }), jsxRuntimeExports$1.jsx(Table.Body, { children: table.getRowModel().rows?.length ? (table.getRowModel().rows.map((row) => (jsxRuntimeExports$1.jsx(Table.Row, { "data-state": row.getIsSelected() && "selected", onClick: () => onRowClick?.(row.original), className: `${styles$4.tRow} ${onRowClick ? styles$4.tRowClick : ""}`, children: row.getVisibleCells().map((cell, index) => (jsxRuntimeExports$1.jsx(Table.Cell, { style: {
32315
32304
  ...(cell.column.columnDef?.meta?.style ?? {}),
32316
32305
  }, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, `${cell.id}_${index}`))) }, row.id)))) : (jsxRuntimeExports$1.jsx(Table.Row, { children: jsxRuntimeExports$1.jsx(Table.Cell, { colSpan: columns.length, children: emptyState || "No results." }) })) })] }), detail] })] }), footer] }) }));
32317
32306
  }