@laerdal/life-react-components 1.9.8-dev.23 → 1.9.8-dev.24

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 (61) hide show
  1. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +2 -8
  2. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
  3. package/dist/Card/HorizontalCard/HorizontalCardActions.js +2 -2
  4. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
  5. package/dist/Dropdown/BasicDropdown.cjs +67 -57
  6. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  7. package/dist/Dropdown/BasicDropdown.d.ts +14 -7
  8. package/dist/Dropdown/BasicDropdown.js +67 -58
  9. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  10. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -8
  11. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  12. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
  13. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  14. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  15. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  16. package/dist/InputFields/DatepickerField.cjs +44 -38
  17. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  18. package/dist/InputFields/DatepickerField.d.ts +17 -20
  19. package/dist/InputFields/DatepickerField.js +33 -20
  20. package/dist/InputFields/DatepickerField.js.map +1 -1
  21. package/dist/InputFields/NumberField.cjs +63 -52
  22. package/dist/InputFields/NumberField.cjs.map +1 -1
  23. package/dist/InputFields/NumberField.d.ts +14 -19
  24. package/dist/InputFields/NumberField.js +60 -53
  25. package/dist/InputFields/NumberField.js.map +1 -1
  26. package/dist/InputFields/RadioButton.cjs +1 -1
  27. package/dist/InputFields/RadioButton.cjs.map +1 -1
  28. package/dist/InputFields/RadioButton.d.ts +1 -1
  29. package/dist/InputFields/RadioButton.js +1 -1
  30. package/dist/InputFields/RadioButton.js.map +1 -1
  31. package/dist/InputFields/TextField.cjs +5 -3
  32. package/dist/InputFields/TextField.cjs.map +1 -1
  33. package/dist/InputFields/TextField.d.ts +2 -1
  34. package/dist/InputFields/TextField.js +5 -4
  35. package/dist/InputFields/TextField.js.map +1 -1
  36. package/dist/InputFields/index.cjs +26 -0
  37. package/dist/InputFields/index.cjs.map +1 -1
  38. package/dist/InputFields/index.d.ts +1 -0
  39. package/dist/InputFields/index.js +1 -0
  40. package/dist/InputFields/index.js.map +1 -1
  41. package/dist/Table/Table.cjs +3 -3
  42. package/dist/Table/Table.cjs.map +1 -1
  43. package/dist/Table/Table.js +3 -3
  44. package/dist/Table/Table.js.map +1 -1
  45. package/dist/Table/TableFooter.cjs +1 -4
  46. package/dist/Table/TableFooter.cjs.map +1 -1
  47. package/dist/Table/TableFooter.d.ts +0 -1
  48. package/dist/Table/TableFooter.js +1 -4
  49. package/dist/Table/TableFooter.js.map +1 -1
  50. package/dist/Table/TableStyles.cjs +2 -2
  51. package/dist/Table/TableStyles.cjs.map +1 -1
  52. package/dist/Table/TableStyles.js +2 -2
  53. package/dist/Table/TableStyles.js.map +1 -1
  54. package/dist/Table/TableTypes.d.ts +0 -1
  55. package/dist/Toggles/ToggleSwitch.cjs +24 -17
  56. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  57. package/dist/Toggles/ToggleSwitch.d.ts +5 -1
  58. package/dist/Toggles/ToggleSwitch.js +21 -12
  59. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  60. package/dist/Toggles/TogglerTypes.d.ts +1 -1
  61. package/package.json +1 -1
@@ -8,8 +8,7 @@ import { useFocusVisibleRef } from '../common';
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
10
  import { Fragment as _Fragment } from "react/jsx-runtime";
11
-
12
- var TextField = function TextField(_ref) {
11
+ var TextField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
13
12
  var id = _ref.id,
14
13
  disabled = _ref.disabled,
15
14
  readOnly = _ref.readOnly,
@@ -29,6 +28,9 @@ var TextField = function TextField(_ref) {
29
28
  margin = _ref$margin === void 0 ? '4px 0' : _ref$margin,
30
29
  note = _ref.note;
31
30
  var elementRef = useFocusVisibleRef();
31
+ React.useImperativeHandle(ref, function () {
32
+ return elementRef.current;
33
+ }, [elementRef]);
32
34
  return /*#__PURE__*/_jsx(_Fragment, {
33
35
  children: /*#__PURE__*/_jsxs(InputWrapper, {
34
36
  readOnly: readOnly,
@@ -78,8 +80,7 @@ var TextField = function TextField(_ref) {
78
80
  })]
79
81
  })
80
82
  });
