@laerdal/life-react-components 1.3.2-dev.7 → 1.4.1-dev.1.full

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.
Files changed (66) hide show
  1. package/dist/esm/Button/DualFunctionButton.js +4 -0
  2. package/dist/esm/Button/DualFunctionButton.js.map +1 -1
  3. package/dist/esm/Dropdown/DropdownContent.js +6 -6
  4. package/dist/esm/Dropdown/DropdownContent.js.map +1 -1
  5. package/dist/esm/Modals/ModalDialog.js +7 -4
  6. package/dist/esm/Modals/ModalDialog.js.map +1 -1
  7. package/dist/esm/Modals/ModalNote.js +1 -1
  8. package/dist/esm/Modals/ModalNote.js.map +1 -1
  9. package/dist/esm/Table/Table.js +22 -6
  10. package/dist/esm/Table/Table.js.map +1 -1
  11. package/dist/esm/Table/TableBody.js +14 -24
  12. package/dist/esm/Table/TableBody.js.map +1 -1
  13. package/dist/esm/Table/TableFooter.js +13 -12
  14. package/dist/esm/Table/TableFooter.js.map +1 -1
  15. package/dist/esm/Table/TableHeaders.js +8 -19
  16. package/dist/esm/Table/TableHeaders.js.map +1 -1
  17. package/dist/esm/Table/TableStyles.js +226 -180
  18. package/dist/esm/Table/TableStyles.js.map +1 -1
  19. package/dist/esm/Table/__tests__/Table.test.js +162 -0
  20. package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
  21. package/dist/js/Button/DualFunctionButton.js +4 -0
  22. package/dist/js/Button/DualFunctionButton.js.map +1 -1
  23. package/dist/js/Dropdown/DropdownContent.js +8 -8
  24. package/dist/js/Dropdown/DropdownContent.js.map +1 -1
  25. package/dist/js/Modals/ModalDialog.d.ts +2 -1
  26. package/dist/js/Modals/ModalDialog.js +7 -4
  27. package/dist/js/Modals/ModalDialog.js.map +1 -1
  28. package/dist/js/Modals/ModalNote.d.ts +1 -1
  29. package/dist/js/Modals/ModalNote.js +1 -1
  30. package/dist/js/Modals/ModalNote.js.map +1 -1
  31. package/dist/js/Table/Table.js +32 -11
  32. package/dist/js/Table/Table.js.map +1 -1
  33. package/dist/js/Table/TableBody.js +16 -25
  34. package/dist/js/Table/TableBody.js.map +1 -1
  35. package/dist/js/Table/TableFooter.d.ts +2 -0
  36. package/dist/js/Table/TableFooter.js +19 -12
  37. package/dist/js/Table/TableFooter.js.map +1 -1
  38. package/dist/js/Table/TableHeaders.js +9 -19
  39. package/dist/js/Table/TableHeaders.js.map +1 -1
  40. package/dist/js/Table/TableStyles.d.ts +19 -0
  41. package/dist/js/Table/TableStyles.js +79 -3
  42. package/dist/js/Table/TableStyles.js.map +1 -1
  43. package/dist/js/Table/TableTypes.d.ts +4 -1
  44. package/dist/js/Table/__tests__/Table.test.js +164 -0
  45. package/dist/js/Table/__tests__/Table.test.js.map +1 -1
  46. package/dist/umd/Button/DualFunctionButton.js +4 -0
  47. package/dist/umd/Button/DualFunctionButton.js.map +1 -1
  48. package/dist/umd/Dropdown/DropdownContent.js +6 -6
  49. package/dist/umd/Dropdown/DropdownContent.js.map +1 -1
  50. package/dist/umd/Modals/ModalDialog.js +7 -4
  51. package/dist/umd/Modals/ModalDialog.js.map +1 -1
  52. package/dist/umd/Modals/ModalNote.js +1 -1
  53. package/dist/umd/Modals/ModalNote.js.map +1 -1
  54. package/dist/umd/Table/Table.js +21 -5
  55. package/dist/umd/Table/Table.js.map +1 -1
  56. package/dist/umd/Table/TableBody.js +17 -28
  57. package/dist/umd/Table/TableBody.js.map +1 -1
  58. package/dist/umd/Table/TableFooter.js +15 -16
  59. package/dist/umd/Table/TableFooter.js.map +1 -1
  60. package/dist/umd/Table/TableHeaders.js +11 -23
  61. package/dist/umd/Table/TableHeaders.js.map +1 -1
  62. package/dist/umd/Table/TableStyles.js +226 -180
  63. package/dist/umd/Table/TableStyles.js.map +1 -1
  64. package/dist/umd/Table/__tests__/Table.test.js +164 -4
  65. package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
  66. package/package.json +1 -1
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "prop-types", "../Button", "../types", "react", "../InputFields", "../Button/Iconbutton", "../HyperLink"], factory);
3
+ define(["exports", "prop-types", "../Button", "../types", "react", "../InputFields", "../Button/Iconbutton", "../HyperLink", "./TableStyles"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("prop-types"), require("../Button"), require("../types"), require("react"), require("../InputFields"), require("../Button/Iconbutton"), require("../HyperLink"));
5
+ factory(exports, require("prop-types"), require("../Button"), require("../types"), require("react"), require("../InputFields"), require("../Button/Iconbutton"), require("../HyperLink"), require("./TableStyles"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.propTypes, global.Button, global.types, global.react, global.InputFields, global.Iconbutton, global.HyperLink);
10
+ factory(mod.exports, global.propTypes, global.Button, global.types, global.react, global.InputFields, global.Iconbutton, global.HyperLink, global.TableStyles);
11
11
  global.undefined = mod.exports;
12
12
  }
13
- })(this, function (exports, _propTypes, _Button, _types, _react, _InputFields, _Iconbutton, _HyperLink) {
13
+ })(this, function (exports, _propTypes, _Button, _types, _react, _InputFields, _Iconbutton, _HyperLink, _TableStyles) {
14
14
  "use strict";
15
15
 
16
16
  Object.defineProperty(exports, "__esModule", {
@@ -157,7 +157,7 @@
157
157
  {
158
158
  const props = _objectSpread({
159
159
  variant: 'default',
160
- href: ''
160
+ href: '#'
161
161
  }, column.additionalProps);
162
162
 
163
163
  return /*#__PURE__*/React.createElement(_HyperLink.HyperLink, _extends({
@@ -221,17 +221,13 @@
221
221
  case 'number':
222
222
  case 'text':
223
223
  default:
224
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
225
- className: 'table-cell-icon'
226
- }, column.icon), /*#__PURE__*/React.createElement("span", null, row[column.key]));
224
+ return /*#__PURE__*/React.createElement(React.Fragment, null, column.icon && /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellIcon, null, column.icon), /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellText, null, row[column.key]));
227
225
  }
228
226
  };
229
227
 
230
- return /*#__PURE__*/React.createElement("tbody", {
231
- className: 'table-body'
232
- }, props.currentPageRows.length > 0 ? props.currentPageRows.map((row, index) => /*#__PURE__*/React.createElement("tr", {
228
+ return /*#__PURE__*/React.createElement(_TableStyles.StyledTableBody, null, props.currentPageRows.length > 0 ? props.currentPageRows.map((row, index) => /*#__PURE__*/React.createElement(_TableStyles.StyledTableBodyRow, {
233
229
  key: `row_${index}`,
234
- className: 'table-row'.concat(props.selectable ? ' selectable' : ''),
230
+ className: props.selectable ? 'selectable' : '',
235
231
  onClick: () => props.onRowClick && props.onRowClick(row),
236
232
  onMouseDown: event => event.preventDefault(),
237
233
  onKeyPress: e => {
@@ -241,16 +237,11 @@
241
237
  },
242
238
  tabIndex: props.selectable ? 0 : undefined,
243
239
  "data-testid": "TestTableDataRow"
244
- }, props.multiSelect && /*#__PURE__*/React.createElement("td", {
245
- className: 'table-cell'
246
- }, /*#__PURE__*/React.createElement("div", {
247
- className: 'table-cell-content'
248
- }, /*#__PURE__*/React.createElement(_InputFields.Checkbox, {
240
+ }, props.multiSelect && /*#__PURE__*/React.createElement(_TableStyles.StyledTableCell, null, /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellContent, null, /*#__PURE__*/React.createElement(_InputFields.Checkbox, {
249
241
  selected: props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1,
250
242
  readonly: true
251
- }))), props.columns.map(column => /*#__PURE__*/React.createElement("td", {
243
+ }))), props.columns.map(column => /*#__PURE__*/React.createElement(_TableStyles.StyledTableCell, {
252
244
  key: `row_${index}_${column.key}`,
253
- className: `table-cell`,
254
245
  style: column.colorFn ? {
255
246
  color: column.colorFn(row, column.key),
256
247
  maxWidth: column.width
@@ -258,16 +249,14 @@
258
249
  maxWidth: column.width
259
250
  },
260
251
  title: column.shortenText && row[column.key]
261
- }, /*#__PURE__*/React.createElement("div", {
262
- className: `table-cell-content ${column.shortenText && `truncate-text`} ${column.justify}`
263
- }, renderCellBody(column, row)))))) : /*#__PURE__*/React.createElement("tr", {
264
- className: "table-row",
252
+ }, /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellContent, {
253
+ className: `${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`
254
+ }, renderCellBody(column, row)))))) : /*#__PURE__*/React.createElement(_TableStyles.StyledTableBodyRow, {
265
255
  "data-testid": "TestTableNoDataRow"
266
- }, /*#__PURE__*/React.createElement("td", {
267
- colSpan: props.columns.length + (props.multiSelect ? 1 : 0),
268
- className: "table-cell"
269
- }, /*#__PURE__*/React.createElement("div", {
270
- className: 'table-cell-content center'
256
+ }, /*#__PURE__*/React.createElement(_TableStyles.StyledTableCell, {
257
+ colSpan: props.columns.length + (props.multiSelect ? 1 : 0)
258
+ }, /*#__PURE__*/React.createElement(_TableStyles.StyledTableCellContent, {
259
+ className: 'center'
271
260
  }, "There are no rows to display"))));
272
261
  };
273
262
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Table/TableBody.tsx"],"names":["currentPageRows","onRowClick","selected","TableBody","props","renderCellBody","column","variant","href","color","e","row","iconColor","shape","useTransparentBackground","size","Size","Small","index","event","key","maxWidth","width","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const props = ({variant: 'default', href: '', ...column.additionalProps}) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const props = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...props}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const props = ({\n variant: 'tertiary',\n size: Size.Small,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readonly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n <div className={'table-cell-icon'}>{column.icon}</div>\n <span>{row[column.key]}</span>\n </>\n );\n }\n }\n\n return (\n <tbody className={'table-body'}>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <tr key={`row_${index}`}\n className={'table-row'.concat(props.selectable ? ' selectable' : '')}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={(event) => event.preventDefault()}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <td className={'table-cell'}>\n <div className={'table-cell-content'}>\n <Checkbox selected={props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1} readonly={true}/>\n </div>\n </td>\n }\n {props.columns.map((column: TableColumn) => (\n <td key={`row_${index}_${column.key}`}\n className={`table-cell`}\n style={column.colorFn ? {\n color: column.colorFn(row, column.key),\n maxWidth: column.width\n } : {maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <div className={`table-cell-content ${column.shortenText && `truncate-text`} ${column.justify}`}>\n {renderCellBody(column, row)}\n </div>\n </td>\n ))}\n </tr>\n ))\n ) : (\n <tr className=\"table-row\" data-testid=\"TestTableNoDataRow\">\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} className=\"table-cell\">\n <div className={'table-cell-content center'}>\n There are no rows to display\n </div>\n </td>\n </tr>\n )}\n\n </tbody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.js"}
1
+ {"version":3,"sources":["../../../src/Table/TableBody.tsx"],"names":["currentPageRows","onRowClick","selected","TableBody","props","renderCellBody","column","variant","href","color","e","row","iconColor","shape","useTransparentBackground","size","Size","Small","index","event","key","maxWidth","width"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\nimport {\n StyledTableBody,\n StyledTableBodyRow,\n StyledTableCell,\n StyledTableCellContent,\n StyledTableCellIcon, StyledTableCellText\n} from './TableStyles';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const props = ({variant: 'default', href: '#', ...column.additionalProps}) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const props = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...props}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const props = ({\n variant: 'tertiary',\n size: Size.Small,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readonly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n {\n column.icon &&\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\n }\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\n </>\n );\n }\n }\n\n return (\n <StyledTableBody>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <StyledTableBodyRow key={`row_${index}`}\n className={props.selectable ? 'selectable' : ''}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={(event) => event.preventDefault()}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1}\n readonly={true}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={column.colorFn ? {\n color: column.colorFn(row, column.key),\n maxWidth: column.width\n } : {maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n There are no rows to display\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableBodyRow>\n )}\n\n </StyledTableBody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.js"}
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "prop-types", "react", "../Dropdown", "../Button", "../icons/systemicons/SystemIcons", "../styles"], factory);
3
+ define(["exports", "prop-types", "react", "../Dropdown", "../Button", "../icons/systemicons/SystemIcons", "../styles", "./TableStyles", "../icons"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("prop-types"), require("react"), require("../Dropdown"), require("../Button"), require("../icons/systemicons/SystemIcons"), require("../styles"));
5
+ factory(exports, require("prop-types"), require("react"), require("../Dropdown"), require("../Button"), require("../icons/systemicons/SystemIcons"), require("../styles"), require("./TableStyles"), require("../icons"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.propTypes, global.react, global.Dropdown, global.Button, global.SystemIcons, global.styles);
10
+ factory(mod.exports, global.propTypes, global.react, global.Dropdown, global.Button, global.SystemIcons, global.styles, global.TableStyles, global.icons);
11
11
  global.undefined = mod.exports;
12
12
  }
13
- })(this, function (exports, _propTypes, _react, _Dropdown, _Button, _SystemIcons, _styles) {
13
+ })(this, function (exports, _propTypes, _react, _Dropdown, _Button, _SystemIcons, _styles, _TableStyles, _icons) {
14
14
  "use strict";
15
15
 
16
16
  Object.defineProperty(exports, "__esModule", {
@@ -38,26 +38,23 @@
38
38
  label: '100'
39
39
  }];
40
40
  const dropDownText = `Rows per page: ${props.rowsPerPage}`;
41
- return /*#__PURE__*/_react2.default.createElement("tfoot", {
42
- className: 'table-footer'
43
- }, /*#__PURE__*/_react2.default.createElement("tr", null, /*#__PURE__*/_react2.default.createElement("td", {
41
+ return /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooter, null, /*#__PURE__*/_react2.default.createElement("tr", null, /*#__PURE__*/_react2.default.createElement("td", {
44
42
  colSpan: props.columns.length + (props.multiSelect ? 1 : 0),
45
43
  "data-testid": "TestTableFooterRow"
46
- }, /*#__PURE__*/_react2.default.createElement("div", {
47
- className: 'footer-content'
48
- }, /*#__PURE__*/_react2.default.createElement(_Dropdown.DropdownFilter, {
44
+ }, props.accordion && /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooterCollapseButton, {
45
+ onClick: () => props.setIsCollapsed(!props.isCollapsed),
46
+ onMouseDown: e => e.preventDefault(),
47
+ disabled: props.isCollapsed && props.rows.length <= props.rowsPerPage
48
+ }, props.isCollapsed && /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("span", null, "Show more(", props.rows.length - props.rowsPerPage, ")"), /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.ArrowDropDown, null)), !props.isCollapsed && /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("span", null, "Show less"), /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.ArrowDropUp, null))), !props.accordion && /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooterContent, null, /*#__PURE__*/_react2.default.createElement(_Dropdown.DropdownFilter, {
49
49
  id: "rows-per-page",
50
50
  list: rowsPerPageValues,
51
+ margin: '0',
51
52
  disableSorting: true,
52
53
  onSelect: value => props.onRowsPerPageChange(+value),
53
54
  initalValue: dropDownText,
54
55
  keepInitialValue: true,
55
56
  isButton: true
56
- }), /*#__PURE__*/_react2.default.createElement("span", {
57
- className: "current-page-info"
58
- }, props.total === 0 ? 0 : props.from, "-", props.to, " of ", props.total), /*#__PURE__*/_react2.default.createElement("div", {
59
- className: "controls"
60
- }, /*#__PURE__*/_react2.default.createElement(_Button.IconButton, {
57
+ }), /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooterCurrentInfo, null, props.total === 0 ? 0 : props.from, "-", props.to, " of ", props.total), /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableFooterControls, null, /*#__PURE__*/_react2.default.createElement(_Button.IconButton, {
61
58
  variant: "secondary",
62
59
  shape: "circular",
63
60
  action: () => props.prevPage(),
@@ -83,7 +80,9 @@
83
80
  to: _propTypes2.default.number,
84
81
  total: _propTypes2.default.number,
85
82
  nextPage: _propTypes2.default.func.isRequired,
86
- prevPage: _propTypes2.default.func.isRequired
83
+ prevPage: _propTypes2.default.func.isRequired,
84
+ setIsCollapsed: _propTypes2.default.func.isRequired,
85
+ isCollapsed: _propTypes2.default.bool.isRequired
87
86
  };
88
87
  exports.default = TableFooter;
89
88
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Table/TableFooter.tsx"],"names":["onRowsPerPageChange","rowsPerPage","from","to","total","nextPage","prevPage","TableFooter","props","rowsPerPageValues","label","dropDownText","value","COLORS","neutral_600"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,QAAMO,WAAsD,GAAIC,KAAD,IAAW;AACxE,UAAMC,iBAAuC,GAAG,CAAC;AAACC,MAAAA,KAAK,EAAE;AAAR,KAAD,EAAgB;AAACA,MAAAA,KAAK,EAAE;AAAR,KAAhB,EAA+B;AAACA,MAAAA,KAAK,EAAE;AAAR,KAA/B,EAA8C;AAACA,MAAAA,KAAK,EAAE;AAAR,KAA9C,CAAhD;AAEA,UAAMC,YAAY,GAAI,kBAAiBH,KAAK,CAACP,WAA7C,EAAA;AAEA,WAAA,aACE,gBAAA,aAAA,CAAA,OAAA,EAAA;AAAO,MAAA,SAAS,EAAE;AAAlB,KAAA,EAAA,aACA,gBAAA,aAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aACE,gBAAA,aAAA,CAAA,IAAA,EAAA;AAAI,MAAA,OAAO,EAAEO,KAAK,CAALA,OAAAA,CAAAA,MAAAA,IAAwBA,KAAK,CAALA,WAAAA,GAAAA,CAAAA,GAArC,CAAaA,CAAb;AAAiE,qBAAY;AAA7E,KAAA,EAAA,aACE,gBAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAE;AAAhB,KAAA,EAAA,aACE,gBAAA,aAAA,CAAA,wBAAA,EAAA;AACE,MAAA,EAAE,EADJ,eAAA;AAEE,MAAA,IAAI,EAFN,iBAAA;AAGE,MAAA,cAAc,EAHhB,IAAA;AAIE,MAAA,QAAQ,EAAGI,KAAD,IAAWJ,KAAK,CAALA,mBAAAA,CAA0B,CAJjD,KAIuBA,CAJvB;AAKE,MAAA,WAAW,EALb,YAAA;AAME,MAAA,gBAAgB,EANlB,IAAA;AAOE,MAAA,QAAQ,EAAE;AAPZ,KAAA,CADF,EAAA,aAUE,gBAAA,aAAA,CAAA,MAAA,EAAA;AAAM,MAAA,SAAS,EAAC;AAAhB,KAAA,EACKA,KAAK,CAALA,KAAAA,KAAAA,CAAAA,GAAAA,CAAAA,GAAwBA,KAAK,CADlC,IAAA,EAAA,GAAA,EAC0CA,KAAK,CAD/C,EAAA,EAAA,MAAA,EACwDA,KAAK,CAX/D,KAUE,CAVF,EAAA,aAaE,gBAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAC;AAAf,KAAA,EAAA,aACE,gBAAA,aAAA,CAAA,kBAAA,EAAA;AAAY,MAAA,OAAO,EAAnB,WAAA;AAAgC,MAAA,KAAK,EAArC,UAAA;AAAiD,MAAA,MAAM,EAAE,MAAMA,KAAK,CAApE,QAA+DA,EAA/D;AACY,MAAA,QAAQ,EAAEA,KAAK,CAALA,IAAAA,KAAe;AADrC,KAAA,EAAA,aAEE,gBAAA,aAAA,CAAA,wBAAA,EAAA;AAAa,MAAA,IAAI,EAAjB,IAAA;AAAuB,MAAA,KAAK,EAAEK,eAAOC;AAArC,KAAA,CAFF,CADF,EAAA,aAKE,gBAAA,aAAA,CAAA,kBAAA,EAAA;AAAY,MAAA,OAAO,EAAnB,WAAA;AAAgC,MAAA,KAAK,EAArC,UAAA;AAAiD,MAAA,MAAM,EAAE,MAAMN,KAAK,CAApE,QAA+DA,EAA/D;AACY,MAAA,QAAQ,EAAEA,KAAK,CAALA,EAAAA,KAAaA,KAAK,CAACJ;AADzC,KAAA,EAAA,aAEE,gBAAA,aAAA,CAAA,yBAAA,EAAA;AAAc,MAAA,IAAI,EAAlB,IAAA;AAAwB,MAAA,KAAK,EAAES,eAAOC;AAAtC,KAAA,CAFF,CALF,CAbF,CADF,CADF,CADA,CADF;AALF,GAAA;;;AATEd,IAAAA,mB;AACAC,IAAAA,W;AACAC,IAAAA,I;AACAC,IAAAA,E;AACAC,IAAAA,K;AACAC,IAAAA,Q;AACAC,IAAAA,Q;;oBA2CF,W","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownFilter} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {DropdownFilterItem} from '../Dropdown/DropdownFilter';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageValues: DropdownFilterItem[] = [{label: '10'}, {label: '20'}, {label: '50'}, {label: '100'}];\n\n const dropDownText = `Rows per page: ${props.rowsPerPage}`;\n\n return (\n <tfoot className={'table-footer'}>\n <tr>\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} data-testid=\"TestTableFooterRow\">\n <div className={'footer-content'}>\n <DropdownFilter\n id=\"rows-per-page\"\n list={rowsPerPageValues}\n disableSorting={true}\n onSelect={(value) => props.onRowsPerPageChange(+value)}\n initalValue={dropDownText}\n keepInitialValue={true}\n isButton={true}\n />\n <span className=\"current-page-info\">\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </span>\n <div className=\"controls\">\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </div>\n </div>\n </td>\n </tr>\n </tfoot>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.js"}
1
+ {"version":3,"sources":["../../../src/Table/TableFooter.tsx"],"names":["onRowsPerPageChange","rowsPerPage","from","to","total","nextPage","prevPage","setIsCollapsed","isCollapsed","TableFooter","props","rowsPerPageValues","label","dropDownText","e","value","COLORS","neutral_600"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownFilter} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {DropdownFilterItem} from '../Dropdown/DropdownFilter';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageValues: DropdownFilterItem[] = [{label: '10'}, {label: '20'}, {label: '50'}, {label: '100'}];\n\n const dropDownText = `Rows per page: ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter>\n <tr>\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={e => e.preventDefault()}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>Show more({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>Show less</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownFilter\n id=\"rows-per-page\"\n list={rowsPerPageValues}\n margin={'0'}\n disableSorting={true}\n onSelect={(value) => props.onRowsPerPageChange(+value)}\n initalValue={dropDownText}\n keepInitialValue={true}\n isButton={true}\n />\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </td>\n </tr>\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.js"}
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "prop-types", "react", "../icons/systemicons/SystemIcons", "../Dropdown", "../icons", "../types", "../InputFields"], factory);
3
+ define(["exports", "prop-types", "react", "../icons/systemicons/SystemIcons", "../Dropdown", "../icons", "../types", "../InputFields", "./TableStyles"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("prop-types"), require("react"), require("../icons/systemicons/SystemIcons"), require("../Dropdown"), require("../icons"), require("../types"), require("../InputFields"));
5
+ factory(exports, require("prop-types"), require("react"), require("../icons/systemicons/SystemIcons"), require("../Dropdown"), require("../icons"), require("../types"), require("../InputFields"), require("./TableStyles"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.propTypes, global.react, global.SystemIcons, global.Dropdown, global.icons, global.types, global.InputFields);
10
+ factory(mod.exports, global.propTypes, global.react, global.SystemIcons, global.Dropdown, global.icons, global.types, global.InputFields, global.TableStyles);
11
11
  global.undefined = mod.exports;
12
12
  }
13
- })(this, function (exports, _propTypes, _react, _SystemIcons, _Dropdown, _icons, _types, _InputFields) {
13
+ })(this, function (exports, _propTypes, _react, _SystemIcons, _Dropdown, _icons, _types, _InputFields, _TableStyles) {
14
14
  "use strict";
15
15
 
16
16
  Object.defineProperty(exports, "__esModule", {
@@ -46,31 +46,21 @@
46
46
  }
47
47
 
48
48
  const TableHeader = props => {
49
- return /*#__PURE__*/_react2.default.createElement("thead", {
50
- className: 'table-header'
51
- }, !!props.title && /*#__PURE__*/_react2.default.createElement("tr", {
52
- className: 'table-header-title',
49
+ return /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeader, null, !!props.title && /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderTitle, {
53
50
  "data-testid": "TestTableHeaderRow"
54
51
  }, /*#__PURE__*/_react2.default.createElement("th", {
55
52
  colSpan: props.columns.length + (props.multiSelect ? 1 : 0)
56
- }, /*#__PURE__*/_react2.default.createElement("div", {
57
- className: 'title-content'
58
- }, /*#__PURE__*/_react2.default.createElement("span", null, props.title), props.menu && /*#__PURE__*/_react2.default.createElement(_Dropdown.DropdownButton, _extends({
53
+ }, /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderTitleContent, null, /*#__PURE__*/_react2.default.createElement("span", null, props.title), props.menu && /*#__PURE__*/_react2.default.createElement(_Dropdown.DropdownButton, _extends({
59
54
  className: 'title-menu',
60
55
  icon: /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.MoreVertical, null),
61
56
  size: _types.Size.Medium
62
- }, props.menu))))), /*#__PURE__*/_react2.default.createElement("tr", {
63
- className: 'table-header-columns',
57
+ }, props.menu))))), /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumns, {
64
58
  "data-testid": "TestTableColumnHeaderRow"
65
- }, props.multiSelect && /*#__PURE__*/_react2.default.createElement("th", {
66
- className: 'table-header-column'
67
- }, /*#__PURE__*/_react2.default.createElement("div", {
68
- className: 'header-content'
69
- }, /*#__PURE__*/_react2.default.createElement(_InputFields.Checkbox, {
59
+ }, props.multiSelect && /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumn, null, /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumnContent, null, /*#__PURE__*/_react2.default.createElement(_InputFields.Checkbox, {
70
60
  selected: props.selectAllState === 'all',
71
61
  semiSelected: props.selectAllState === 'some',
72
62
  select: props.onSelectAllClick
73
- }))), props.columns.map(column => /*#__PURE__*/_react2.default.createElement("th", {
63
+ }))), props.columns.map(column => /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumn, {
74
64
  key: column.key,
75
65
  onMouseDown: e => e.preventDefault(),
76
66
  onClick: e => props.sortByColumn(column),
@@ -83,10 +73,8 @@
83
73
  width: column.width
84
74
  },
85
75
  tabIndex: column.sortable ? 0 : -1,
86
- className: `table-header-column ${column.sortable ? 'sortable' : ''} ${!!column.sortable && !!column.sortingDirection ? 'sorted' : ''}`
87
- }, /*#__PURE__*/_react2.default.createElement("div", {
88
- className: 'header-content'
89
- }, /*#__PURE__*/_react2.default.createElement("span", null, column.name), column.sortable && (column.sortingDirection === 'asc' ? /*#__PURE__*/_react2.default.createElement(_SystemIcons.ArrowLineUp, {
76
+ className: `${!!column.sortable ? 'sortable' : ''} ${!!column.sortable && !!column.sortingDirection ? 'sorted' : ''}`
77
+ }, /*#__PURE__*/_react2.default.createElement(_TableStyles.StyledTableHeaderColumnContent, null, /*#__PURE__*/_react2.default.createElement("span", null, column.name), column.sortable && (column.sortingDirection === 'asc' ? /*#__PURE__*/_react2.default.createElement(_SystemIcons.ArrowLineUp, {
90
78
  size: '24px'
91
79
  }) : /*#__PURE__*/_react2.default.createElement(_SystemIcons.ArrowLineDown, {
92
80
  size: '24px'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Table/TableHeaders.tsx"],"names":["sortByColumn","onSelectAllClick","selectAllState","TableHeader","props","Size","Medium","column","e","width"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableColumn, TableProps} from './TableTypes';\nimport {ArrowLineDown, ArrowLineUp} from '../icons/systemicons/SystemIcons';\nimport {DropdownButton} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {Size} from '../types';\nimport {Checkbox} from '../InputFields';\n\n\ninterface TableHeaderProps extends TableProps {\n sortByColumn: (column: TableColumn) => void;\n onSelectAllClick: () => void;\n selectAllState: 'all' | 'some' | 'none';\n}\n\nconst TableHeader: React.FunctionComponent<TableHeaderProps> = props => {\n\n return (\n <thead className={'table-header'}>\n {\n !!props.title &&\n <tr className={'table-header-title'} data-testid=\"TestTableHeaderRow\">\n <th colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <div className={'title-content'}>\n <span>{props.title}</span>\n {\n props.menu &&\n <DropdownButton className={'title-menu'} icon={<SystemIcons.MoreVertical/>}\n size={Size.Medium} {...props.menu}/>\n }\n </div>\n </th>\n </tr>\n }\n <tr className={'table-header-columns'} data-testid=\"TestTableColumnHeaderRow\">\n {\n props.multiSelect &&\n <th className={'table-header-column'}>\n <div className={'header-content'}>\n <Checkbox selected={props.selectAllState === 'all'}\n semiSelected={props.selectAllState === 'some'}\n select={props.onSelectAllClick}/>\n </div>\n </th>\n }\n {props.columns.map((column: TableColumn) => (\n <th key={column.key}\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e) => props.sortByColumn(column)}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.sortByColumn(column)\n }\n }}\n style={{width: column.width}}\n tabIndex={column.sortable ? 0 : -1}\n className={`table-header-column ${column.sortable ? 'sortable' : ''} ${!!column.sortable && !!column.sortingDirection ? 'sorted' : ''}`}>\n <div className={'header-content'}>\n <span>\n {column.name}\n </span>\n {\n column.sortable &&\n (\n column.sortingDirection === 'asc'\n ? <ArrowLineUp size={'24px'}/>\n : <ArrowLineDown size={'24px'}/>\n )\n }\n </div>\n </th>\n ))}\n </tr>\n\n </thead>\n )\n}\n\nexport default TableHeader;\n"],"file":"TableHeaders.js"}
1
+ {"version":3,"sources":["../../../src/Table/TableHeaders.tsx"],"names":["sortByColumn","onSelectAllClick","selectAllState","TableHeader","props","Size","Medium","column","e","width"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,QAAMG,WAAsD,GAAGC,KAAK,IAAI;AAEtE,WAAA,aACE,gBAAA,aAAA,CAAA,8BAAA,EAAA,IAAA,EAEI,CAAC,CAACA,KAAK,CAAP,KAAA,IAAA,aACA,gBAAA,aAAA,CAAA,mCAAA,EAAA;AAAwB,qBAAY;AAApC,KAAA,EAAA,aACE,gBAAA,aAAA,CAAA,IAAA,EAAA;AAAI,MAAA,OAAO,EAAEA,KAAK,CAALA,OAAAA,CAAAA,MAAAA,IAAwBA,KAAK,CAALA,WAAAA,GAAAA,CAAAA,GAAxBA,CAAAA;AAAb,KAAA,EAAA,aACE,gBAAA,aAAA,CAAA,0CAAA,EAAA,IAAA,EAAA,aACE,gBAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOA,KAAK,CADd,KACE,CADF,EAGIA,KAAK,CAALA,IAAAA,IAAAA,aACA,gBAAA,aAAA,CAAA,wBAAA,EAAA,QAAA,CAAA;AAAgB,MAAA,SAAS,EAAzB,YAAA;AACgB,MAAA,IAAI,EAAA,aAAE,gBAAA,aAAA,CAAA,mBAAA,YAAA,EADtB,IACsB,CADtB;AAEgB,MAAA,IAAI,EAAEC,YAAKC;AAF3B,KAAA,EAEuCF,KAAK,CAXxD,IASY,CAAA,CAJJ,CADF,CADF,CAHJ,EAAA,aAiBE,gBAAA,aAAA,CAAA,qCAAA,EAAA;AAA0B,qBAAY;AAAtC,KAAA,EAEIA,KAAK,CAALA,WAAAA,IAAAA,aACA,gBAAA,aAAA,CAAA,oCAAA,EAAA,IAAA,EAAA,aACE,gBAAA,aAAA,CAAA,2CAAA,EAAA,IAAA,EAAA,aACE,gBAAA,aAAA,CAAA,qBAAA,EAAA;AAAU,MAAA,QAAQ,EAAEA,KAAK,CAALA,cAAAA,KAApB,KAAA;AACU,MAAA,YAAY,EAAEA,KAAK,CAALA,cAAAA,KADxB,MAAA;AAEU,MAAA,MAAM,EAAEA,KAAK,CAACH;AAFxB,KAAA,CADF,CADF,CAHJ,EAWG,KAAK,CAAL,OAAA,CAAA,GAAA,CAAmBM,MAAD,IAAA,aACjB,gBAAA,aAAA,CAAA,oCAAA,EAAA;AAAyB,MAAA,GAAG,EAAEA,MAAM,CAApC,GAAA;AACI,MAAA,WAAW,EAAGC,CAAD,IAAOA,CAAC,CADzB,cACwBA,EADxB;AAEI,MAAA,OAAO,EAAGA,CAAD,IAAOJ,KAAK,CAALA,YAAAA,CAFpB,MAEoBA,CAFpB;AAGI,MAAA,UAAU,EAAGI,CAAD,IAAO;AACjB,YAAIA,CAAC,CAADA,GAAAA,KAAJ,OAAA,EAAuB;AACrBJ,UAAAA,KAAK,CAALA,YAAAA,CAAAA,MAAAA;AACD;AANP,OAAA;AAQI,MAAA,KAAK,EAAE;AAACK,QAAAA,KAAK,EAAEF,MAAM,CAACE;AAAf,OARX;AASI,MAAA,QAAQ,EAAEF,MAAM,CAANA,QAAAA,GAAAA,CAAAA,GAAsB,CATpC,CAAA;AAUI,MAAA,SAAS,EAAG,GAAE,CAAC,CAACA,MAAM,CAAR,QAAA,GAAA,UAAA,GAAiC,EAAG,IAAG,CAAC,CAACA,MAAM,CAAR,QAAA,IAAqB,CAAC,CAACA,MAAM,CAA7B,gBAAA,GAAA,QAAA,GAA4D,EAAG;AAVxH,KAAA,EAAA,aAWE,gBAAA,aAAA,CAAA,2CAAA,EAAA,IAAA,EAAA,aACI,gBAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EACGA,MAAM,CAFb,IACI,CADJ,EAKI,MAAM,CAAN,QAAA,KAEE,MAAM,CAAN,gBAAA,KAAA,KAAA,GAAA,aACI,gBAAA,aAAA,CAAA,wBAAA,EAAA;AAAa,MAAA,IAAI,EAAE;AAAnB,KAAA,CADJ,GAAA,aAEI,gBAAA,aAAA,CAAA,0BAAA,EAAA;AAAe,MAAA,IAAI,EAAE;AAArB,KAAA,CAJN,CALJ,CAXF,CADD,CAXH,CAjBF,CADF;AAFF,GAAA;;;AALEP,IAAAA,Y;AACAC,IAAAA,gB;AACAC,IAAAA,c,6BAAgB,K,EAAQ,M,EAAS,M;;oBAmEnC,W","sourcesContent":["import React from 'react';\nimport {TableColumn, TableProps} from './TableTypes';\nimport {ArrowLineDown, ArrowLineUp} from '../icons/systemicons/SystemIcons';\nimport {DropdownButton} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {Size} from '../types';\nimport {Checkbox} from '../InputFields';\nimport {\n StyledTableHeader, StyledTableHeaderColumn, StyledTableHeaderColumnContent,\n StyledTableHeaderColumns,\n StyledTableHeaderTitle,\n StyledTableHeaderTitleContent\n} from './TableStyles';\n\n\ninterface TableHeaderProps extends TableProps {\n sortByColumn: (column: TableColumn) => void;\n onSelectAllClick: () => void;\n selectAllState: 'all' | 'some' | 'none';\n}\n\nconst TableHeader: React.FunctionComponent<TableHeaderProps> = props => {\n\n return (\n <StyledTableHeader>\n {\n !!props.title &&\n <StyledTableHeaderTitle data-testid=\"TestTableHeaderRow\">\n <th colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableHeaderTitleContent>\n <span>{props.title}</span>\n {\n props.menu &&\n <DropdownButton className={'title-menu'}\n icon={<SystemIcons.MoreVertical/>}\n size={Size.Medium} {...props.menu}/>\n }\n </StyledTableHeaderTitleContent>\n </th>\n </StyledTableHeaderTitle>\n }\n <StyledTableHeaderColumns data-testid=\"TestTableColumnHeaderRow\">\n {\n props.multiSelect &&\n <StyledTableHeaderColumn>\n <StyledTableHeaderColumnContent>\n <Checkbox selected={props.selectAllState === 'all'}\n semiSelected={props.selectAllState === 'some'}\n select={props.onSelectAllClick}/>\n </StyledTableHeaderColumnContent>\n </StyledTableHeaderColumn>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableHeaderColumn key={column.key}\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e) => props.sortByColumn(column)}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.sortByColumn(column)\n }\n }}\n style={{width: column.width}}\n tabIndex={column.sortable ? 0 : -1}\n className={`${!!column.sortable ? 'sortable' : ''} ${!!column.sortable && !!column.sortingDirection ? 'sorted' : ''}`}>\n <StyledTableHeaderColumnContent>\n <span>\n {column.name}\n </span>\n {\n column.sortable &&\n (\n column.sortingDirection === 'asc'\n ? <ArrowLineUp size={'24px'}/>\n : <ArrowLineDown size={'24px'}/>\n )\n }\n </StyledTableHeaderColumnContent>\n </StyledTableHeaderColumn>\n ))}\n </StyledTableHeaderColumns>\n\n </StyledTableHeader>\n )\n}\n\nexport default TableHeader;\n"],"file":"TableHeaders.js"}