@ballistix.digital/react-components 0.4.20 → 0.4.21

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.esm.js CHANGED
@@ -8,7 +8,6 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
8
8
  import { unstable_batchedUpdates } from 'react-dom';
9
9
  import { ViewColumnsIcon, ChevronDownIcon as ChevronDownIcon$1, TableCellsIcon } from '@heroicons/react/24/outline';
10
10
  import { useReactTable, getCoreRowModel, flexRender, createColumnHelper as createColumnHelper$1 } from '@tanstack/react-table';
11
- import { isValid, parse } from 'date-fns';
12
11
  import set$1 from 'lodash/set';
13
12
 
14
13
  /******************************************************************************
@@ -16792,6 +16791,39 @@ var utils/*:any*/ = {
16792
16791
  }
16793
16792
  };
16794
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) { return column === null || column === void 0 ? void 0 : column.getCanSort(); })) === 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;
16812
+ var cell = (_a = columns === null || columns === void 0 ? void 0 : columns.find(function (column) { return column.id === key; }).columnDef.meta) === null || _a === void 0 ? void 0 : _a.excel;
16813
+ var value = row[key];
16814
+ result[key] = __assign(__assign({}, cell), { value: value });
16815
+ });
16816
+ return result;
16817
+ });
16818
+ sheets.push({
16819
+ title: "Sheet ".concat(index + 1),
16820
+ rows: __spreadArray([headerRow], excelRows, true).map(function (row) {
16821
+ return Object.keys(row).map(function (key) { return row[key]; });
16822
+ }),
16823
+ });
16824
+ });
16825
+ return sheets;
16826
+ };
16795
16827
  var useExcel = function () {
16796
16828
  var handleFormatRow = function (row) {
16797
16829
  return row.map(function (cell) {
@@ -16932,49 +16964,6 @@ var TableList = function (props) {
16932
16964
  }
16933
16965
  // eslint-disable-next-line react-hooks/exhaustive-deps
16934
16966
  }, [sorting || visibility || order]);
16935
- var handleCalculateExcelTypeFromValue = function (value) {
16936
- var _a;
16937
- var result = 'string';
16938
- if (value !== undefined &&
16939
- value !== '' &&
16940
- (!isNaN(Number(value)) ||
16941
- !isNaN(Number((_a = "".concat(value)) === null || _a === void 0 ? void 0 : _a.replace('€', '').replace('.', '').replace(',', '.'))))) {
16942
- result = 'number';
16943
- }
16944
- if (isValid(parse(value, 'MM/dd/yyyy', new Date()))
16945
- // isValid(parse(value, 'dd/MM/yyyy', new Date()))
16946
- ) {
16947
- result = 'date';
16948
- }
16949
- return result;
16950
- };
16951
- var handleCalculateExcelFormat = function (type) {
16952
- var result = '';
16953
- if (type === 'number') {
16954
- result = '"€ "#,##0.00';
16955
- }
16956
- if (type === 'date') {
16957
- result = 'dd.MM.yyyy';
16958
- }
16959
- return result;
16960
- };
16961
- var handleCalculateSheets = function () {
16962
- var _a, _b;
16963
- var rowsForFirstSheet = [];
16964
- var rows = (_b = (_a = table
16965
- .getRowModel()) === null || _a === void 0 ? void 0 : _a.flatRows) === null || _b === void 0 ? void 0 : _b.map(function (row) { return row.original; });
16966
- rows.forEach(function (row) {
16967
- var result = [];
16968
- Object.keys(row).forEach(function (cell) {
16969
- var value = row[cell];
16970
- var type = handleCalculateExcelTypeFromValue(value);
16971
- var format = handleCalculateExcelFormat(type);
16972
- result.push({ value: value, type: type, format: format });
16973
- });
16974
- rowsForFirstSheet.push(result);
16975
- });
16976
- return [{ title: 'Sheet 1', rows: rowsForFirstSheet }];
16977
- };
16978
16967
  var handleUpdateColumnOrder = useCallback(function (column, location) {
16979
16968
  var _a;
16980
16969
  var ids = (_a = table
@@ -17035,7 +17024,7 @@ var TableList = function (props) {
17035
17024
  }) })) })), jsx(ButtonElement, __assign({ styles: (stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement)
17036
17025
  ? stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement
17037
17026
  : { container: '!py-1.5 !px-3' }, onClick: function () {
17038
- var sheets = handleCalculateSheets();
17027
+ var sheets = handleGenerateSheets([table]);
17039
17028
  write(sheets, { fileName: 'users-export' });
17040
17029
  } }, { 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
17041
17030
  ? null
@@ -17581,7 +17570,7 @@ var ModalOverlay = function (props) {
17581
17570
  };
17582
17571
 
17583
17572
  var base$2 = {
17584
- container: 'relative z-40',
17573
+ container: 'relative z-0',
17585
17574
  background: {
17586
17575
  container: 'fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity',
17587
17576
  transition: {