81
- };
82
-
83
+ });
83
84
  TextField.propTypes = {
84
85
  id: _pt.string.isRequired,
85
86
  disabled: _pt.bool,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["React","CheckMark","TechnicalWarning","COLORS","States","InputFieldStyling","InputWrapper","NoteMessage","ValidationMessage","useFocusVisibleRef","TextField","id","disabled","readOnly","onChange","value","validationMessage","type","autoComplete","placeholder","required","pattern","maxLength","withoutBorder","state","size","margin","note","elementRef","e","preventDefault","Invalid","undefined","target","Valid","correct_400","critical_400","icon","message"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { CheckMark, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { COLORS } from '../styles';\nimport { Size, States } from '../types';\nimport { ErrorMessage, InputFieldStyling, InputWrapper, NoteMessage, ValidationMessage } from './styling';\nimport { useFocusVisibleRef } from '../common';\nimport { TextFieldNote } from './types';\n\ntype TextFieldProps = {\n id: string;\n disabled?: boolean;\n readOnly?: boolean;\n onChange?: (text: string) => void;\n value?: string;\n validationMessage?: string;\n type?: string;\n state?: States.Invalid | States.Valid;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n pattern?: string;\n maxLength?: number;\n withoutBorder?: boolean;\n size?: Size.Small | Size.Medium;\n margin?: string;\n note?: TextFieldNote;\n};\n\nconst TextField = ({\n id,\n disabled,\n readOnly,\n onChange,\n value,\n validationMessage,\n type,\n autoComplete,\n placeholder,\n required,\n pattern,\n maxLength,\n withoutBorder,\n state,\n size,\n margin = '4px 0',\n note,\n}: TextFieldProps) => {\n const elementRef = useFocusVisibleRef();\n\n return (\n <>\n <InputWrapper\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onClick={(e: any) => {\n if (disabled || readOnly) {\n e.preventDefault();\n }\n }}>\n <InputFieldStyling\n id={id}\n ref={elementRef}\n type={type || 'text'}\n value={value}\n className={`${state || (validationMessage ? States.Invalid : '')} ${size || ''}`}\n tabIndex={readOnly || disabled ? -1 : 0}\n autoComplete={autoComplete}\n placeholder={disabled ? undefined : placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n activeErrorMessage={!!validationMessage && state !== States.Valid}\n required={required}\n pattern={pattern}\n maxLength={maxLength}\n withoutBorder={withoutBorder}\n />\n {validationMessage && (\n <ValidationMessage className={size || ''} type={state ?? States.Invalid}>\n {state === States.Valid ? <CheckMark color={COLORS.correct_400} /> : <TechnicalWarning color={COLORS.critical_400} />}\n <span>{validationMessage}</span>\n </ValidationMessage>\n )}\n {note && !disabled && (\n <NoteMessage className={size}>\n {note.icon}\n <span>{note.message}</span>\n </NoteMessage>\n )}\n </InputWrapper>\n </>\n );\n};\n\nexport default TextField;\n"],"file":"TextField.js"}
1
+ {"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["React","CheckMark","TechnicalWarning","COLORS","States","InputFieldStyling","InputWrapper","NoteMessage","ValidationMessage","useFocusVisibleRef","TextField","forwardRef","ref","id","disabled","readOnly","onChange","value","validationMessage","type","autoComplete","placeholder","required","pattern","maxLength","withoutBorder","state","size","margin","note","elementRef","useImperativeHandle","current","e","preventDefault","Invalid","undefined","target","Valid","correct_400","critical_400","icon","message"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {CheckMark, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {Size, States} from '../types';\nimport {ErrorMessage, InputFieldStyling, InputWrapper, NoteMessage, ValidationMessage} from './styling';\nimport {useFocusVisibleRef} from '../common';\nimport {TextFieldNote} from './types';\n\ntype TextFieldProps = {\n id: string;\n disabled?: boolean;\n readOnly?: boolean;\n onChange?: (text: string) => void;\n value?: string;\n validationMessage?: string;\n type?: string;\n state?: States.Invalid | States.Valid;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n pattern?: string;\n maxLength?: number;\n withoutBorder?: boolean;\n size?: Size.Small | Size.Medium;\n margin?: string;\n note?: TextFieldNote;\n};\n\nconst TextField = React.forwardRef(({\n id,\n disabled,\n readOnly,\n onChange,\n value,\n validationMessage,\n type,\n autoComplete,\n placeholder,\n required,\n pattern,\n maxLength,\n withoutBorder,\n state,\n size,\n margin = '4px 0',\n note,\n }: TextFieldProps, ref) => {\n const elementRef = useFocusVisibleRef();\n\n React.useImperativeHandle(ref, () => elementRef.current, [elementRef]);\n\n return (\n <>\n <InputWrapper\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onClick={(e: any) => {\n if (disabled || readOnly) {\n e.preventDefault();\n }\n }}>\n <InputFieldStyling\n id={id}\n ref={elementRef}\n type={type || 'text'}\n value={value}\n className={`${state || (validationMessage ? States.Invalid : '')} ${size || ''}`}\n tabIndex={readOnly || disabled ? -1 : 0}\n autoComplete={autoComplete}\n placeholder={disabled ? undefined : placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n activeErrorMessage={!!validationMessage && state !== States.Valid}\n required={required}\n pattern={pattern}\n maxLength={maxLength}\n withoutBorder={withoutBorder}\n />\n {validationMessage && (\n <ValidationMessage className={size || ''} type={state ?? States.Invalid}>\n {state === States.Valid ? <CheckMark color={COLORS.correct_400}/> :\n <TechnicalWarning color={COLORS.critical_400}/>}\n <span>{validationMessage}</span>\n </ValidationMessage>\n )}\n {note && !disabled && (\n <NoteMessage className={size}>\n {note.icon}\n <span>{note.message}</span>\n </NoteMessage>\n )}\n </InputWrapper>\n </>\n );\n});\n\nexport default TextField;\n"],"file":"TextField.js"}
@@ -5,6 +5,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ var _exportNames = {
9
+ TextField: true,
10
+ PasswordField: true,
11
+ Checkbox: true,
12
+ RadioButton: true,
13
+ SearchBar: true,
14
+ InputLabel: true,
15
+ DatepickerField: true,
16
+ Textarea: true,
17
+ QuickSearch: true,
18
+ NumberField: true
19
+ };
8
20
  Object.defineProperty(exports, "Checkbox", {
9
21
  enumerable: true,
10
22
  get: function get() {
@@ -85,4 +97,18 @@ var _Textarea = _interopRequireDefault(require("./Textarea"));
85
97
  var _QuickSearch = _interopRequireDefault(require("./QuickSearch"));
86
98
 
87
99
  var _NumberField = _interopRequireDefault(require("./NumberField"));
100
+
101
+ var _styling = require("./styling");
102
+
103
+ Object.keys(_styling).forEach(function (key) {
104
+ if (key === "default" || key === "__esModule") return;
105
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
106
+ if (key in exports && exports[key] === _styling[key]) return;
107
+ Object.defineProperty(exports, key, {
108
+ enumerable: true,
109
+ get: function get() {
110
+ return _styling[key];
111
+ }
112
+ });
113
+ });
88
114
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputFields/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import TextField from './TextField';\nimport PasswordField from './PasswordField';\nimport Checkbox from './Checkbox';\nimport RadioButton from './RadioButton';\nimport SearchBar from './SearchBar';\nimport InputLabel from './Label';\nimport DatepickerField from './DatepickerField';\nimport Textarea from './Textarea';\nimport QuickSearch from './QuickSearch';\nimport NumberField from './NumberField';\n\nexport { TextField, PasswordField, Checkbox, RadioButton, SearchBar, InputLabel, DatepickerField, Textarea, QuickSearch, NumberField };\n"],"file":"index.cjs"}
1
+ {"version":3,"sources":["../../src/InputFields/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import TextField from './TextField';\nimport PasswordField from './PasswordField';\nimport Checkbox from './Checkbox';\nimport RadioButton from './RadioButton';\nimport SearchBar from './SearchBar';\nimport InputLabel from './Label';\nimport DatepickerField from './DatepickerField';\nimport Textarea from './Textarea';\nimport QuickSearch from './QuickSearch';\nimport NumberField from './NumberField';\n\nexport * from './styling';\n\nexport {\n TextField,\n PasswordField,\n Checkbox,\n RadioButton,\n SearchBar,\n InputLabel,\n DatepickerField,\n Textarea,\n QuickSearch,\n NumberField\n};\n"],"file":"index.cjs"}
@@ -8,4 +8,5 @@ import DatepickerField from './DatepickerField';
8
8
  import Textarea from './Textarea';
9
9
  import QuickSearch from './QuickSearch';
10
10
  import NumberField from './NumberField';
11
+ export * from './styling';
11
12
  export { TextField, PasswordField, Checkbox, RadioButton, SearchBar, InputLabel, DatepickerField, Textarea, QuickSearch, NumberField };
@@ -8,5 +8,6 @@ import DatepickerField from './DatepickerField';
8
8
  import Textarea from './Textarea';
9
9
  import QuickSearch from './QuickSearch';
10
10
  import NumberField from './NumberField';
11
+ export * from './styling';
11
12
  export { TextField, PasswordField, Checkbox, RadioButton, SearchBar, InputLabel, DatepickerField, Textarea, QuickSearch, NumberField };
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputFields/index.ts"],"names":["TextField","PasswordField","Checkbox","RadioButton","SearchBar","InputLabel","DatepickerField","Textarea","QuickSearch","NumberField"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,aAAtB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,UAAP,MAAuB,SAAvB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAEA,SAAST,SAAT,EAAoBC,aAApB,EAAmCC,QAAnC,EAA6CC,WAA7C,EAA0DC,SAA1D,EAAqEC,UAArE,EAAiFC,eAAjF,EAAkGC,QAAlG,EAA4GC,WAA5G,EAAyHC,WAAzH","sourcesContent":["import TextField from './TextField';\nimport PasswordField from './PasswordField';\nimport Checkbox from './Checkbox';\nimport RadioButton from './RadioButton';\nimport SearchBar from './SearchBar';\nimport InputLabel from './Label';\nimport DatepickerField from './DatepickerField';\nimport Textarea from './Textarea';\nimport QuickSearch from './QuickSearch';\nimport NumberField from './NumberField';\n\nexport { TextField, PasswordField, Checkbox, RadioButton, SearchBar, InputLabel, DatepickerField, Textarea, QuickSearch, NumberField };\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/InputFields/index.ts"],"names":["TextField","PasswordField","Checkbox","RadioButton","SearchBar","InputLabel","DatepickerField","Textarea","QuickSearch","NumberField"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,aAAtB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,UAAP,MAAuB,SAAvB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAEA,cAAc,WAAd;AAEA,SACET,SADF,EAEEC,aAFF,EAGEC,QAHF,EAIEC,WAJF,EAKEC,SALF,EAMEC,UANF,EAOEC,eAPF,EAQEC,QARF,EASEC,WATF,EAUEC,WAVF","sourcesContent":["import TextField from './TextField';\nimport PasswordField from './PasswordField';\nimport Checkbox from './Checkbox';\nimport RadioButton from './RadioButton';\nimport SearchBar from './SearchBar';\nimport InputLabel from './Label';\nimport DatepickerField from './DatepickerField';\nimport Textarea from './Textarea';\nimport QuickSearch from './QuickSearch';\nimport NumberField from './NumberField';\n\nexport * from './styling';\n\nexport {\n TextField,\n PasswordField,\n Checkbox,\n RadioButton,\n SearchBar,\n InputLabel,\n DatepickerField,\n Textarea,\n QuickSearch,\n NumberField\n};\n"],"file":"index.js"}
@@ -61,8 +61,7 @@ var Table = function Table(props) {
61
61
  accordion = props.accordion,
62
62
  _props$collapsed = props.collapsed,
63
63
  collapsed = _props$collapsed === void 0 ? true : _props$collapsed,
64
- collapsedRows = props.collapsedRows,
65
- rowsPerPageLabel = props.rowsPerPageLabel; // States used within the component
64
+ collapsedRows = props.collapsedRows; // States used within the component
66
65
 
67
66
  var _React$useState = React.useState(10),
68
67
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
@@ -452,7 +451,8 @@ var Table = function Table(props) {
452
451
  }))]
453
452
  }), showLoadingIndicator && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableSpinner, {
454
453
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicator.LoadingIndicator, {
455
- size: _types.Size.Medium
454
+ size: _types.Size.Medium,
455
+ color: "#ffffff"
456
456
  })
457
457
  })]
