@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.js CHANGED
@@ -16801,38 +16801,6 @@ var utils/*:any*/ = {
16801
16801
  }
16802
16802
  };
16803
16803
 
16804
- var handleGenerateSheets = function (tables) {
16805
- var sheets = [];
16806
- tables.forEach(function (table, index) {
16807
- var _a, _b, _c;
16808
- var columns = table.getAllColumns();
16809
- 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; });
16810
- 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 }); });
16811
- var headerRow = {};
16812
- headerNames.forEach(function (name) {
16813
- headerRow[name.id] = {
16814
- value: name.value,
16815
- type: 'string',
16816
- };
16817
- });
16818
- var excelRows = rows.map(function (row) {
16819
- var result = {};
16820
- Object.keys(row).forEach(function (key) {
16821
- var _a, _b, _c;
16822
- 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]);
16823
- result[key] = cell;
16824
- });
16825
- return result;
16826
- });
16827
- sheets.push({
16828
- title: "Sheet ".concat(index + 1),
16829
- rows: __spreadArray([headerRow], excelRows, true).map(function (row) {
16830
- return Object.keys(row).map(function (key) { return row[key]; });
16831
- }),
16832
- });
16833
- });
16834
- return sheets;
16835
- };
16836
16804
  var useExcel = function () {
16837
16805
  var handleFormatRow = function (row) {
16838
16806
  return row.map(function (cell) {
@@ -16848,6 +16816,54 @@ var useExcel = function () {
16848
16816
  });
16849
16817
  });
16850
16818
  };
16819
+ var generate = function (tables) {
16820
+ var sheets = [];
16821
+ tables.forEach(function (table, index) {
16822
+ var _a, _b, _c, _d;
16823
+ var columns = table.getAllColumns();
16824
+ 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; });
16825
+ 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) {
16826
+ var _a;
16827
+ return ({
16828
+ id: column === null || column === void 0 ? void 0 : column.id,
16829
+ value: (_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.header,
16830
+ });
16831
+ });
16832
+ var headerRow = {};
16833
+ headerNames.forEach(function (name) {
16834
+ headerRow[name.id] = {
16835
+ value: name.value,
16836
+ type: 'string',
16837
+ };
16838
+ });
16839
+ var excelRows = rows.map(function (row) {
16840
+ var result = {};
16841
+ Object.keys(row)
16842
+ .filter(function (key) {
16843
+ var _a;
16844
+ var column = columns === null || columns === void 0 ? void 0 : columns.find(function (column) { return column.id === key; });
16845
+ return typeof ((_a = column.columnDef) === null || _a === void 0 ? void 0 : _a.header) === 'string';
16846
+ })
16847
+ .filter(function (key) {
16848
+ var column = columns === null || columns === void 0 ? void 0 : columns.find(function (column) { return column.id === key; });
16849
+ return column.getIsVisible();
16850
+ })
16851
+ .forEach(function (key) {
16852
+ var _a, _b;
16853
+ 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]);
16854
+ result[key] = cell;
16855
+ });
16856
+ return result;
16857
+ });
16858
+ sheets.push({
16859
+ title: "Sheet ".concat(index + 1),
16860
+ rows: __spreadArray([headerRow], excelRows, true).map(function (row) {
16861
+ return Object.keys(row).map(function (key) { return row[key]; });
16862
+ }),
16863
+ });
16864
+ });
16865
+ return sheets;
16866
+ };
16851
16867
  var write = function (sheets, options) {
16852
16868
  var fileName = options.fileName;
16853
16869
  var book = utils.book_new();
@@ -16861,6 +16877,7 @@ var useExcel = function () {
16861
16877
  writeFileSync(book, "".concat(fileName, ".xlsx"));
16862
16878
  };
16863
16879
  return {
16880
+ generate: generate,
16864
16881
  write: write,
16865
16882
  };
16866
16883
  };
@@ -16938,8 +16955,8 @@ var styles$8 = {
16938
16955
  };
16939
16956
 
