@ballistix.digital/react-components 0.4.24 → 0.4.26

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.d.ts CHANGED
@@ -255,6 +255,7 @@ type TTableListProps<TData> = {
255
255
  total: number;
256
256
  };
257
257
  defaultOrder?: string[];
258
+ defaultVisibility?: string[];
258
259
  children: ({ min, max, current, }: {
259
260
  min: number;
260
261
  max: number;
package/dist/index.esm.js CHANGED
@@ -16791,38 +16791,6 @@ var utils/*:any*/ = {
16791
16791
  }
16792
16792
  };
16793
16793
 
16794
- var handleGenerateSheets = function (tables) {
16795
- var sheets = [];
16796
- tables.forEach(function (table, index) {
16797
- var _a, _b, _c;
16798
- var columns = table.getAllColumns();
16799
- var rows = (_b = (_a = table.getRowModel()) === null || _a === void 0 ? void 0 : _a.flatRows) === null || _b === void 0 ? void 0 : _b.map(function (row) { return row.original; });
16800
- var headerNames = (_c = columns === null || columns === void 0 ? void 0 : columns.filter(function (column) { var _a; return typeof ((_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.header) === 'string'; })) === null || _c === void 0 ? void 0 : _c.map(function (column) { var _a; return ({ id: column === null || column === void 0 ? void 0 : column.id, value: (_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.header }); });
16801
- var headerRow = {};
16802
- headerNames.forEach(function (name) {
16803
- headerRow[name.id] = {
16804
- value: name.value,
16805
- type: 'string',
16806
- };
16807
- });
16808
- var excelRows = rows.map(function (row) {
16809
- var result = {};
16810
- Object.keys(row).forEach(function (key) {
16811
- var _a, _b, _c;
16812
- var cell = (_c = (_b = (_a = columns === null || columns === void 0 ? void 0 : columns.filter(function (column) { var _a; return typeof ((_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.header) === 'string'; })) === null || _a === void 0 ? void 0 : _a.find(function (column) { return column.id === key; })) === null || _b === void 0 ? void 0 : _b.columnDef.meta) === null || _c === void 0 ? void 0 : _c.excel(row[key]);
16813
- result[key] = cell;
16814
- });
16815
- return result;
16816
- });
16817
- sheets.push({
16818
- title: "Sheet ".concat(index + 1),
16819
- rows: __spreadArray([headerRow], excelRows, true).map(function (row) {
16820
- return Object.keys(row).map(function (key) { return row[key]; });
16821
- }),
16822
- });
16823
- });
16824
- return sheets;
16825
- };
16826
16794
  var useExcel = function () {
16827
16795
  var handleFormatRow = function (row) {
16828
16796
  return row.map(function (cell) {
@@ -16838,6 +16806,54 @@ var useExcel = function () {
16838
16806
  });
16839
16807
  });
16840
16808
  };
16809
+ var generate = function (tables) {
16810
+ var sheets = [];
16811
+ tables.forEach(function (table, index) {
16812
+ var _a, _b, _c, _d;
16813
+ var columns = table.getAllColumns();
16814
+ var rows = (_b = (_a = table.getRowModel()) === null || _a === void 0 ? void 0 : _a.flatRows) === null || _b === void 0 ? void 0 : _b.map(function (row) { return row.original; });
16815
+ var headerNames = (_d = (_c = columns === null || columns === void 0 ? void 0 : columns.filter(function (column) { var _a; return typeof ((_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.header) === 'string'; })) === null || _c === void 0 ? void 0 : _c.filter(function (column) { return column === null || column === void 0 ? void 0 : column.getIsVisible(); })) === null || _d === void 0 ? void 0 : _d.map(function (column) {
16816
+ var _a;
16817
+ return ({
16818
+ id: column === null || column === void 0 ? void 0 : column.id,
16819
+ value: (_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.header,
16820
+ });
16821
+ });
16822
+ var headerRow = {};
16823
+ headerNames.forEach(function (name) {
16824
+ headerRow[name.id] = {
16825
+ value: name.value,
16826
+ type: 'string',
16827
+ };
16828
+ });
16829
+ var excelRows = rows.map(function (row) {
16830
+ var result = {};
16831
+ Object.keys(row)
16832
+ .filter(function (key) {
16833
+ var _a;
16834
+ var column = columns === null || columns === void 0 ? void 0 : columns.find(function (column) { return column.id === key; });
16835
+ return typeof ((_a = column.columnDef) === null || _a === void 0 ? void 0 : _a.header) === 'string';
16836
+ })
16837
+ .filter(function (key) {
16838
+ var column = columns === null || columns === void 0 ? void 0 : columns.find(function (column) { return column.id === key; });
16839
+ return column.getIsVisible();
16840
+ })
16841
+ .forEach(function (key) {
16842
+ var _a, _b;
16843
+ var cell = (_b = (_a = columns === null || columns === void 0 ? void 0 : columns.find(function (column) { return column.id === key; })) === null || _a === void 0 ? void 0 : _a.columnDef.meta) === null || _b === void 0 ? void 0 : _b.excel(row[key]);
16844
+ result[key] = cell;
16845
+ });
16846
+ return result;
16847
+ });
16848
+ sheets.push({
16849
+ title: "Sheet ".concat(index + 1),
16850
+ rows: __spreadArray([headerRow], excelRows, true).map(function (row) {
16851
+ return Object.keys(row).map(function (key) { return row[key]; });
16852
+ }),
16853
+ });
16854
+ });
16855
+ return sheets;
16856
+ };
16841
16857
  var write = function (sheets, options) {
16842
16858
  var fileName = options.fileName;
16843
16859
  var book = utils.book_new();
@@ -16851,6 +16867,7 @@ var useExcel = function () {
16851
16867
  writeFileSync(book, "".concat(fileName, ".xlsx"));
16852
16868
  };
16853
16869
  return {
16870
+ generate: generate,
16854
16871
  write: write,
16855
16872
  };
16856
16873
  };
@@ -16928,8 +16945,8 @@ var styles$8 = {
16928
16945
  };
16929
16946
 
16930
16947
  var TableList = function (props) {
16931
- var id = props.id, columns = props.columns, data = props.data, page = props.page, children = props.children, defaultOrder = props.defaultOrder, _a = props.type, type = _a === void 0 ? 'normal' : _a, isLoading = props.isLoading, _b = props.isStriped, isStriped = _b === void 0 ? false : _b, _c = props.hasStickyHeader, hasStickyHeader = _c === void 0 ? false : _c, _d = props.hasVerticalSeparators, hasVerticalSeparators = _d === void 0 ? false : _d, _e = props.areControlsVisible, areControlsVisible = _e === void 0 ? true : _e, stylesOverrides = props.styles, onChange = props.onChange, onPaginate = props.onPaginate;
16932
- var write = useExcel().write;
16948
+ var id = props.id, columns = props.columns, data = props.data, page = props.page, children = props.children, defaultOrder = props.defaultOrder, defaultVisibility = props.defaultVisibility, _a = props.type, type = _a === void 0 ? 'normal' : _a, isLoading = props.isLoading, _b = props.isStriped, isStriped = _b === void 0 ? false : _b, _c = props.hasStickyHeader, hasStickyHeader = _c === void 0 ? false : _c, _d = props.hasVerticalSeparators, hasVerticalSeparators = _d === void 0 ? false : _d, _e = props.areControlsVisible, areControlsVisible = _e === void 0 ? true : _e, stylesOverrides = props.styles, onChange = props.onChange, onPaginate = props.onPaginate;
16949
+ var _f = useExcel(), generate = _f.generate, write = _f.write;
16933
16950
  var handleGenerateStyle = function () {
16934
16951
  var result = deepCopyObject(styles$7.base);
16935
16952
  var keys = calculateNestedKeys(styles$7.base);
@@ -16939,9 +16956,9 @@ var TableList = function (props) {
16939
16956
  return result;
16940
16957
  };
16941
16958
  var styles = handleGenerateStyle();
16942
- var _f = useState([]), sorting = _f[0], setSorting = _f[1];
16943
- var _g = useState({}), visibility = _g[0], setVisibility = _g[1];
16944
- var _h = useState([]), order = _h[0], setOrder = _h[1];
16959
+ var _g = useState([]), sorting = _g[0], setSorting = _g[1];
16960
+ var _h = useState({}), visibility = _h[0], setVisibility = _h[1];
16961
+ var _j = useState([]), order = _j[0], setOrder = _j[1];
16945
16962
  var table = useReactTable({
16946
16963
  getCoreRowModel: getCoreRowModel(),
16947
16964
  columns: columns,
@@ -16962,7 +16979,7 @@ var TableList = function (props) {
16962
16979
  onChange && onChange({ sorting: sorting, visibility: visibility, order: order });
16963
16980
  }
16964
16981
  // eslint-disable-next-line react-hooks/exhaustive-deps
16965
- }, [sorting || visibility || order]);
16982
+ }, [sorting, visibility, order]);
16966
16983
  var handleUpdateColumnOrder = useCallback(function (column, location) {
16967
16984
  var _a;
16968
16985
  var ids = (_a = table
@@ -16984,6 +17001,23 @@ var TableList = function (props) {
16984
17001
  }
16985
17002
  return setOrder(columns.map(function (column) { var _a; return (_a = column === null || column === void 0 ? void 0 : column.id) !== null && _a !== void 0 ? _a : ''; }));
16986
17003
  }
17004
+ if (!state) {
17005
+ if (defaultVisibility && (defaultVisibility === null || defaultVisibility === void 0 ? void 0 : defaultVisibility.length) > 0) {
17006
+ var base = columns === null || columns === void 0 ? void 0 : columns.map(function (column) {
17007
+ return (column === null || column === void 0 ? void 0 : column.id) ? column === null || column === void 0 ? void 0 : column.id : column === null || column === void 0 ? void 0 : column.accessorKey;
17008
+ }).map(function (key) {
17009
+ var _a;
17010
+ return (_a = {}, _a[key] = false, _a);
17011
+ }).reduce(function (a, b) { return (__assign(__assign({}, a), b)); });
17012
+ var current = defaultVisibility
17013
+ .map(function (key) {
17014
+ var _a;
17015
+ return (_a = {}, _a[key] = true, _a);
17016
+ })
17017
+ .reduce(function (a, b) { return (__assign(__assign({}, a), b)); });
17018
+ return setVisibility(__assign(__assign({}, base), current));
17019
+ }
17020
+ }
16987
17021
  var savedColumnOrder = (_a = state === null || state === void 0 ? void 0 : state.split(',').map(function (id) { return id.replace('-', ''); })) !== null && _a !== void 0 ? _a : [];
16988
17022
  var savedColumnVisibility = {};
16989
17023
  state === null || state === void 0 ? void 0 : state.split(',').forEach(function (id) {
@@ -16991,7 +17025,7 @@ var TableList = function (props) {
16991
17025
  });
16992
17026
  setOrder(savedColumnOrder);
16993
17027
  setVisibility(savedColumnVisibility);
16994
- }, [columns, defaultOrder, id]);
17028
+ }, [columns, defaultOrder, defaultVisibility, id]);
16995
17029
  // Save state to local storage when column visibility or order updates.
16996
17030
  useEffect(function () {
16997
17031
  var _a;
@@ -17023,7 +17057,7 @@ var TableList = function (props) {
17023
17057
  }) })) })), jsx(ButtonElement, __assign({ styles: (stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement)
17024
17058
  ? stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement
17025
17059
  : { container: '!py-1.5 !px-3' }, onClick: function () {
17026
- var sheets = handleGenerateSheets([table]);
17060
+ var sheets = generate([table]);
17027
17061
  write(sheets, { fileName: 'users-export' });
17028
17062
  } }, { children: jsx(TableCellsIcon, { className: "w-6 h-6" }) }))] })), jsx("div", __assign({ className: styles.body.container }, { children: jsx("div", __assign({ className: styles.body.wrapper }, { children: jsx("div", __assign({ className: styles.body.content }, { children: jsxs("div", __assign({ className: styles.body.styleWrapper }, { children: [jsxs("table", __assign({ className: styles.body.table.container, style: hasStickyHeader ? { borderSpacing: 0 } : {} }, { children: [jsx("thead", __assign({ className: styles.body.table.head.container }, { children: table === null || table === void 0 ? void 0 : table.getHeaderGroups().map(function (headerGroup) { return (jsx("tr", { children: headerGroup.headers.map(function (header) { return (jsxs("th", __assign({ colSpan: header.colSpan, className: toClassName(styles.body.table.head.cell, header.column.getCanSort() && 'cursor-pointer'), onClick: header.column.getToggleSortingHandler() }, { children: [header.isPlaceholder
17029
17063
  ? null