458
458
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/Table.tsx"],"names":["Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","rowsPerPageLabel","React","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Size","Medium"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr,\n accordion,\n collapsed = true,\n collapsedRows,\n rowsPerPageLabel\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [isCollapsed, setIsCollapsed] = React.useState(true);\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Sets number of rows to display when accordion.\n */\n React.useEffect(() => {\n if (!accordion) return;\n\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\n }, [rows, accordion, collapsedRows, isCollapsed])\n\n React.useEffect(() => {\n if (!accordion) return;\n\n setIsCollapsed(!!collapsed);\n }, [ accordion, collapsed])\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n \n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n \n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n \n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n \n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n setIsCollapsed={setIsCollapsed}\n isCollapsed={isCollapsed}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </StyledTable>\n {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium}/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.cjs"}
1
+ {"version":3,"sources":["../../src/Table/Table.tsx"],"names":["Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","React","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Size","Medium"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr,\n accordion,\n collapsed = true,\n collapsedRows\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [isCollapsed, setIsCollapsed] = React.useState(true);\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Sets number of rows to display when accordion.\n */\n React.useEffect(() => {\n if (!accordion) return;\n\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\n }, [rows, accordion, collapsedRows, isCollapsed])\n\n React.useEffect(() => {\n if (!accordion) return;\n\n setIsCollapsed(!!collapsed);\n }, [ accordion, collapsed])\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n \n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n \n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n \n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n \n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n setIsCollapsed={setIsCollapsed}\n isCollapsed={isCollapsed}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </StyledTable>\n {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.cjs"}
@@ -53,8 +53,7 @@ var Table = function Table(props) {
53
53
  accordion = props.accordion,
54
54
  _props$collapsed = props.collapsed,
55
55
  collapsed = _props$collapsed === void 0 ? true : _props$collapsed,
56
- collapsedRows = props.collapsedRows,
57
- rowsPerPageLabel = props.rowsPerPageLabel; // States used within the component
56
+ collapsedRows = props.collapsedRows; // States used within the component
58
57
 
59
58
  var _React$useState = React.useState(10),
60
59
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -444,7 +443,8 @@ var Table = function Table(props) {
444
443
  }))]
445
444
  }), showLoadingIndicator && /*#__PURE__*/_jsx(StyledTableSpinner, {
446
445
  children: /*#__PURE__*/_jsx(LoadingIndicator, {
447
- size: Size.Medium
446
+ size: Size.Medium,
447
+ color: "#ffffff"
448
448
  })
449
449
  })]
