@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.js CHANGED
@@ -16801,44 +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)
16821
- .filter(function (key) {
16822
- var _a;
16823
- var cell = columns === null || columns === void 0 ? void 0 : columns.find(function (column) { return column.id === key; });
16824
- return typeof ((_a = cell.columnDef) === null || _a === void 0 ? void 0 : _a.header) === 'string';
16825
- })
16826
- .forEach(function (key) {
16827
- var _a, _b;
16828
- 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]);
16829
- result[key] = cell;
16830
- });
16831
- return result;
16832
- });
16833
- sheets.push({
16834
- title: "Sheet ".concat(index + 1),
16835
- rows: __spreadArray([headerRow], excelRows, true).map(function (row) {
16836
- return Object.keys(row).map(function (key) { return row[key]; });
16837
- }),
16838
- });
16839
- });
16840
- return sheets;
16841
- };
16842
16804
  var useExcel = function () {
16843
16805
  var handleFormatRow = function (row) {
16844
16806
  return row.map(function (cell) {
@@ -16854,6 +16816,54 @@ var useExcel = function () {
16854
16816
  });
16855
16817
  });
16856
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
+ };
16857
16867
  var write = function (sheets, options) {
16858
16868
  var fileName = options.fileName;
16859
16869
  var book = utils.book_new();
@@ -16867,6 +16877,7 @@ var useExcel = function () {
16867
16877
  writeFileSync(book, "".concat(fileName, ".xlsx"));
16868
16878
  };
16869
16879
  return {
16880
+ generate: generate,
16870
16881
  write: write,
16871
16882
  };
16872
16883
  };
@@ -16944,8 +16955,8 @@ var styles$8 = {
16944
16955
  };
16945
16956
 
16946
16957
  var TableList = function (props) {
16947
- 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;
16948
- 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;
16949
16960
  var handleGenerateStyle = function () {
16950
16961
  var result = deepCopyObject(styles$7.base);
16951
16962
  var keys = calculateNestedKeys(styles$7.base);
@@ -16955,9 +16966,9 @@ var TableList = function (props) {
16955
16966
  return result;
16956
16967
  };
16957
16968
  var styles = handleGenerateStyle();
16958
- var _f = n.useState([]), sorting = _f[0], setSorting = _f[1];
16959
- var _g = n.useState({}), visibility = _g[0], setVisibility = _g[1];
16960
- 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];
16961
16972
  var table = reactTable.useReactTable({
16962
16973
  getCoreRowModel: reactTable.getCoreRowModel(),
16963
16974
  columns: columns,
@@ -16978,7 +16989,7 @@ var TableList = function (props) {
16978
16989
  onChange && onChange({ sorting: sorting, visibility: visibility, order: order });
16979
16990
  }
16980
16991
  // eslint-disable-next-line react-hooks/exhaustive-deps
16981
- }, [sorting || visibility || order]);
16992
+ }, [sorting, visibility, order]);
16982
16993
  var handleUpdateColumnOrder = n.useCallback(function (column, location) {
16983
16994
  var _a;
16984
16995
  var ids = (_a = table
@@ -17000,6 +17011,23 @@ var TableList = function (props) {
17000
17011
  }
17001
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 : ''; }));
17002
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
+ }
17003
17031
  var savedColumnOrder = (_a = state === null || state === void 0 ? void 0 : state.split(',').map(function (id) { return id.replace('-', ''); })) !== null && _a !== void 0 ? _a : [];
17004
17032
  var savedColumnVisibility = {};
17005
17033
  state === null || state === void 0 ? void 0 : state.split(',').forEach(function (id) {
@@ -17007,7 +17035,7 @@ var TableList = function (props) {
17007
17035
  });
17008
17036
  setOrder(savedColumnOrder);
17009
17037
  setVisibility(savedColumnVisibility);
17010
- }, [columns, defaultOrder, id]);
17038
+ }, [columns, defaultOrder, defaultVisibility, id]);
17011
17039
  // Save state to local storage when column visibility or order updates.
17012
17040
  n.useEffect(function () {
17013
17041
  var _a;
@@ -17039,7 +17067,7 @@ var TableList = function (props) {
17039
17067
  }) })) })), jsxRuntime.jsx(ButtonElement, __assign({ styles: (stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement)
17040
17068
  ? stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement
17041
17069
  : { container: '!py-1.5 !px-3' }, onClick: function () {
17042
- var sheets = handleGenerateSheets([table]);
17070
+ var sheets = generate([table]);
17043
17071
  write(sheets, { fileName: 'users-export' });
17044
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
17045
17073
  ? null