@ballistix.digital/react-components 0.4.20 → 0.4.22

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,38 @@ 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) { 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;
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(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
+ };
16795
16826
  var useExcel = function () {
16796
16827
  var handleFormatRow = function (row) {
16797
16828
  return row.map(function (cell) {
@@ -16932,49 +16963,6 @@ var TableList = function (props) {
16932
16963
  }
16933
16964
  // eslint-disable-next-line react-hooks/exhaustive-deps
16934
16965
  }, [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
16966
  var handleUpdateColumnOrder = useCallback(function (column, location) {
16979
16967
  var _a;
16980
16968
  var ids = (_a = table
@@ -17035,7 +17023,7 @@ var TableList = function (props) {
17035
17023
  }) })) })), jsx(ButtonElement, __assign({ styles: (stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement)
17036
17024
  ? stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.components.buttonElement
17037
17025
  : { container: '!py-1.5 !px-3' }, onClick: function () {
17038
- var sheets = handleCalculateSheets();
17026
+ var sheets = handleGenerateSheets([table]);
17039
17027
  write(sheets, { fileName: 'users-export' });
17040
17028
  } }, { 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
17029
  ? null
@@ -17581,7 +17569,7 @@ var ModalOverlay = function (props) {
17581
17569
  };
17582
17570
 
17583
17571
  var base$2 = {
17584
- container: 'relative z-40',
17572
+ container: 'relative z-0',
17585
17573
  background: {
17586
17574
  container: 'fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity',
17587
17575
  transition: {