labsense-ui-kit 1.1.64 → 1.1.66

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.
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { TableProps } from './index';
3
- declare const Table: React.FC<{
3
+ interface TableInterface {
4
4
  tableObject: TableProps;
5
5
  filter?: boolean;
6
6
  loading?: boolean;
7
7
  noDataText?: string;
8
- }>;
8
+ }
9
+ declare const Table: React.FC<TableInterface>;
9
10
  export default Table;
@@ -3,6 +3,7 @@ import { HeaderConfig, RowConfig } from '.';
3
3
  interface TableRowProps {
4
4
  tableheaderconfig: HeaderConfig;
5
5
  rowconfig: RowConfig[];
6
+ selectCallback?: (checked: boolean, id?: string | number) => void;
6
7
  }
7
8
  declare const TableRow: React.FC<TableRowProps>;
8
9
  export default TableRow;
@@ -7,14 +7,12 @@ interface HeaderCellConfig {
7
7
  maintext?: string;
8
8
  alignment?: string;
9
9
  CustomFunction?: React.ReactElement;
10
- legend?: string;
10
+ groupTitle?: string;
11
11
  }
12
12
  interface HeaderConfig {
13
13
  headercolor?: string;
14
14
  textcolor?: string;
15
15
  isAllSelectable?: boolean;
16
- selectrowCallback?: (checked: boolean, id?: string | number) => void;
17
- toggleAllCallback?: (checked: boolean) => void;
18
16
  headerdata: HeaderCellConfig[];
19
17
  }