16940
16957
  var TableList = function (props) {
16941
- 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;
16942
- var write = useExcel().write;
16958
+ 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;
16959
+ var _f = useExcel(), generate = _f.generate, write = _f.write;
16943
16960
  var handleGenerateStyle = function () {
16944
16961
  var result = deepCopyObject(styles$7.base);
16945
16962
  var keys = calculateNestedKeys(styles$7.base);
@@ -16949,9 +16966,9 @@ var TableList = function (props) {
16949
16966
  return result;
16950
16967
  };
16951
16968
  var styles = handleGenerateStyle();
16952
- var _f = n.useState([]), sorting = _f[0], setSorting = _f[1];
16953
- var _g = n.useState({}), visibility = _g[0], setVisibility = _g[1];
16954
- var _h = n.useState([]), order = _h[0], setOrder = _h[1];
16969
+ var _g = n.useState([]), sorting = _g[0], setSorting = _g[1];
16970
+ var _h = n.useState({}), visibility = _h[0], setVisibility = _h[1];
16971
+ var _j = n.useState([]), order = _j[0], setOrder = _j[1];
16955
16972
  var table = reactTable.useReactTable({
16956
16973
  getCoreRowModel: reactTable.getCoreRowModel(),
16957
16974
  columns: columns,
@@ -16972,7 +16989,7 @@ var TableList = function (props) {
16972
16989
  onChange && onChange({ sorting: sorting, visibility: visibility, order: order });
16973
16990
  }
16974
16991
  // eslint-disable-next-line react-hooks/exhaustive-deps
16975
- }, [sorting || visibility || order]);
16992
+ }, [sorting, visibility, order]);
16976
16993
  var handleUpdateColumnOrder = n.useCallback(function (column, location) {
16977
16994
  var _a;
16978
16995
  var ids = (_a = table
@@ -16994,6 +17011,23 @@ var TableList = function (props) {
16994
17011
  }
16995
17012
  return setOrder(columns.map(function (column) { var _a; return (_a = column === null || column === void 0 ? void 0 : column.id) !== null && _a !== void 0 ? _a : ''; }));
16996
17013
  }
17014
+ if (!state) {
17015
+ if (defaultVisibility && (defaultVisibility === null || defaultVisibility === void 0 ? void 0 : defaultVisibility.length) > 0) {
17016
+ var base = columns === null || columns === void 0 ? void 0 : columns.map(function (column) {
17017
+ 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;
17018
+ }).map(function (key) {
17019
+ var _a;
17020
+ return (_a = {}, _a[key] = false, _a);
17021
+ }).reduce(function (a, b) { return (__assign(__assign({}, a), b)); });
17022
+ var current = defaultVisibility
17023
+ .map(function (key) {
17024
+ var _a;
17025
+ return (_a = {}, _a[key] = true, _a);
17026
+ })
17027
+ .reduce(function (a, b) { return (__assign(__assign({}, a), b)); });
17028
+ return setVisibility(__assign(__assign({}, base), current));
17029
+ }
17030
+ }
16997
17031
  var savedColumnOrder = (_a = state === null || state === void 0 ? void 0 : state.split(',').map(function (id) { return id.replace('-', ''); })) !== null && _a !== void 0 ? _a : [];
16998
17032
  var savedColumnVisibility = {};
16999
17033
  state === null || state === void 0 ? void 0 : state.split(',').forEach(function (id) {
@@ -17001,7 +17035,7 @@ var TableList = function (props) {
17001
17035
  });
17002
17036
  setOrder(savedColumnOrder);
17003
17037
  setVisibility(savedColumnVisibility);
17004
- }, [columns, defaultOrder, id]);
17038
+ }, [columns, defaultOrder, defaultVisibility, id]);
17005
17039
  // Save state to local storage when column visibility or order updates.
17006
17040
  n.useEffect(function () {
17007
17041
  var _a;
@@ -17033,7 +17067,7 @@ var TableList = function (props) {
17033
17067
  }) })) })), jsxRuntime.jsx(ButtonElement, __assign({ styles: (stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement)
17034
17068
  ? stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement
17035
17069
  : { container: '!py-1.5 !px-3' }, onClick: function () {
17036
- var sheets = handleGenerateSheets([table]);
17070
+ var sheets = generate([table]);
17037
17071
  write(sheets, { fileName: 'users-export' });
17038
17072
  } }, { children: jsxRuntime.jsx(outline$2.TableCellsIcon, { className: "w-6 h-6" }) }))] })), jsxRuntime.jsx("div", __assign({ className: styles.body.container }, { children: jsxRuntime.jsx("div", __assign({ className: styles.body.wrapper }, { children: jsxRuntime.jsx("div", __assign({ className: styles.body.content }, { children: jsxRuntime.jsxs("div", __assign({ className: styles.body.styleWrapper }, { children: [jsxRuntime.jsxs("table", __assign({ className: styles.body.table.container, style: hasStickyHeader ? { borderSpacing: 0 } : {} }, { children: [jsxRuntime.jsx("thead", __assign({ className: styles.body.table.head.container }, { children: table === null || table === void 0 ? void 0 : table.getHeaderGroups().map(function (headerGroup) { return (jsxRuntime.jsx("tr", { children: headerGroup.headers.map(function (header) { return (jsxRuntime.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
17039
17073
  ? null