@ballistix.digital/react-components 0.4.25 → 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,44 +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)
16811
- .filter(function (key) {
16812
- var _a;
16813
- var cell = columns === null || columns === void 0 ? void 0 : columns.find(function (column) { return column.id === key; });
16814
- return typeof ((_a = cell.columnDef) === null || _a === void 0 ? void 0 : _a.header) === 'string';
16815
- })
16816
- .forEach(function (key) {
16817
- var _a, _b;
16818
- 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]);
16819
- result[key] = cell;
16820
- });
16821
- return result;
16822
- });
16823
- sheets.push({
16824
- title: "Sheet ".concat(index + 1),
16825
- rows: __spreadArray([headerRow], excelRows, true).map(function (row) {
16826
- return Object.keys(row).map(function (key) { return row[key]; });
16827
- }),
16828
- });
16829
- });
16830
- return sheets;
16831
- };
16832
16794
  var useExcel = function () {
16833
16795
  var handleFormatRow = function (row) {
16834
16796
  return row.map(function (cell) {
@@ -16844,6 +16806,54 @@ var useExcel = function () {
16844
16806
  });
16845
16807
  });
16846
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
+ };
16847
16857
  var write = function (sheets, options) {
16848
16858
  var fileName = options.fileName;
16849
16859
  var book = utils.book_new();
@@ -16857,6 +16867,7 @@ var useExcel = function () {
16857
16867
  writeFileSync(book, "".concat(fileName, ".xlsx"));
16858
16868
  };
16859
16869
  return {
16870
+ generate: generate,
16860
16871
  write: write,
16861
16872
  };
16862
16873
  };
@@ -16934,8 +16945,8 @@ var styles$8 = {
16934
16945
  };
16935
16946
 
16936
16947
  var TableList = function (props) {
16937
- 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;
16938
- 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;
16939
16950
  var handleGenerateStyle = function () {
16940
16951
  var result = deepCopyObject(styles$7.base);
16941
16952
  var keys = calculateNestedKeys(styles$7.base);
@@ -16945,9 +16956,9 @@ var TableList = function (props) {
16945
16956
  return result;
16946
16957
  };
16947
16958
  var styles = handleGenerateStyle();
16948
- var _f = useState([]), sorting = _f[0], setSorting = _f[1];
16949
- var _g = useState({}), visibility = _g[0], setVisibility = _g[1];
16950
- 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];
16951
16962
  var table = useReactTable({
16952
16963
  getCoreRowModel: getCoreRowModel(),
16953
16964
  columns: columns,
@@ -16968,7 +16979,7 @@ var TableList = function (props) {
16968
16979
  onChange && onChange({ sorting: sorting, visibility: visibility, order: order });
16969
16980
  }
16970
16981
  // eslint-disable-next-line react-hooks/exhaustive-deps
16971
- }, [sorting || visibility || order]);
16982
+ }, [sorting, visibility, order]);
16972
16983
  var handleUpdateColumnOrder = useCallback(function (column, location) {
16973
16984
  var _a;
16974
16985
  var ids = (_a = table
@@ -16990,6 +17001,23 @@ var TableList = function (props) {
16990
17001
  }
16991
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 : ''; }));
16992
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
+ }
16993
17021
  var savedColumnOrder = (_a = state === null || state === void 0 ? void 0 : state.split(',').map(function (id) { return id.replace('-', ''); })) !== null && _a !== void 0 ? _a : [];
16994
17022
  var savedColumnVisibility = {};
16995
17023
  state === null || state === void 0 ? void 0 : state.split(',').forEach(function (id) {
@@ -16997,7 +17025,7 @@ var TableList = function (props) {
16997
17025
  });
16998
17026
  setOrder(savedColumnOrder);
16999
17027
  setVisibility(savedColumnVisibility);
17000
- }, [columns, defaultOrder, id]);
17028
+ }, [columns, defaultOrder, defaultVisibility, id]);
17001
17029
  // Save state to local storage when column visibility or order updates.
17002
17030
  useEffect(function () {
17003
17031
  var _a;
@@ -17029,7 +17057,7 @@ var TableList = function (props) {
17029
17057
  }) })) })), jsx(ButtonElement, __assign({ styles: (stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement)
17030
17058
  ? stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement
17031
17059
  : { container: '!py-1.5 !px-3' }, onClick: function () {
17032
- var sheets = handleGenerateSheets([table]);
17060
+ var sheets = generate([table]);
17033
17061
  write(sheets, { fileName: 'users-export' });
17034
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
17035
17063
  ? null