20
18
  interface TableCellProps {
@@ -35,6 +33,7 @@ interface TableCellProps {
35
33
  minHeight?: string;
36
34
  }
37
35
  interface RowConfig {
36
+ id: string | number;
38
37
  _checked?: boolean;
39
38
  _selectable?: boolean;
40
39
  rowData: TableCellProps[];
@@ -42,6 +41,8 @@ interface RowConfig {
42
41
  interface TableProps {
43
42
  tableheaderconfig: HeaderConfig;
44
43
  rowconfig: RowConfig[];
44
+ selectCallback?: (checked: boolean, id?: string | number) => void;
45
+ toggleAllCallback?: (checked: boolean) => void;
45
46
  }
46
47
  export type { TableProps, RowConfig, TableCellProps, HeaderCellConfig, HeaderConfig };
47
48
  export { TableCell, Table, TableRow };
package/dist/index.js CHANGED
@@ -6741,15 +6741,19 @@ var TableCell = function TableCell(_ref2) {
6741
6741
  };
6742
6742
 
6743
6743
  var _templateObject$o;
6744
- var TableRowContainer = styled.styled.div(_templateObject$o || (_templateObject$o = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n background: inherit;\n align-items:center;\n padding: 16px 12px;\n width: 100%;\n"])));
6744
+ var TableRowContainer = styled.styled.div(_templateObject$o || (_templateObject$o = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n background: inherit;\n align-items: center;\n padding: 16px 12px;\n width: 100%;\n"])));
6745
6745
  var TableRow = function TableRow(_ref) {
6746
6746
  var rowconfig = _ref.rowconfig,
6747
- tableheaderconfig = _ref.tableheaderconfig;
6747
+ tableheaderconfig = _ref.tableheaderconfig,
6748
+ selectCallback = _ref.selectCallback;
6748
6749
  var toggleChecked = function toggleChecked(index) {
6749
- rowconfig[index]._checked = !rowconfig[index]._checked;
6750
+ var currentRow = rowconfig[index];
6751
+ var newChecked = !currentRow._checked;
6752
+ if (selectCallback && currentRow.id !== undefined) {
6753
+ selectCallback(newChecked, currentRow.id);
6754
+ }
6750
6755
  };
6751
6756
  return React__default.createElement(Container, null, rowconfig.map(function (data, Index) {
6752
- var _rowconfig$Index;
6753
6757
  return React__default.createElement(TableRowContainer, {
6754
6758
  key: Index
6755
6759
  }, tableheaderconfig.isAllSelectable && React__default.createElement(Container, {
@@ -6758,12 +6762,12 @@ var TableRow = function TableRow(_ref) {
6758
6762
  }, React__default.createElement(StyledCheckBox, {
6759
6763
  type: 'checkbox',
6760
6764
  "$checkboxSize": 13.5,
6761
- checked: rowconfig[Index]._checked,
6762
- "$checked": rowconfig[Index]._checked,
6765
+ checked: data._checked,
6766
+ "$checked": data._checked,
6763
6767
  onChange: function onChange() {
6764
6768
  return toggleChecked(Index);
6765
6769
  },
6766
- disabled: (_rowconfig$Index = rowconfig[Index]) === null || _rowconfig$Index === void 0 ? void 0 : _rowconfig$Index._selectable,
6770
+ disabled: data === null || data === void 0 ? void 0 : data._selectable,
6767
6771
  "$borderSize": 2
6768
6772
  })), data.rowData.map(function (cellData, cellkey) {
6769
6773
  var _tableheaderconfig$he;
@@ -6799,7 +6803,7 @@ var TableData = styled__default.div(_templateObject4$b || (_templateObject4$b =
6799
6803
  var $isLegends = _ref.$isLegends;
6800
6804
  return $isLegends ? 'calc(100% - 56px)' : 'calc(100% - 36px)';
6801
6805
  });
6802
- var LegendDivider = styled__default.div(_templateObject5$9 || (_templateObject5$9 = _taggedTemplateLiteralLoose(["\n flex: 1;\n height: 1px;\n background: ", ";\n"])), colorVariables.border.extraLight);
6806
+ var LegendDivider = styled__default.div(_templateObject5$9 || (_templateObject5$9 = _taggedTemplateLiteralLoose(["\n flex: 1;\n height: 2px;\n background: ", ";\n"])), colorVariables.border.extraLight);
6803
6807
  var Divider = styled__default.div(_templateObject6$7 || (_templateObject6$7 = _taggedTemplateLiteralLoose(["\n height: 2px;\n background: ", ";\n"])), colorVariables.border.extraLight);
6804
6808
  var Table = function Table(_ref2) {
6805
6809
  var tableObject = _ref2.tableObject,
@@ -6841,14 +6845,19 @@ var Table = function Table(_ref2) {
6841
6845
  });
6842
6846
  };
6843
6847
  var toggleSelectAll = function toggleSelectAll() {
6848
+ var _tableObject$toggleAl;
6844
6849
  var newState = !isAllSelected;
6845
- setIsAllSelected(newState);
6846
- tableObject.rowconfig.forEach(function (row) {
6847
- row._checked = newState;
6848
- });
6850
+ (_tableObject$toggleAl = tableObject.toggleAllCallback) === null || _tableObject$toggleAl === void 0 ? void 0 : _tableObject$toggleAl.call(tableObject, newState);
6849
6851
  };
6850
6852
  React.useEffect(function () {
6851
- setIsAllSelected(false);
6853
+ if (!(rowconfig !== null && rowconfig !== void 0 && rowconfig.length)) {
6854
+ setIsAllSelected(false);
6855
+ return;
6856
+ }
6857
+ var allChecked = rowconfig.every(function (row) {
6858
+ return row._checked;
6859
+ });
6860
+ setIsAllSelected(allChecked);
6852
6861
  }, [rowconfig]);
6853
6862
  return React__default.createElement(TableContainer, null, React__default.createElement(TableContent, null, React__default.createElement(TableHeader, {
6854
6863
  "$hbcolor": tableheaderconfig.headercolor,
@@ -6865,17 +6874,17 @@ var Table = function Table(_ref2) {
6865
6874
  "$borderSize": 2
6866
6875
  })), tableheaderconfig.headerdata.map(function (columndata, index, allCols) {
6867
6876
  var _columndata$maintext;
6868
- var currentLegend = columndata.legend || '';
6869
- var prevLegend = index > 0 ? allCols[index - 1].legend || '' : '';
6870
- var isFirstOfGroup = currentLegend && currentLegend !== prevLegend;
6871
- var isInLegendGroup = !!currentLegend;
6877
+ var currentGroupTitle = columndata.groupTitle || '';
6878
+ var prevGroupTitle = index > 0 ? allCols[index - 1].groupTitle || '' : '';
6879
+ var isFirstOfGroup = currentGroupTitle && currentGroupTitle !== prevGroupTitle;
6880
+ var isInLegendGroup = !!currentGroupTitle;
6872
6881
  return React__default.createElement(Container, {
6873
6882
  key: index,
6874
6883
  "$flexDirection": 'column',
6875
6884
  "$width": columndata.width || '100px',
6876
6885
  "$gap": '8px'
6877
6886
  }, tableheaderconfig.headerdata.some(function (col) {
6878
- return !!col.legend;
6887
+ return !!col.groupTitle;
6879
6888
  }) && React__default.createElement(Container, {
6880
6889
  "$alignItems": 'center',
6881
6890
  "$height": '16px'
@@ -6884,7 +6893,7 @@ var Table = function Table(_ref2) {
6884
6893
  "$fontWeight": '400',
6885
6894
  "$width": 'max-content',
6886
6895
  "$lineHeight": 'normal'
6887
- }, currentLegend), React__default.createElement(LegendDivider, null)) : React__default.createElement(LegendDivider, null)) : null), React__default.createElement(TableCell, {
6896
+ }, currentGroupTitle), React__default.createElement(LegendDivider, null)) : React__default.createElement(LegendDivider, null)) : null), React__default.createElement(TableCell, {
6888
6897
  maintext: (_columndata$maintext = columndata.maintext) != null ? _columndata$maintext : '',
6889
6898
  width: columndata.width,
6890
6899
  alignment: columndata.alignment
@@ -6903,7 +6912,7 @@ var Table = function Table(_ref2) {
6903
6912
  "$justifyContent": 'center'
6904
6913
  }, React__default.createElement(Span, null, noDataText)) : filter ? React__default.createElement(TableData, {
6905
6914
  "$isLegends": tableheaderconfig.headerdata.some(function (col) {
6906
- return !!col.legend;
6915
+ return !!col.groupTitle;
6907
6916
  })
6908
6917
  }, Object.entries(roleGroups).map(function (_ref3) {
6909
6918
  var role = _ref3[0],
@@ -6934,19 +6943,21 @@ var Table = function Table(_ref2) {
6934
6943
  "$flexDirection": 'column'
6935
6944
  }, React__default.createElement(TableRow, {
6936
6945
  rowconfig: [row],
6937
- tableheaderconfig: tableheaderconfig
6946
+ tableheaderconfig: tableheaderconfig,
6947
+ selectCallback: tableObject.selectCallback
6938
6948
  }), rows.length > 1 && index < rows.length - 1 && React__default.createElement(Divider, null));
6939
6949
  }));
6940
6950
  })) : React__default.createElement(TableData, {
6941
6951
  "$isLegends": tableheaderconfig.headerdata.some(function (col) {
6942
- return !!col.legend;
6952
+ return !!col.groupTitle;
6943
6953
  })
6944
6954
  }, filteredRows.map(function (row, index) {
6945
6955
  return React__default.createElement(React__default.Fragment, {
6946
6956
  key: index
6947
6957
  }, React__default.createElement(TableRow, {
6948
6958
  rowconfig: [row],
6949
- tableheaderconfig: tableheaderconfig
6959
+ tableheaderconfig: tableheaderconfig,
6960
+ selectCallback: tableObject.selectCallback
6950
6961
  }), filteredRows.length > 1 && index < filteredRows.length - 1 && React__default.createElement(Divider, null));
6951
6962
  }))));
6952
6963
  };