450
450
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/Table.tsx"],"names":["React","Size","StyledTable","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","rowsPerPageLabel","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Medium"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr,\n accordion,\n collapsed = true,\n collapsedRows,\n rowsPerPageLabel\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [isCollapsed, setIsCollapsed] = React.useState(true);\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Sets number of rows to display when accordion.\n */\n React.useEffect(() => {\n if (!accordion) return;\n\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\n }, [rows, accordion, collapsedRows, isCollapsed])\n\n React.useEffect(() => {\n if (!accordion) return;\n\n setIsCollapsed(!!collapsed);\n }, [ accordion, collapsed])\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n \n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n \n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n \n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n \n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n setIsCollapsed={setIsCollapsed}\n isCollapsed={isCollapsed}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </StyledTable>\n {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium}/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.js"}
1
+ {"version":3,"sources":["../../src/Table/Table.tsx"],"names":["React","Size","StyledTable","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Medium"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr,\n accordion,\n collapsed = true,\n collapsedRows\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [isCollapsed, setIsCollapsed] = React.useState(true);\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Sets number of rows to display when accordion.\n */\n React.useEffect(() => {\n if (!accordion) return;\n\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\n }, [rows, accordion, collapsedRows, isCollapsed])\n\n React.useEffect(() => {\n if (!accordion) return;\n\n setIsCollapsed(!!collapsed);\n }, [ accordion, collapsed])\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n \n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n \n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n \n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n \n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n setIsCollapsed={setIsCollapsed}\n isCollapsed={isCollapsed}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </StyledTable>\n {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.js"}
@@ -28,8 +28,6 @@ var _common = require("../common");
28
28
  var _jsxRuntime = require("react/jsx-runtime");
29
29
 
30
30
  var TableFooter = function TableFooter(props) {
31
- var _props$rowsPerPageLab;
32
-
33
31
  var rowsPerPageValues = [{
34
32
  value: '10'
35
33
  }, {
@@ -39,7 +37,7 @@ var TableFooter = function TableFooter(props) {
39
37
  }, {
40
38
  value: '100'
41
39
  }];
42
- var dropDownText = "".concat((_props$rowsPerPageLab = props.rowsPerPageLabel) !== null && _props$rowsPerPageLab !== void 0 ? _props$rowsPerPageLab : 'Rows per page', ": ").concat(props.rowsPerPage);
40
+ var dropDownText = "Rows per page: ".concat(props.rowsPerPage);
43
41
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableFooter, {
44
42
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
45
43
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("td", {
@@ -107,7 +105,6 @@ var TableFooter = function TableFooter(props) {
107
105
  TableFooter.propTypes = {
108
106
  onRowsPerPageChange: _propTypes.default.func.isRequired,
109
107
  rowsPerPage: _propTypes.default.number.isRequired,
110
- rowsPerPageLabel: _propTypes.default.string,
111
108
  from: _propTypes.default.number,
112
109
  to: _propTypes.default.number,
113
110
  total: _propTypes.default.number,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["TableFooter","props","rowsPerPageValues","value","dropDownText","rowsPerPageLabel","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","defaultOnMouseDownHandler","rows","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","COLORS","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownButton, DropdownItem} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n rowsPerPageLabel?: string;\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: DropdownItem[] = [{value: '10'}, {value: '20'}, {value: '50'}, {value: '100'}];\n\n const dropDownText = `${props.rowsPerPageLabel ?? '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={defaultOnMouseDownHandler}\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 fewer</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownButton\n type={'text'}\n items={rowsPerPageValues}\n disabled={props.showLoadingIndicator}\n value={[`${props.rowsPerPage}`]}\n onClick={(value) => props.onRowsPerPageChange(+value[0])}\n label={dropDownText}\n keepLabel={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 || props.showLoadingIndicator}>\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 || props.showLoadingIndicator}>\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.cjs"}
1
+ {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["TableFooter","props","rowsPerPageValues","value","dropDownText","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","defaultOnMouseDownHandler","rows","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","COLORS","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownButton, DropdownItem} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\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: DropdownItem[] = [{value: '10'}, {value: '20'}, {value: '50'}, {value: '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={defaultOnMouseDownHandler}\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 fewer</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownButton\n type={'text'}\n items={rowsPerPageValues}\n disabled={props.showLoadingIndicator}\n value={[`${props.rowsPerPage}`]}\n onClick={(value) => props.onRowsPerPageChange(+value[0])}\n label={dropDownText}\n keepLabel={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 || props.showLoadingIndicator}>\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 || props.showLoadingIndicator}>\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.cjs"}
@@ -3,7 +3,6 @@ import { TableProps } from './TableTypes';
3
3
  interface TableFooterProps extends TableProps {
4
4
  onRowsPerPageChange: (value: number) => void;
5
5
  rowsPerPage: number;
6
- rowsPerPageLabel?: string;
7
6
  from?: number;
8
7
  to?: number;
9
8
  total?: number;
@@ -12,8 +12,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
12
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
13
13
 
14
14
  var TableFooter = function TableFooter(props) {
15
- var _props$rowsPerPageLab;
16
-
17
15
  var rowsPerPageValues = [{
18
16
  value: '10'
19
17
  }, {
@@ -23,7 +21,7 @@ var TableFooter = function TableFooter(props) {
23
21
  }, {
24
22
  value: '100'
25
23
  }];
26
- var dropDownText = "".concat((_props$rowsPerPageLab = props.rowsPerPageLabel) !== null && _props$rowsPerPageLab !== void 0 ? _props$rowsPerPageLab : 'Rows per page', ": ").concat(props.rowsPerPage);
24
+ var dropDownText = "Rows per page: ".concat(props.rowsPerPage);
27
25
  return /*#__PURE__*/_jsx(StyledTableFooter, {
28
26
  children: /*#__PURE__*/_jsx("tr", {
29
27
  children: /*#__PURE__*/_jsxs("td", {
@@ -91,7 +89,6 @@ var TableFooter = function TableFooter(props) {
91
89
  TableFooter.propTypes = {
92
90
  onRowsPerPageChange: _pt.func.isRequired,
93
91
  rowsPerPage: _pt.number.isRequired,
94
- rowsPerPageLabel: _pt.string,
95
92
  from: _pt.number,
96
93
  to: _pt.number,
97
94
  total: _pt.number,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["React","DropdownButton","IconButton","ChevronLeft","ChevronRight","COLORS","StyledTableFooter","StyledTableFooterCollapseButton","StyledTableFooterContent","StyledTableFooterControls","StyledTableFooterCurrentInfo","SystemIcons","defaultOnMouseDownHandler","TableFooter","props","rowsPerPageValues","value","dropDownText","rowsPerPageLabel","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","rows","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownButton, DropdownItem} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n rowsPerPageLabel?: string;\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: DropdownItem[] = [{value: '10'}, {value: '20'}, {value: '50'}, {value: '100'}];\n\n const dropDownText = `${props.rowsPerPageLabel ?? '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={defaultOnMouseDownHandler}\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 fewer</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownButton\n type={'text'}\n items={rowsPerPageValues}\n disabled={props.showLoadingIndicator}\n value={[`${props.rowsPerPage}`]}\n onClick={(value) => props.onRowsPerPageChange(+value[0])}\n label={dropDownText}\n keepLabel={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 || props.showLoadingIndicator}>\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 || props.showLoadingIndicator}>\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
+ {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["React","DropdownButton","IconButton","ChevronLeft","ChevronRight","COLORS","StyledTableFooter","StyledTableFooterCollapseButton","StyledTableFooterContent","StyledTableFooterControls","StyledTableFooterCurrentInfo","SystemIcons","defaultOnMouseDownHandler","TableFooter","props","rowsPerPageValues","value","dropDownText","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","rows","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownButton, DropdownItem} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\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: DropdownItem[] = [{value: '10'}, {value: '20'}, {value: '50'}, {value: '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={defaultOnMouseDownHandler}\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 fewer</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownButton\n type={'text'}\n items={rowsPerPageValues}\n disabled={props.showLoadingIndicator}\n value={[`${props.rowsPerPage}`]}\n onClick={(value) => props.onRowsPerPageChange(+value[0])}\n label={dropDownText}\n keepLabel={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 || props.showLoadingIndicator}>\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 || props.showLoadingIndicator}>\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"}
@@ -60,7 +60,7 @@ var StyledTableBodyRow = _styledComponents.default.tr(_templateObject9 || (_temp
60
60
 
61
61
  exports.StyledTableBodyRow = StyledTableBodyRow;
62
62
 
63
- var StyledTableBody = _styledComponents.default.tbody(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n ", ":nth-child(odd):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ", ";\n }\n\n ", ":nth-child(even):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ", ";\n }\n"])), StyledTableBodyRow, _styles.COLORS.neutral_50, StyledTableBodyRow, _styles.COLORS.neutral_20);
63
+ var StyledTableBody = _styledComponents.default.tbody(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n"])));
64
64
 
65
65
  exports.StyledTableBody = StyledTableBody;
66
66
 
@@ -96,7 +96,7 @@ var StyledTableFooterControls = _styledComponents.default.div(_templateObject18
96
96
 
97
97
  exports.StyledTableFooterControls = StyledTableFooterControls;
98
98
 
99
- var StyledTableSpinner = _styledComponents.default.div(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(255, 255, 255, 0.75);\n top: 0;\n z-index: ", ";\n"])), _zIndexes.Z_INDEXES.backdrop);
99
+ var StyledTableSpinner = _styledComponents.default.div(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(0, 0, 0, 0.5);\n top: 0;\n z-index: ", ";\n"])), _zIndexes.Z_INDEXES.backdrop);
100
100
 
101
101
  exports.StyledTableSpinner = StyledTableSpinner;
102
102