@laerdal/life-react-components 3.0.1-dev.2 → 3.0.1-dev.20.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 (179) hide show
  1. package/dist/Accordion/AccordionItem.cjs +2 -2
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.js +3 -3
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/index.cjs +46 -4
  6. package/dist/Accordion/index.cjs.map +1 -1
  7. package/dist/Accordion/index.d.ts +4 -1
  8. package/dist/Accordion/index.js +4 -1
  9. package/dist/Accordion/index.js.map +1 -1
  10. package/dist/Accordion/styles.cjs +6 -6
  11. package/dist/Accordion/styles.cjs.map +1 -1
  12. package/dist/Accordion/styles.d.ts +2 -2
  13. package/dist/Accordion/styles.js +3 -3
  14. package/dist/Accordion/styles.js.map +1 -1
  15. package/dist/AuthPage/AuthPage.cjs +4 -3
  16. package/dist/AuthPage/AuthPage.cjs.map +1 -1
  17. package/dist/AuthPage/AuthPage.d.ts +2 -1
  18. package/dist/AuthPage/AuthPage.js +2 -2
  19. package/dist/AuthPage/AuthPage.js.map +1 -1
  20. package/dist/AuthPage/index.cjs +31 -3
  21. package/dist/AuthPage/index.cjs.map +1 -1
  22. package/dist/AuthPage/index.d.ts +4 -3
  23. package/dist/AuthPage/index.js +4 -3
  24. package/dist/AuthPage/index.js.map +1 -1
  25. package/dist/Banners/Banner.cjs +16 -11
  26. package/dist/Banners/Banner.cjs.map +1 -1
  27. package/dist/Banners/Banner.d.ts +33 -1
  28. package/dist/Banners/Banner.js +10 -10
  29. package/dist/Banners/Banner.js.map +1 -1
  30. package/dist/Banners/OverviewBanner.cjs +7 -5
  31. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  32. package/dist/Banners/OverviewBanner.d.ts +8 -2
  33. package/dist/Banners/OverviewBanner.js +4 -4
  34. package/dist/Banners/OverviewBanner.js.map +1 -1
  35. package/dist/Banners/index.cjs +31 -3
  36. package/dist/Banners/index.cjs.map +1 -1
  37. package/dist/Banners/index.d.ts +4 -3
  38. package/dist/Banners/index.js +4 -5
  39. package/dist/Banners/index.js.map +1 -1
  40. package/dist/Breadcrumb/Breadcrumb.cjs +2 -2
  41. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  42. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  43. package/dist/Breadcrumb/Breadcrumb.js +3 -3
  44. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  45. package/dist/Breadcrumb/index.cjs +42 -2
  46. package/dist/Breadcrumb/index.cjs.map +1 -1
  47. package/dist/Breadcrumb/index.d.ts +3 -0
  48. package/dist/Breadcrumb/index.js +3 -0
  49. package/dist/Breadcrumb/index.js.map +1 -1
  50. package/dist/Breadcrumb/styles.cjs +5 -5
  51. package/dist/Breadcrumb/styles.cjs.map +1 -1
  52. package/dist/Breadcrumb/styles.d.ts +2 -2
  53. package/dist/Breadcrumb/styles.js +2 -2
  54. package/dist/Breadcrumb/styles.js.map +1 -1
  55. package/dist/Button/BackButton.cjs +2 -2
  56. package/dist/Button/BackButton.cjs.map +1 -1
  57. package/dist/Button/BackButton.d.ts +1 -1
  58. package/dist/Button/BackButton.js +2 -2
  59. package/dist/Button/BackButton.js.map +1 -1
  60. package/dist/Button/DualFunctionButton.cjs +3 -3
  61. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  62. package/dist/Button/DualFunctionButton.js +4 -4
  63. package/dist/Button/DualFunctionButton.js.map +1 -1
  64. package/dist/Button/Iconbutton.cjs +10 -10
  65. package/dist/Button/Iconbutton.cjs.map +1 -1
  66. package/dist/Button/Iconbutton.d.ts +1 -1
  67. package/dist/Button/Iconbutton.js +8 -8
  68. package/dist/Button/Iconbutton.js.map +1 -1
  69. package/dist/Button/index.cjs +57 -5
  70. package/dist/Button/index.cjs.map +1 -1
  71. package/dist/Button/index.d.ts +4 -0
  72. package/dist/Button/index.js +4 -0
  73. package/dist/Button/index.js.map +1 -1
  74. package/dist/Card/VerticalCard/Card.cjs +7 -7
  75. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  76. package/dist/Card/VerticalCard/Card.d.ts +2 -2
  77. package/dist/Card/VerticalCard/Card.js +4 -4
  78. package/dist/Card/VerticalCard/Card.js.map +1 -1
  79. package/dist/Card/VerticalCard/CardBottomSection.cjs +21 -21
  80. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  81. package/dist/Card/VerticalCard/CardBottomSection.d.ts +7 -7
  82. package/dist/Card/VerticalCard/CardBottomSection.js +13 -13
  83. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  84. package/dist/Card/VerticalCard/CardMiddleSection.cjs +11 -11
  85. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  86. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +3 -3
  87. package/dist/Card/VerticalCard/CardMiddleSection.js +7 -7
  88. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  89. package/dist/Card/VerticalCard/CardTopSection.cjs +13 -13
  90. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  91. package/dist/Card/VerticalCard/CardTopSection.d.ts +4 -4
  92. package/dist/Card/VerticalCard/CardTopSection.js +8 -8
  93. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  94. package/dist/Chips/index.cjs +19 -0
  95. package/dist/Chips/index.cjs.map +1 -1
  96. package/dist/Chips/index.d.ts +1 -0
  97. package/dist/Chips/index.js +1 -0
  98. package/dist/Chips/index.js.map +1 -1
  99. package/dist/Dropdown/BasicDropdown.cjs +3 -3
  100. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  101. package/dist/Dropdown/BasicDropdown.d.ts +5 -5
  102. package/dist/Dropdown/BasicDropdown.js +4 -4
  103. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  104. package/dist/Dropdown/CommonStyling.cjs +19 -19
  105. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  106. package/dist/Dropdown/CommonStyling.d.ts +9 -9
  107. package/dist/Dropdown/CommonStyling.js +9 -9
  108. package/dist/Dropdown/CommonStyling.js.map +1 -1
  109. package/dist/Dropdown/DropdownButton.cjs +9 -8
  110. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  111. package/dist/Dropdown/DropdownButton.d.ts +1 -0
  112. package/dist/Dropdown/DropdownButton.js +8 -8
  113. package/dist/Dropdown/DropdownButton.js.map +1 -1
  114. package/dist/Dropdown/DropdownContent.cjs +18 -16
  115. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  116. package/dist/Dropdown/DropdownContent.d.ts +10 -1
  117. package/dist/Dropdown/DropdownContent.js +15 -15
  118. package/dist/Dropdown/DropdownContent.js.map +1 -1
  119. package/dist/Dropdown/DropdownFilter.cjs +3 -3
  120. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  121. package/dist/Dropdown/DropdownFilter.d.ts +1 -1
  122. package/dist/Dropdown/DropdownFilter.js +4 -4
  123. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  124. package/dist/Dropdown/index.cjs +57 -5
  125. package/dist/Dropdown/index.cjs.map +1 -1
  126. package/dist/Dropdown/index.d.ts +4 -0
  127. package/dist/Dropdown/index.js +4 -0
  128. package/dist/Dropdown/index.js.map +1 -1
  129. package/dist/InputFields/DatepickerField.cjs +80 -4
  130. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  131. package/dist/InputFields/DatepickerField.d.ts +2 -0
  132. package/dist/InputFields/DatepickerField.js +80 -4
  133. package/dist/InputFields/DatepickerField.js.map +1 -1
  134. package/dist/InputFields/NumberField.cjs +1 -1
  135. package/dist/InputFields/NumberField.cjs.map +1 -1
  136. package/dist/InputFields/NumberField.js +1 -1
  137. package/dist/InputFields/NumberField.js.map +1 -1
  138. package/dist/ProfileButton/ProfileButton.cjs +1 -1
  139. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  140. package/dist/ProfileButton/ProfileButton.js +2 -2
  141. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  142. package/dist/Table/Table.cjs +18 -6
  143. package/dist/Table/Table.cjs.map +1 -1
  144. package/dist/Table/Table.js +18 -6
  145. package/dist/Table/Table.js.map +1 -1
  146. package/dist/Table/TableBody.cjs +6 -4
  147. package/dist/Table/TableBody.cjs.map +1 -1
  148. package/dist/Table/TableBody.js +6 -4
  149. package/dist/Table/TableBody.js.map +1 -1
  150. package/dist/Table/TableStyles.cjs +4 -1
  151. package/dist/Table/TableStyles.cjs.map +1 -1
  152. package/dist/Table/TableStyles.d.ts +3 -1
  153. package/dist/Table/TableStyles.js +4 -1
  154. package/dist/Table/TableStyles.js.map +1 -1
  155. package/dist/Table/TableTypes.cjs.map +1 -1
  156. package/dist/Table/TableTypes.d.ts +2 -0
  157. package/dist/Table/TableTypes.js.map +1 -1
  158. package/dist/Toggles/ToggleButton.cjs +3 -2
  159. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  160. package/dist/Toggles/ToggleButton.js +4 -3
  161. package/dist/Toggles/ToggleButton.js.map +1 -1
  162. package/dist/Toggles/ToggleSwitch.cjs +3 -0
  163. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  164. package/dist/Toggles/ToggleSwitch.js +3 -0
  165. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  166. package/dist/Toggles/TogglerStyles.cjs +5 -10
  167. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  168. package/dist/Toggles/TogglerStyles.js +5 -7
  169. package/dist/Toggles/TogglerStyles.js.map +1 -1
  170. package/dist/Tooltips/TooltipStyles.cjs +1 -1
  171. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  172. package/dist/Tooltips/TooltipStyles.js +1 -1
  173. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  174. package/dist/styles/z-indexes.cjs +1 -0
  175. package/dist/styles/z-indexes.cjs.map +1 -1
  176. package/dist/styles/z-indexes.d.ts +1 -0
  177. package/dist/styles/z-indexes.js +1 -0
  178. package/dist/styles/z-indexes.js.map +1 -1
  179. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","names":["React","Size","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","sortProps","accordion","collapsed","collapsedRows","rowsPerPageLabel","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sort","setSort","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","direction","a","b","rowsFrom","rowsTo","slice","sortTableColumn","columnKey","sortDirection","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","border","Medium"],"sources":["../../src/Table/Table.tsx"],"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, TableSortProps} 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 sortProps,\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 [sort, setSort] = React.useState<TableSortProps | undefined>(sortProps);\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 setSort(sortProps);\n }, [sortProps])\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 (!!sort?.column && !!sort?.direction) {\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sort.column!] > b[sort.column!]) {\n return sort.direction! === 'asc' ? 1 : -1;\n } else if (a[sort.column!] < b[sort.column!]) {\n return sort.direction! === '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, sort, 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 columnKey = '';\n let sortDirection: TableSortingDirection | undefined = undefined;\n\n if (sort?.column !== column.key) {\n columnKey = column.key;\n sortDirection = 'asc';\n } else {\n if (sort?.direction === 'desc') {\n columnKey = '';\n sortDirection = undefined;\n } else {\n columnKey = sort.column;\n sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';\n }\n }\n\n if(columnKey == '')\n setSort(undefined);\n else\n setSort({column: columnKey, direction: sortDirection!});\n\n remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);\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 className={props.border ? 'border' : undefined}>\n <TableHeader {...props}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n sortProps={sort}\n selectAllState={selectAllState}/>\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 {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium}/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","names":["React","Size","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","sortProps","accordion","collapsed","collapsedRows","rowsPerPageLabel","loaderZIndex","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sort","setSort","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","column","direction","allowClearingSort","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","filterValue","key","toLowerCase","indexOf","a","b","rowsFrom","rowsTo","slice","sortTableColumn","columnKey","sortDirection","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","border","Medium"],"sources":["../../src/Table/Table.tsx"],"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, TableSortProps} 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 sortProps,\n accordion,\n collapsed = true,\n\n collapsedRows,\n rowsPerPageLabel,\n loaderZIndex\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 [sort, setSort] = React.useState<TableSortProps | undefined>();\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 setSort({\n column: sortProps?.column ?? '', \n direction: sortProps?.direction ?? 'asc', \n allowClearingSort: sortProps?.allowClearingSort === undefined ? true : sortProps.allowClearingSort\n });\n }, [sortProps])\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 (!!sort?.column && !!sort?.direction) {\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sort.column!] > b[sort.column!]) {\n return sort.direction! === 'asc' ? 1 : -1;\n } else if (a[sort.column!] < b[sort.column!]) {\n return sort.direction! === '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, sort, 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 columnKey = '';\n let sortDirection: TableSortingDirection | undefined = undefined;\n\n if (sort?.column !== column.key) {\n columnKey = column.key;\n sortDirection = 'asc';\n } else {\n if (sort?.direction === 'desc' && sort?.allowClearingSort) {\n columnKey = '';\n sortDirection = undefined;\n } else {\n columnKey = sort.column;\n sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';\n }\n }\n\n if(columnKey == '')\n setSort({ column: '', direction: 'asc', allowClearingSort: sort?.allowClearingSort});\n else\n setSort({column: columnKey, direction: sortDirection!, allowClearingSort: sort?.allowClearingSort});\n\n remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);\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 className={props.border ? 'border' : undefined}>\n <TableHeader {...props}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n sortProps={sort}\n selectAllState={selectAllState}/>\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 {showLoadingIndicator && (\n <StyledTableSpinner zindex={loaderZIndex}>\n <LoadingIndicator size={Size.Medium}/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"mappings":"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"}
@@ -145,7 +145,7 @@ var TableBody = function TableBody(props) {
145
145
  })
146
146
  })
147
147
  }), props.columns.map(function (column) {
148
- var _props$sortProps, _props$sortProps2, _props$sortProps3, _props$sortProps4;
148
+ var _props$sortProps, _props$sortProps2, _props$sortProps3, _props$sortProps4, _props$sortProps5, _props$sortProps6, _props$sortProps7, _props$sortProps8, _props$sortProps9;
149
149
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableHeaderColumn, {
150
150
  onMouseDown: _common.defaultOnMouseDownHandler,
151
151
  onClick: function onClick(e) {
@@ -156,16 +156,18 @@ var TableBody = function TableBody(props) {
156
156
  column.sortable && props.sortByColumn(column);
157
157
  }
158
158
  },
159
+ "aria-pressed": column.key === ((_props$sortProps = props.sortProps) === null || _props$sortProps === void 0 ? void 0 : _props$sortProps.column) && !!((_props$sortProps2 = props.sortProps) !== null && _props$sortProps2 !== void 0 && _props$sortProps2.direction) ? true : undefined,
160
+ "aria-sort": column.key === ((_props$sortProps3 = props.sortProps) === null || _props$sortProps3 === void 0 ? void 0 : _props$sortProps3.column) && !!((_props$sortProps4 = props.sortProps) !== null && _props$sortProps4 !== void 0 && _props$sortProps4.direction) ? ((_props$sortProps5 = props.sortProps) === null || _props$sortProps5 === void 0 ? void 0 : _props$sortProps5.direction) == 'asc' ? 'ascending' : 'descending' : undefined,
159
161
  style: {
160
162
  width: column.width
161
163
  },
162
164
  tabIndex: column.sortable && !props.showLoadingIndicator ? 0 : -1,
163
- className: "".concat(!!column.sortable ? 'sortable' : '', " ").concat(column.key === ((_props$sortProps = props.sortProps) === null || _props$sortProps === void 0 ? void 0 : _props$sortProps.column) && !!((_props$sortProps2 = props.sortProps) !== null && _props$sortProps2 !== void 0 && _props$sortProps2.direction) ? 'sorted' : '', " ").concat(column.justify || ''),
165
+ className: "".concat(!!column.sortable ? 'sortable' : '', " ").concat(column.key === ((_props$sortProps6 = props.sortProps) === null || _props$sortProps6 === void 0 ? void 0 : _props$sortProps6.column) && !!((_props$sortProps7 = props.sortProps) !== null && _props$sortProps7 !== void 0 && _props$sortProps7.direction) ? 'sorted' : '', " ").concat(column.justify || ''),
164
166
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTableHeaderColumnContent, {
165
167
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
166
168
  children: column.name
167
- }), column.key === ((_props$sortProps3 = props.sortProps) === null || _props$sortProps3 === void 0 ? void 0 : _props$sortProps3.column) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableHeaderColumnSortDirection, {
168
- children: ((_props$sortProps4 = props.sortProps) === null || _props$sortProps4 === void 0 ? void 0 : _props$sortProps4.direction) === 'asc' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowLineUp, {
169
+ }), column.key === ((_props$sortProps8 = props.sortProps) === null || _props$sortProps8 === void 0 ? void 0 : _props$sortProps8.column) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableHeaderColumnSortDirection, {
170
+ children: ((_props$sortProps9 = props.sortProps) === null || _props$sortProps9 === void 0 ? void 0 : _props$sortProps9.direction) === 'asc' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowLineUp, {
169
171
  size: '24px'
170
172
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowLineDown, {
171
173
  size: '24px'
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.cjs","names":["TableBody","props","useDimensionsRef","updateOnResize","scrollContainerRef","dimensions","node","React","useState","scrollable","setScrollable","useEffect","clientWidth","scrollWidth","columns","rows","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","layout","selectAllState","onSelectAllClick","map","defaultOnMouseDownHandler","sortable","sortByColumn","width","sortProps","direction","justify","name","currentPageRows","length","index","selectable","onRowClick","undefined","maxWidth","shortenText","noRowsLabel"],"sources":["../../src/Table/TableBody.tsx"],"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,\n StyledTableCellText,\n StyledTableHeaderColumn,\n StyledTableHeaderColumnContent,\n StyledTableHeaderColumns,\n StyledTableNoRowsLabelRow,\n StyledTable, StyledTableBodyWrapper, StyledTableHeaderRow, StyledTableHeaderColumnSortDirection,\n} from './TableStyles';\nimport {defaultOnMouseDownHandler} from '../common';\nimport {SystemIcons} from \"../icons\";\nimport {useDimensionsRef} from \"rooks\";\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n sortByColumn: (column: TableColumn) => void;\n onSelectAllClick: () => void;\n selectAllState: 'all' | 'some' | 'none';\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({updateOnResize: true});\n const [scrollable, setScrollable] = React.useState(false);\n\n React.useEffect(() => {\n const clientWidth = node?.clientWidth ?? 0;\n const scrollWidth = node?.scrollWidth ?? 0;\n setScrollable(scrollWidth > clientWidth);\n }, [dimensions, node, props.columns, props.rows]);\n\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const tmp = ({\n variant: 'default',\n href: '#',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\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 tmp = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...tmp}\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 tmp = ({\n variant: 'tertiary',\n size: Size.Small,\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\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 const isSelected = (row: any) => {\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\n }\n\n return (\n <StyledTableBodyWrapper ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <StyledTableHeaderRow>\n <StyledTableHeaderColumns data-testid=\"TestTableColumnHeaderRow\">\n {\n props.multiSelect &&\n <StyledTableHeaderColumn>\n <StyledTableHeaderColumnContent>\n <Checkbox selected={props.selectAllState === 'all'}\n disabled={props.showLoadingIndicator}\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={defaultOnMouseDownHandler}\n onClick={(e) => column.sortable && props.sortByColumn(column)}\n onKeyPress={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n column.sortable && props.sortByColumn(column)\n }\n }}\n style={{width: column.width}}\n tabIndex={column.sortable && !props.showLoadingIndicator ? 0 : -1}\n className={`${!!column.sortable ? 'sortable' : ''} ${column.key === props.sortProps?.column && !!props.sortProps?.direction ? 'sorted' : ''} ${column.justify || ''}`}>\n <StyledTableHeaderColumnContent>\n <span>\n {column.name}\n </span>\n {\n column.key === props.sortProps?.column &&\n (\n <StyledTableHeaderColumnSortDirection>\n {\n props.sortProps?.direction === 'asc'\n ? <SystemIcons.ArrowLineUp size={'24px'}/>\n : <SystemIcons.ArrowLineDown size={'24px'}/>\n }\n </StyledTableHeaderColumnSortDirection>\n )\n }\n </StyledTableHeaderColumnContent>\n </StyledTableHeaderColumn>\n ))}\n </StyledTableHeaderColumns>\n </StyledTableHeaderRow>\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' : ''} ${isSelected(row) ? 'selected' : ''}`}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={isSelected(row)}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={{maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\n style={{\n color: column.colorFn && column.colorFn(row, column.key),\n }}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableNoRowsLabelRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n {props.noRowsLabel ?? 'There are no rows to display'}\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableNoRowsLabelRow>\n )}\n\n </StyledTableBody>\n </StyledTable>\n </StyledTableBodyWrapper>\n );\n }\n;\n\nexport default TableBody;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableBody.cjs","names":["TableBody","props","useDimensionsRef","updateOnResize","scrollContainerRef","dimensions","node","React","useState","scrollable","setScrollable","useEffect","clientWidth","scrollWidth","columns","rows","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","layout","selectAllState","onSelectAllClick","map","defaultOnMouseDownHandler","sortable","sortByColumn","sortProps","direction","undefined","width","justify","name","currentPageRows","length","index","selectable","onRowClick","maxWidth","shortenText","noRowsLabel"],"sources":["../../src/Table/TableBody.tsx"],"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,\n StyledTableCellText,\n StyledTableHeaderColumn,\n StyledTableHeaderColumnContent,\n StyledTableHeaderColumns,\n StyledTableNoRowsLabelRow,\n StyledTable, StyledTableBodyWrapper, StyledTableHeaderRow, StyledTableHeaderColumnSortDirection,\n} from './TableStyles';\nimport {defaultOnMouseDownHandler} from '../common';\nimport {SystemIcons} from \"../icons\";\nimport {useDimensionsRef} from \"rooks\";\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n sortByColumn: (column: TableColumn) => void;\n onSelectAllClick: () => void;\n selectAllState: 'all' | 'some' | 'none';\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({updateOnResize: true});\n const [scrollable, setScrollable] = React.useState(false);\n\n React.useEffect(() => {\n const clientWidth = node?.clientWidth ?? 0;\n const scrollWidth = node?.scrollWidth ?? 0;\n setScrollable(scrollWidth > clientWidth);\n }, [dimensions, node, props.columns, props.rows]);\n\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const tmp = ({\n variant: 'default',\n href: '#',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\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 tmp = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...tmp}\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 tmp = ({\n variant: 'tertiary',\n size: Size.Small,\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\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 const isSelected = (row: any) => {\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\n }\n\n return (\n <StyledTableBodyWrapper ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <StyledTableHeaderRow>\n <StyledTableHeaderColumns data-testid=\"TestTableColumnHeaderRow\">\n {\n props.multiSelect &&\n <StyledTableHeaderColumn>\n <StyledTableHeaderColumnContent>\n <Checkbox selected={props.selectAllState === 'all'}\n disabled={props.showLoadingIndicator}\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={defaultOnMouseDownHandler}\n onClick={(e) => column.sortable && props.sortByColumn(column)}\n onKeyPress={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n column.sortable && props.sortByColumn(column)\n }\n }}\n aria-pressed={column.key === props.sortProps?.column && !!props.sortProps?.direction ? true : undefined}\n aria-sort={column.key === props.sortProps?.column && !!props.sortProps?.direction ? \n (props.sortProps?.direction == 'asc' ? 'ascending' : 'descending' ) \n : undefined}\n style={{width: column.width}}\n tabIndex={column.sortable && !props.showLoadingIndicator ? 0 : -1}\n className={`${!!column.sortable ? 'sortable' : ''} ${column.key === props.sortProps?.column && !!props.sortProps?.direction ? 'sorted' : ''} ${column.justify || ''}`}>\n <StyledTableHeaderColumnContent>\n <span>\n {column.name}\n </span>\n {\n column.key === props.sortProps?.column &&\n (\n <StyledTableHeaderColumnSortDirection>\n {\n props.sortProps?.direction === 'asc'\n ? <SystemIcons.ArrowLineUp size={'24px'}/>\n : <SystemIcons.ArrowLineDown size={'24px'}/>\n }\n </StyledTableHeaderColumnSortDirection>\n )\n }\n </StyledTableHeaderColumnContent>\n </StyledTableHeaderColumn>\n ))}\n </StyledTableHeaderColumns>\n </StyledTableHeaderRow>\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' : ''} ${isSelected(row) ? 'selected' : ''}`}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={isSelected(row)}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={{maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\n style={{\n color: column.colorFn && column.colorFn(row, column.key),\n }}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableNoRowsLabelRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n {props.noRowsLabel ?? 'There are no rows to display'}\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableNoRowsLabelRow>\n )}\n\n </StyledTableBody>\n </StyledTable>\n </StyledTableBodyWrapper>\n );\n }\n;\n\nexport default TableBody;\n"],"mappings":"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"}
@@ -137,7 +137,7 @@ var TableBody = function TableBody(props) {
137
137
  })
138
138
  })
139
139
  }), props.columns.map(function (column) {
140
- var _props$sortProps, _props$sortProps2, _props$sortProps3, _props$sortProps4;
140
+ var _props$sortProps, _props$sortProps2, _props$sortProps3, _props$sortProps4, _props$sortProps5, _props$sortProps6, _props$sortProps7, _props$sortProps8, _props$sortProps9;
141
141
  return /*#__PURE__*/_jsx(StyledTableHeaderColumn, {
142
142
  onMouseDown: defaultOnMouseDownHandler,
143
143
  onClick: function onClick(e) {
@@ -148,16 +148,18 @@ var TableBody = function TableBody(props) {
148
148
  column.sortable && props.sortByColumn(column);
149
149
  }
150
150
  },
151
+ "aria-pressed": column.key === ((_props$sortProps = props.sortProps) === null || _props$sortProps === void 0 ? void 0 : _props$sortProps.column) && !!((_props$sortProps2 = props.sortProps) !== null && _props$sortProps2 !== void 0 && _props$sortProps2.direction) ? true : undefined,
152
+ "aria-sort": column.key === ((_props$sortProps3 = props.sortProps) === null || _props$sortProps3 === void 0 ? void 0 : _props$sortProps3.column) && !!((_props$sortProps4 = props.sortProps) !== null && _props$sortProps4 !== void 0 && _props$sortProps4.direction) ? ((_props$sortProps5 = props.sortProps) === null || _props$sortProps5 === void 0 ? void 0 : _props$sortProps5.direction) == 'asc' ? 'ascending' : 'descending' : undefined,
151
153
  style: {
152
154
  width: column.width
153
155
  },
154
156
  tabIndex: column.sortable && !props.showLoadingIndicator ? 0 : -1,
155
- className: "".concat(!!column.sortable ? 'sortable' : '', " ").concat(column.key === ((_props$sortProps = props.sortProps) === null || _props$sortProps === void 0 ? void 0 : _props$sortProps.column) && !!((_props$sortProps2 = props.sortProps) !== null && _props$sortProps2 !== void 0 && _props$sortProps2.direction) ? 'sorted' : '', " ").concat(column.justify || ''),
157
+ className: "".concat(!!column.sortable ? 'sortable' : '', " ").concat(column.key === ((_props$sortProps6 = props.sortProps) === null || _props$sortProps6 === void 0 ? void 0 : _props$sortProps6.column) && !!((_props$sortProps7 = props.sortProps) !== null && _props$sortProps7 !== void 0 && _props$sortProps7.direction) ? 'sorted' : '', " ").concat(column.justify || ''),
156
158
  children: /*#__PURE__*/_jsxs(StyledTableHeaderColumnContent, {
157
159
  children: [/*#__PURE__*/_jsx("span", {
158
160
  children: column.name
159
- }), column.key === ((_props$sortProps3 = props.sortProps) === null || _props$sortProps3 === void 0 ? void 0 : _props$sortProps3.column) && /*#__PURE__*/_jsx(StyledTableHeaderColumnSortDirection, {
160
- children: ((_props$sortProps4 = props.sortProps) === null || _props$sortProps4 === void 0 ? void 0 : _props$sortProps4.direction) === 'asc' ? /*#__PURE__*/_jsx(SystemIcons.ArrowLineUp, {
161
+ }), column.key === ((_props$sortProps8 = props.sortProps) === null || _props$sortProps8 === void 0 ? void 0 : _props$sortProps8.column) && /*#__PURE__*/_jsx(StyledTableHeaderColumnSortDirection, {
162
+ children: ((_props$sortProps9 = props.sortProps) === null || _props$sortProps9 === void 0 ? void 0 : _props$sortProps9.direction) === 'asc' ? /*#__PURE__*/_jsx(SystemIcons.ArrowLineUp, {
161
163
  size: '24px'
162
164
  }) : /*#__PURE__*/_jsx(SystemIcons.ArrowLineDown, {
163
165
  size: '24px'
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.js","names":["Button","Size","React","Checkbox","IconButton","HyperLink","StyledTableBody","StyledTableBodyRow","StyledTableCell","StyledTableCellContent","StyledTableCellIcon","StyledTableCellText","StyledTableHeaderColumn","StyledTableHeaderColumnContent","StyledTableHeaderColumns","StyledTableNoRowsLabelRow","StyledTable","StyledTableBodyWrapper","StyledTableHeaderRow","StyledTableHeaderColumnSortDirection","defaultOnMouseDownHandler","SystemIcons","useDimensionsRef","TableBody","props","updateOnResize","scrollContainerRef","dimensions","node","useState","scrollable","setScrollable","useEffect","clientWidth","scrollWidth","columns","rows","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","layout","selectAllState","onSelectAllClick","map","sortable","sortByColumn","width","sortProps","direction","justify","name","currentPageRows","length","index","selectable","onRowClick","undefined","maxWidth","shortenText","noRowsLabel"],"sources":["../../src/Table/TableBody.tsx"],"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,\n StyledTableCellText,\n StyledTableHeaderColumn,\n StyledTableHeaderColumnContent,\n StyledTableHeaderColumns,\n StyledTableNoRowsLabelRow,\n StyledTable, StyledTableBodyWrapper, StyledTableHeaderRow, StyledTableHeaderColumnSortDirection,\n} from './TableStyles';\nimport {defaultOnMouseDownHandler} from '../common';\nimport {SystemIcons} from \"../icons\";\nimport {useDimensionsRef} from \"rooks\";\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n sortByColumn: (column: TableColumn) => void;\n onSelectAllClick: () => void;\n selectAllState: 'all' | 'some' | 'none';\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({updateOnResize: true});\n const [scrollable, setScrollable] = React.useState(false);\n\n React.useEffect(() => {\n const clientWidth = node?.clientWidth ?? 0;\n const scrollWidth = node?.scrollWidth ?? 0;\n setScrollable(scrollWidth > clientWidth);\n }, [dimensions, node, props.columns, props.rows]);\n\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const tmp = ({\n variant: 'default',\n href: '#',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\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 tmp = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...tmp}\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 tmp = ({\n variant: 'tertiary',\n size: Size.Small,\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\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 const isSelected = (row: any) => {\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\n }\n\n return (\n <StyledTableBodyWrapper ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <StyledTableHeaderRow>\n <StyledTableHeaderColumns data-testid=\"TestTableColumnHeaderRow\">\n {\n props.multiSelect &&\n <StyledTableHeaderColumn>\n <StyledTableHeaderColumnContent>\n <Checkbox selected={props.selectAllState === 'all'}\n disabled={props.showLoadingIndicator}\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={defaultOnMouseDownHandler}\n onClick={(e) => column.sortable && props.sortByColumn(column)}\n onKeyPress={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n column.sortable && props.sortByColumn(column)\n }\n }}\n style={{width: column.width}}\n tabIndex={column.sortable && !props.showLoadingIndicator ? 0 : -1}\n className={`${!!column.sortable ? 'sortable' : ''} ${column.key === props.sortProps?.column && !!props.sortProps?.direction ? 'sorted' : ''} ${column.justify || ''}`}>\n <StyledTableHeaderColumnContent>\n <span>\n {column.name}\n </span>\n {\n column.key === props.sortProps?.column &&\n (\n <StyledTableHeaderColumnSortDirection>\n {\n props.sortProps?.direction === 'asc'\n ? <SystemIcons.ArrowLineUp size={'24px'}/>\n : <SystemIcons.ArrowLineDown size={'24px'}/>\n }\n </StyledTableHeaderColumnSortDirection>\n )\n }\n </StyledTableHeaderColumnContent>\n </StyledTableHeaderColumn>\n ))}\n </StyledTableHeaderColumns>\n </StyledTableHeaderRow>\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' : ''} ${isSelected(row) ? 'selected' : ''}`}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={isSelected(row)}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={{maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\n style={{\n color: column.colorFn && column.colorFn(row, column.key),\n }}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableNoRowsLabelRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n {props.noRowsLabel ?? 'There are no rows to display'}\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableNoRowsLabelRow>\n )}\n\n </StyledTableBody>\n </StyledTable>\n </StyledTableBodyWrapper>\n );\n }\n;\n\nexport default TableBody;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableBody.js","names":["Button","Size","React","Checkbox","IconButton","HyperLink","StyledTableBody","StyledTableBodyRow","StyledTableCell","StyledTableCellContent","StyledTableCellIcon","StyledTableCellText","StyledTableHeaderColumn","StyledTableHeaderColumnContent","StyledTableHeaderColumns","StyledTableNoRowsLabelRow","StyledTable","StyledTableBodyWrapper","StyledTableHeaderRow","StyledTableHeaderColumnSortDirection","defaultOnMouseDownHandler","SystemIcons","useDimensionsRef","TableBody","props","updateOnResize","scrollContainerRef","dimensions","node","useState","scrollable","setScrollable","useEffect","clientWidth","scrollWidth","columns","rows","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","layout","selectAllState","onSelectAllClick","map","sortable","sortByColumn","sortProps","direction","undefined","width","justify","name","currentPageRows","length","index","selectable","onRowClick","maxWidth","shortenText","noRowsLabel"],"sources":["../../src/Table/TableBody.tsx"],"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,\n StyledTableCellText,\n StyledTableHeaderColumn,\n StyledTableHeaderColumnContent,\n StyledTableHeaderColumns,\n StyledTableNoRowsLabelRow,\n StyledTable, StyledTableBodyWrapper, StyledTableHeaderRow, StyledTableHeaderColumnSortDirection,\n} from './TableStyles';\nimport {defaultOnMouseDownHandler} from '../common';\nimport {SystemIcons} from \"../icons\";\nimport {useDimensionsRef} from \"rooks\";\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n sortByColumn: (column: TableColumn) => void;\n onSelectAllClick: () => void;\n selectAllState: 'all' | 'some' | 'none';\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({updateOnResize: true});\n const [scrollable, setScrollable] = React.useState(false);\n\n React.useEffect(() => {\n const clientWidth = node?.clientWidth ?? 0;\n const scrollWidth = node?.scrollWidth ?? 0;\n setScrollable(scrollWidth > clientWidth);\n }, [dimensions, node, props.columns, props.rows]);\n\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const tmp = ({\n variant: 'default',\n href: '#',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\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 tmp = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...tmp}\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 tmp = ({\n variant: 'tertiary',\n size: Size.Small,\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\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 const isSelected = (row: any) => {\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\n }\n\n return (\n <StyledTableBodyWrapper ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\n <StyledTableHeaderRow>\n <StyledTableHeaderColumns data-testid=\"TestTableColumnHeaderRow\">\n {\n props.multiSelect &&\n <StyledTableHeaderColumn>\n <StyledTableHeaderColumnContent>\n <Checkbox selected={props.selectAllState === 'all'}\n disabled={props.showLoadingIndicator}\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={defaultOnMouseDownHandler}\n onClick={(e) => column.sortable && props.sortByColumn(column)}\n onKeyPress={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n column.sortable && props.sortByColumn(column)\n }\n }}\n aria-pressed={column.key === props.sortProps?.column && !!props.sortProps?.direction ? true : undefined}\n aria-sort={column.key === props.sortProps?.column && !!props.sortProps?.direction ? \n (props.sortProps?.direction == 'asc' ? 'ascending' : 'descending' ) \n : undefined}\n style={{width: column.width}}\n tabIndex={column.sortable && !props.showLoadingIndicator ? 0 : -1}\n className={`${!!column.sortable ? 'sortable' : ''} ${column.key === props.sortProps?.column && !!props.sortProps?.direction ? 'sorted' : ''} ${column.justify || ''}`}>\n <StyledTableHeaderColumnContent>\n <span>\n {column.name}\n </span>\n {\n column.key === props.sortProps?.column &&\n (\n <StyledTableHeaderColumnSortDirection>\n {\n props.sortProps?.direction === 'asc'\n ? <SystemIcons.ArrowLineUp size={'24px'}/>\n : <SystemIcons.ArrowLineDown size={'24px'}/>\n }\n </StyledTableHeaderColumnSortDirection>\n )\n }\n </StyledTableHeaderColumnContent>\n </StyledTableHeaderColumn>\n ))}\n </StyledTableHeaderColumns>\n </StyledTableHeaderRow>\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' : ''} ${isSelected(row) ? 'selected' : ''}`}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={isSelected(row)}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={{maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\n style={{\n color: column.colorFn && column.colorFn(row, column.key),\n }}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableNoRowsLabelRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n {props.noRowsLabel ?? 'There are no rows to display'}\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableNoRowsLabelRow>\n )}\n\n </StyledTableBody>\n </StyledTable>\n </StyledTableBodyWrapper>\n );\n }\n;\n\nexport default TableBody;\n"],"mappings":"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"}
@@ -59,7 +59,10 @@ var StyledTableFooterCurrentInfo = _styledComponents.default.span(_templateObjec
59
59
  exports.StyledTableFooterCurrentInfo = StyledTableFooterCurrentInfo;
60
60
  var StyledTableFooterControls = _styledComponents.default.div(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n"])));
61
61
  exports.StyledTableFooterControls = StyledTableFooterControls;
62
- var StyledTableSpinner = _styledComponents.default.div(_templateObject22 || (_templateObject22 = (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);
62
+ var StyledTableSpinner = _styledComponents.default.div(_templateObject22 || (_templateObject22 = (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"])), function (props) {
63
+ var _props$zindex;
64
+ return (_props$zindex = props.zindex) !== null && _props$zindex !== void 0 ? _props$zindex : _zIndexes.Z_INDEXES.loader;
65
+ });
63
66
  exports.StyledTableSpinner = StyledTableSpinner;
64
67
  var StyledTableFooterCollapseButton = _styledComponents.default.button(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n border-bottom: 1px solid ", ";\n border-top: 1px solid ", ";\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ", ";\n\n cursor: pointer;\n\n ", "\n \n &:focus {\n ", "\n }\n\n &:hover {\n z-index: ", ";\n background: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n background: ", ";\n color: ", ";\n }\n\n &:disabled {\n display: none;\n }\n\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_200, _styles.COLORS.white, (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.focusStyles, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _zIndexes.Z_INDEXES.active, _styles.COLORS.primary_100, _styles.COLORS.primary_800);
65
68
  exports.StyledTableFooterCollapseButton = StyledTableFooterCollapseButton;
@@ -1 +1 @@
1
- {"version":3,"file":"TableStyles.cjs","names":["TableWrapper","styled","div","COLORS","neutral_200","StyledTable","table","StyledTableHeader","StyledTableHeaderTitle","StyledTableHeaderTitleContent","ComponentLStyling","ComponentTextStyle","Bold","black","StyledTableHeaderRow","thead","StyledTableHeaderColumns","tr","StyledTableHeaderColumnContent","StyledTableHeaderColumnSortDirection","span","StyledTableHeaderColumn","th","ComponentSStyling","neutral_600","white","primary_20","primary_700","Z_INDEXES","hover","primary_100","primary_800","active","focusStyles","neutral_20","StyledTableBodyRow","StyledTableNoRowsLabelRow","neutral_50","StyledTableBody","tbody","StyledTableCell","td","StyledTableCellContent","Regular","StyledCheckBox","StyledTableCellIcon","neutral_700","StyledTableCellText","StyledTableFooter","StyledTableFooterContent","StyledTableFooterCurrentInfo","ComponentXSStyling","StyledTableFooterControls","StyledTableSpinner","backdrop","StyledTableFooterCollapseButton","button","ComponentMStyling","StyledTableBodyWrapper","scrollBarStyling","Size","Small"],"sources":["../../src/Table/TableStyles.ts"],"sourcesContent":["/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom style properties.\n */\nimport {COLORS, focusStyles, scrollBarStyling} from '../styles';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling\n} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {StyledCheckBox} from '../InputFields/Checkbox';\nimport {Size} from \"../types\";\n\n/**\n * Table styles\n */\n\nexport const TableWrapper = styled.div`\n position: relative;\n\n &.border{\n border-left: 1px solid ${COLORS.neutral_200};\n border-right: 1px solid ${COLORS.neutral_200};\n }\n`;\n\n\nexport const StyledTable = styled.table`\n background: transparent;\n border-collapse: collapse;\n width: 100%;\n\n &.fixed {\n table-layout: fixed;\n }\n\n &.auto {\n table-layout: auto;\n }\n`;\n\nexport const StyledTableHeader = styled.div`\n`;\n\nexport const StyledTableHeaderTitle = styled.div`\n`;\n\nexport const StyledTableHeaderTitleContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n box-sizing: border-box;\n min-height: 56px;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 2px solid ${COLORS.neutral_200};\n padding: 0 16px;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.black)}\n .title-menu {\n margin-right: -16px;\n }\n`;\n\nexport const StyledTableHeaderRow = styled.thead`\n`;\n\nexport const StyledTableHeaderColumns = styled.tr`\n`;\n\nexport const StyledTableHeaderColumnContent = styled.div`\n box-sizing: border-box;\n min-height: 56px;\n padding: 0 16px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-top: 1px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n`;\n\nexport const StyledTableHeaderColumnSortDirection = styled.span`\n width: 24px;\n height: 24px;\n`;\n\nexport const StyledTableHeaderColumn = styled.th`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n position: relative;\n text-align: unset;\n background-color: ${COLORS.white};\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:active {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n z-index: ${Z_INDEXES.active};\n }\n\n &:focus {\n ${focusStyles}\n }\n }\n\n &.left {\n & > div {\n justify-content: left;\n }\n }\n\n &.right {\n & > div {\n justify-content: right;\n }\n }\n\n &.center {\n & > div {\n justify-content: center;\n }\n }\n\n &.sortable ${StyledTableHeaderColumnContent} > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ${StyledTableHeaderColumnContent} > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ${COLORS.neutral_20};\n }\n`;\n\nexport const StyledTableBodyRow = styled.tr`\n cursor: pointer;\n position: relative;\n outline: none;\n background-color: ${COLORS.white};\n \n &:not(:last-child) {\n border-bottom: 1px solid ${COLORS.neutral_200};\n }\n\n &.selected{\n background-color: ${COLORS.primary_100};\n }\n \n &:hover {\n background-color: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n }\n\n`;\n\nexport const StyledTableNoRowsLabelRow = styled.tr`\n position: relative;\n outline: none;\n background-color: ${COLORS.neutral_50};\n`;\n\nexport const StyledTableBody = styled.tbody`\n`;\n\n\nexport const StyledTableCell = styled.td``;\n\nexport const StyledTableCellContent = styled.div`\n min-height: 48px;\n\n padding: 0 16px;\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n display: flex;\n align-items: center;\n justify-content: left;\n gap: 8px;\n\n &.truncate-text,\n &.truncate-text span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &.left {\n justify-content: left;\n }\n\n &.right {\n justify-content: right;\n }\n\n &.center {\n justify-content: center;\n }\n\n a:first-letter,\n span:first-letter {\n text-transform: uppercase;\n }\n \n ${StyledCheckBox}{\n width: fit-content;\n }\n`;\n\nexport const StyledTableCellIcon = styled.div`\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n\n svg {\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const StyledTableCellText = styled.span`\n padding: 12px 0;\n`;\n\n\nexport const StyledTableFooter = styled.div`\n`;\n\nexport const StyledTableFooterContent = styled.div`\n border-top: 2px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n box-sizing: border-box;\n min-height: 56px;\n\n display: flex;\n align-items: center;\n justify-content: right;\n\n`;\n\nexport const StyledTableFooterCurrentInfo = styled.span`\n padding: 0 16px;\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n`;\n\nexport const StyledTableFooterControls = styled.div`\n display: flex;\n`;\n\nexport const StyledTableSpinner = styled.div`\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(255, 255, 255, 0.75);\n top: 0;\n z-index: ${Z_INDEXES.backdrop};\n`;\n\nexport const StyledTableFooterCollapseButton = styled.button`\n position: relative;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 1px solid ${COLORS.neutral_200};\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ${COLORS.white};\n\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n \n &:focus {\n ${focusStyles}\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &:disabled {\n display: none;\n }\n\n`;\n\n\nexport const StyledTableBodyWrapper = styled.div`\n overflow-x: auto;\n ${scrollBarStyling(Size.Small)}\n\n ::-webkit-scrollbar-track {\n margin: 6px;\n }\n\n &.scrollable{\n margin-bottom: 6px;\n padding-bottom: 10px;\n }\n`;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableStyles.cjs","names":["TableWrapper","styled","div","COLORS","neutral_200","StyledTable","table","StyledTableHeader","StyledTableHeaderTitle","StyledTableHeaderTitleContent","ComponentLStyling","ComponentTextStyle","Bold","black","StyledTableHeaderRow","thead","StyledTableHeaderColumns","tr","StyledTableHeaderColumnContent","StyledTableHeaderColumnSortDirection","span","StyledTableHeaderColumn","th","ComponentSStyling","neutral_600","white","primary_20","primary_700","Z_INDEXES","hover","primary_100","primary_800","active","focusStyles","neutral_20","StyledTableBodyRow","StyledTableNoRowsLabelRow","neutral_50","StyledTableBody","tbody","StyledTableCell","td","StyledTableCellContent","Regular","StyledCheckBox","StyledTableCellIcon","neutral_700","StyledTableCellText","StyledTableFooter","StyledTableFooterContent","StyledTableFooterCurrentInfo","ComponentXSStyling","StyledTableFooterControls","StyledTableSpinner","props","zindex","loader","StyledTableFooterCollapseButton","button","ComponentMStyling","StyledTableBodyWrapper","scrollBarStyling","Size","Small"],"sources":["../../src/Table/TableStyles.ts"],"sourcesContent":["/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom style properties.\n */\nimport {COLORS, focusStyles, scrollBarStyling} from '../styles';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling\n} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {StyledCheckBox} from '../InputFields/Checkbox';\nimport {Size} from \"../types\";\n\n/**\n * Table styles\n */\n\nexport const TableWrapper = styled.div`\n position: relative;\n\n &.border{\n border-left: 1px solid ${COLORS.neutral_200};\n border-right: 1px solid ${COLORS.neutral_200};\n }\n`;\n\n\nexport const StyledTable = styled.table`\n background: transparent;\n border-collapse: collapse;\n width: 100%;\n\n &.fixed {\n table-layout: fixed;\n }\n\n &.auto {\n table-layout: auto;\n }\n`;\n\nexport const StyledTableHeader = styled.div`\n`;\n\nexport const StyledTableHeaderTitle = styled.div`\n`;\n\nexport const StyledTableHeaderTitleContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n box-sizing: border-box;\n min-height: 56px;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 2px solid ${COLORS.neutral_200};\n padding: 0 16px;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.black)}\n .title-menu {\n margin-right: -16px;\n }\n`;\n\nexport const StyledTableHeaderRow = styled.thead`\n`;\n\nexport const StyledTableHeaderColumns = styled.tr`\n`;\n\nexport const StyledTableHeaderColumnContent = styled.div`\n box-sizing: border-box;\n min-height: 56px;\n padding: 0 16px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-top: 1px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n`;\n\nexport const StyledTableHeaderColumnSortDirection = styled.span`\n width: 24px;\n height: 24px;\n`;\n\nexport const StyledTableHeaderColumn = styled.th`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n position: relative;\n text-align: unset;\n background-color: ${COLORS.white};\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:active {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n z-index: ${Z_INDEXES.active};\n }\n\n &:focus {\n ${focusStyles}\n }\n }\n\n &.left {\n & > div {\n justify-content: left;\n }\n }\n\n &.right {\n & > div {\n justify-content: right;\n }\n }\n\n &.center {\n & > div {\n justify-content: center;\n }\n }\n\n &.sortable ${StyledTableHeaderColumnContent} > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ${StyledTableHeaderColumnContent} > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ${COLORS.neutral_20};\n }\n`;\n\nexport const StyledTableBodyRow = styled.tr`\n cursor: pointer;\n position: relative;\n outline: none;\n background-color: ${COLORS.white};\n \n &:not(:last-child) {\n border-bottom: 1px solid ${COLORS.neutral_200};\n }\n\n &.selected{\n background-color: ${COLORS.primary_100};\n }\n \n &:hover {\n background-color: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n }\n\n`;\n\nexport const StyledTableNoRowsLabelRow = styled.tr`\n position: relative;\n outline: none;\n background-color: ${COLORS.neutral_50};\n`;\n\nexport const StyledTableBody = styled.tbody`\n`;\n\n\nexport const StyledTableCell = styled.td``;\n\nexport const StyledTableCellContent = styled.div`\n min-height: 48px;\n\n padding: 0 16px;\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n display: flex;\n align-items: center;\n justify-content: left;\n gap: 8px;\n\n &.truncate-text,\n &.truncate-text span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &.left {\n justify-content: left;\n }\n\n &.right {\n justify-content: right;\n }\n\n &.center {\n justify-content: center;\n }\n\n a:first-letter,\n span:first-letter {\n text-transform: uppercase;\n }\n \n ${StyledCheckBox}{\n width: fit-content;\n }\n`;\n\nexport const StyledTableCellIcon = styled.div`\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n\n svg {\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const StyledTableCellText = styled.span`\n padding: 12px 0;\n`;\n\n\nexport const StyledTableFooter = styled.div`\n`;\n\nexport const StyledTableFooterContent = styled.div`\n border-top: 2px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n box-sizing: border-box;\n min-height: 56px;\n\n display: flex;\n align-items: center;\n justify-content: right;\n\n`;\n\nexport const StyledTableFooterCurrentInfo = styled.span`\n padding: 0 16px;\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n`;\n\nexport const StyledTableFooterControls = styled.div`\n display: flex;\n`;\n\nexport const StyledTableSpinner = styled.div<{zindex?: string}>`\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(255, 255, 255, 0.75);\n top: 0;\n z-index: ${(props) => (props.zindex ?? Z_INDEXES.loader)};\n`;\n\nexport const StyledTableFooterCollapseButton = styled.button`\n position: relative;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 1px solid ${COLORS.neutral_200};\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ${COLORS.white};\n\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n \n &:focus {\n ${focusStyles}\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &:disabled {\n display: none;\n }\n\n`;\n\n\nexport const StyledTableBodyWrapper = styled.div`\n overflow-x: auto;\n ${scrollBarStyling(Size.Small)}\n\n ::-webkit-scrollbar-track {\n margin: 6px;\n }\n\n &.scrollable{\n margin-bottom: 6px;\n padding-bottom: 10px;\n }\n`;\n"],"mappings":"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"}
@@ -22,6 +22,8 @@ export declare const StyledTableFooter: import("styled-components").StyledCompon
22
22
  export declare const StyledTableFooterContent: import("styled-components").StyledComponent<"div", any, {}, never>;
23
23
  export declare const StyledTableFooterCurrentInfo: import("styled-components").StyledComponent<"span", any, {}, never>;
24
24
  export declare const StyledTableFooterControls: import("styled-components").StyledComponent<"div", any, {}, never>;
25
- export declare const StyledTableSpinner: import("styled-components").StyledComponent<"div", any, {}, never>;
25
+ export declare const StyledTableSpinner: import("styled-components").StyledComponent<"div", any, {
26
+ zindex?: string | undefined;
27
+ }, never>;
26
28
  export declare const StyledTableFooterCollapseButton: import("styled-components").StyledComponent<"button", any, {}, never>;
27
29
  export declare const StyledTableBodyWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -39,7 +39,10 @@ export var StyledTableFooter = styled.div(_templateObject18 || (_templateObject1
39
39
  export var StyledTableFooterContent = styled.div(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n border-top: 2px solid ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n min-height: 56px;\n\n display: flex;\n align-items: center;\n justify-content: right;\n\n"])), COLORS.neutral_200, COLORS.neutral_200);
40
40
  export var StyledTableFooterCurrentInfo = styled.span(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n padding: 0 16px;\n ", "\n"])), ComponentXSStyling(ComponentTextStyle.Regular, COLORS.black));
41
41
  export var StyledTableFooterControls = styled.div(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n display: flex;\n"])));
42
- export var StyledTableSpinner = styled.div(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\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"])), Z_INDEXES.backdrop);
42
+ export var StyledTableSpinner = styled.div(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\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"])), function (props) {
43
+ var _props$zindex;
44
+ return (_props$zindex = props.zindex) !== null && _props$zindex !== void 0 ? _props$zindex : Z_INDEXES.loader;
45
+ });
43
46
  export var StyledTableFooterCollapseButton = styled.button(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n position: relative;\n border-bottom: 1px solid ", ";\n border-top: 1px solid ", ";\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ", ";\n\n cursor: pointer;\n\n ", "\n \n &:focus {\n ", "\n }\n\n &:hover {\n z-index: ", ";\n background: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n background: ", ";\n color: ", ";\n }\n\n &:disabled {\n display: none;\n }\n\n"])), COLORS.neutral_200, COLORS.neutral_200, COLORS.white, ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600), focusStyles, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_700, Z_INDEXES.active, COLORS.primary_100, COLORS.primary_800);
44
47
  export var StyledTableBodyWrapper = styled.div(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n overflow-x: auto;\n ", "\n\n ::-webkit-scrollbar-track {\n margin: 6px;\n }\n\n &.scrollable{\n margin-bottom: 6px;\n padding-bottom: 10px;\n }\n"])), scrollBarStyling(Size.Small));
45
48
  //# sourceMappingURL=TableStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableStyles.js","names":["styled","COLORS","focusStyles","scrollBarStyling","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ComponentXSStyling","Z_INDEXES","StyledCheckBox","Size","TableWrapper","div","neutral_200","StyledTable","table","StyledTableHeader","StyledTableHeaderTitle","StyledTableHeaderTitleContent","Bold","black","StyledTableHeaderRow","thead","StyledTableHeaderColumns","tr","StyledTableHeaderColumnContent","StyledTableHeaderColumnSortDirection","span","StyledTableHeaderColumn","th","neutral_600","white","primary_20","primary_700","hover","primary_100","primary_800","active","neutral_20","StyledTableBodyRow","StyledTableNoRowsLabelRow","neutral_50","StyledTableBody","tbody","StyledTableCell","td","StyledTableCellContent","Regular","StyledTableCellIcon","neutral_700","StyledTableCellText","StyledTableFooter","StyledTableFooterContent","StyledTableFooterCurrentInfo","StyledTableFooterControls","StyledTableSpinner","backdrop","StyledTableFooterCollapseButton","button","StyledTableBodyWrapper","Small"],"sources":["../../src/Table/TableStyles.ts"],"sourcesContent":["/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom style properties.\n */\nimport {COLORS, focusStyles, scrollBarStyling} from '../styles';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling\n} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {StyledCheckBox} from '../InputFields/Checkbox';\nimport {Size} from \"../types\";\n\n/**\n * Table styles\n */\n\nexport const TableWrapper = styled.div`\n position: relative;\n\n &.border{\n border-left: 1px solid ${COLORS.neutral_200};\n border-right: 1px solid ${COLORS.neutral_200};\n }\n`;\n\n\nexport const StyledTable = styled.table`\n background: transparent;\n border-collapse: collapse;\n width: 100%;\n\n &.fixed {\n table-layout: fixed;\n }\n\n &.auto {\n table-layout: auto;\n }\n`;\n\nexport const StyledTableHeader = styled.div`\n`;\n\nexport const StyledTableHeaderTitle = styled.div`\n`;\n\nexport const StyledTableHeaderTitleContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n box-sizing: border-box;\n min-height: 56px;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 2px solid ${COLORS.neutral_200};\n padding: 0 16px;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.black)}\n .title-menu {\n margin-right: -16px;\n }\n`;\n\nexport const StyledTableHeaderRow = styled.thead`\n`;\n\nexport const StyledTableHeaderColumns = styled.tr`\n`;\n\nexport const StyledTableHeaderColumnContent = styled.div`\n box-sizing: border-box;\n min-height: 56px;\n padding: 0 16px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-top: 1px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n`;\n\nexport const StyledTableHeaderColumnSortDirection = styled.span`\n width: 24px;\n height: 24px;\n`;\n\nexport const StyledTableHeaderColumn = styled.th`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n position: relative;\n text-align: unset;\n background-color: ${COLORS.white};\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:active {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n z-index: ${Z_INDEXES.active};\n }\n\n &:focus {\n ${focusStyles}\n }\n }\n\n &.left {\n & > div {\n justify-content: left;\n }\n }\n\n &.right {\n & > div {\n justify-content: right;\n }\n }\n\n &.center {\n & > div {\n justify-content: center;\n }\n }\n\n &.sortable ${StyledTableHeaderColumnContent} > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ${StyledTableHeaderColumnContent} > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ${COLORS.neutral_20};\n }\n`;\n\nexport const StyledTableBodyRow = styled.tr`\n cursor: pointer;\n position: relative;\n outline: none;\n background-color: ${COLORS.white};\n \n &:not(:last-child) {\n border-bottom: 1px solid ${COLORS.neutral_200};\n }\n\n &.selected{\n background-color: ${COLORS.primary_100};\n }\n \n &:hover {\n background-color: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n }\n\n`;\n\nexport const StyledTableNoRowsLabelRow = styled.tr`\n position: relative;\n outline: none;\n background-color: ${COLORS.neutral_50};\n`;\n\nexport const StyledTableBody = styled.tbody`\n`;\n\n\nexport const StyledTableCell = styled.td``;\n\nexport const StyledTableCellContent = styled.div`\n min-height: 48px;\n\n padding: 0 16px;\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n display: flex;\n align-items: center;\n justify-content: left;\n gap: 8px;\n\n &.truncate-text,\n &.truncate-text span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &.left {\n justify-content: left;\n }\n\n &.right {\n justify-content: right;\n }\n\n &.center {\n justify-content: center;\n }\n\n a:first-letter,\n span:first-letter {\n text-transform: uppercase;\n }\n \n ${StyledCheckBox}{\n width: fit-content;\n }\n`;\n\nexport const StyledTableCellIcon = styled.div`\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n\n svg {\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const StyledTableCellText = styled.span`\n padding: 12px 0;\n`;\n\n\nexport const StyledTableFooter = styled.div`\n`;\n\nexport const StyledTableFooterContent = styled.div`\n border-top: 2px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n box-sizing: border-box;\n min-height: 56px;\n\n display: flex;\n align-items: center;\n justify-content: right;\n\n`;\n\nexport const StyledTableFooterCurrentInfo = styled.span`\n padding: 0 16px;\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n`;\n\nexport const StyledTableFooterControls = styled.div`\n display: flex;\n`;\n\nexport const StyledTableSpinner = styled.div`\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(255, 255, 255, 0.75);\n top: 0;\n z-index: ${Z_INDEXES.backdrop};\n`;\n\nexport const StyledTableFooterCollapseButton = styled.button`\n position: relative;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 1px solid ${COLORS.neutral_200};\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ${COLORS.white};\n\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n \n &:focus {\n ${focusStyles}\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &:disabled {\n display: none;\n }\n\n`;\n\n\nexport const StyledTableBodyWrapper = styled.div`\n overflow-x: auto;\n ${scrollBarStyling(Size.Small)}\n\n ::-webkit-scrollbar-track {\n margin: 6px;\n }\n\n &.scrollable{\n margin-bottom: 6px;\n padding-bottom: 10px;\n }\n`;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableStyles.js","names":["styled","COLORS","focusStyles","scrollBarStyling","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ComponentXSStyling","Z_INDEXES","StyledCheckBox","Size","TableWrapper","div","neutral_200","StyledTable","table","StyledTableHeader","StyledTableHeaderTitle","StyledTableHeaderTitleContent","Bold","black","StyledTableHeaderRow","thead","StyledTableHeaderColumns","tr","StyledTableHeaderColumnContent","StyledTableHeaderColumnSortDirection","span","StyledTableHeaderColumn","th","neutral_600","white","primary_20","primary_700","hover","primary_100","primary_800","active","neutral_20","StyledTableBodyRow","StyledTableNoRowsLabelRow","neutral_50","StyledTableBody","tbody","StyledTableCell","td","StyledTableCellContent","Regular","StyledTableCellIcon","neutral_700","StyledTableCellText","StyledTableFooter","StyledTableFooterContent","StyledTableFooterCurrentInfo","StyledTableFooterControls","StyledTableSpinner","props","zindex","loader","StyledTableFooterCollapseButton","button","StyledTableBodyWrapper","Small"],"sources":["../../src/Table/TableStyles.ts"],"sourcesContent":["/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom style properties.\n */\nimport {COLORS, focusStyles, scrollBarStyling} from '../styles';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling\n} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {StyledCheckBox} from '../InputFields/Checkbox';\nimport {Size} from \"../types\";\n\n/**\n * Table styles\n */\n\nexport const TableWrapper = styled.div`\n position: relative;\n\n &.border{\n border-left: 1px solid ${COLORS.neutral_200};\n border-right: 1px solid ${COLORS.neutral_200};\n }\n`;\n\n\nexport const StyledTable = styled.table`\n background: transparent;\n border-collapse: collapse;\n width: 100%;\n\n &.fixed {\n table-layout: fixed;\n }\n\n &.auto {\n table-layout: auto;\n }\n`;\n\nexport const StyledTableHeader = styled.div`\n`;\n\nexport const StyledTableHeaderTitle = styled.div`\n`;\n\nexport const StyledTableHeaderTitleContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n box-sizing: border-box;\n min-height: 56px;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 2px solid ${COLORS.neutral_200};\n padding: 0 16px;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.black)}\n .title-menu {\n margin-right: -16px;\n }\n`;\n\nexport const StyledTableHeaderRow = styled.thead`\n`;\n\nexport const StyledTableHeaderColumns = styled.tr`\n`;\n\nexport const StyledTableHeaderColumnContent = styled.div`\n box-sizing: border-box;\n min-height: 56px;\n padding: 0 16px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-top: 1px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n`;\n\nexport const StyledTableHeaderColumnSortDirection = styled.span`\n width: 24px;\n height: 24px;\n`;\n\nexport const StyledTableHeaderColumn = styled.th`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n position: relative;\n text-align: unset;\n background-color: ${COLORS.white};\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:active {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n z-index: ${Z_INDEXES.active};\n }\n\n &:focus {\n ${focusStyles}\n }\n }\n\n &.left {\n & > div {\n justify-content: left;\n }\n }\n\n &.right {\n & > div {\n justify-content: right;\n }\n }\n\n &.center {\n & > div {\n justify-content: center;\n }\n }\n\n &.sortable ${StyledTableHeaderColumnContent} > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ${StyledTableHeaderColumnContent} > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ${COLORS.neutral_20};\n }\n`;\n\nexport const StyledTableBodyRow = styled.tr`\n cursor: pointer;\n position: relative;\n outline: none;\n background-color: ${COLORS.white};\n \n &:not(:last-child) {\n border-bottom: 1px solid ${COLORS.neutral_200};\n }\n\n &.selected{\n background-color: ${COLORS.primary_100};\n }\n \n &:hover {\n background-color: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n }\n\n`;\n\nexport const StyledTableNoRowsLabelRow = styled.tr`\n position: relative;\n outline: none;\n background-color: ${COLORS.neutral_50};\n`;\n\nexport const StyledTableBody = styled.tbody`\n`;\n\n\nexport const StyledTableCell = styled.td``;\n\nexport const StyledTableCellContent = styled.div`\n min-height: 48px;\n\n padding: 0 16px;\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n display: flex;\n align-items: center;\n justify-content: left;\n gap: 8px;\n\n &.truncate-text,\n &.truncate-text span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &.left {\n justify-content: left;\n }\n\n &.right {\n justify-content: right;\n }\n\n &.center {\n justify-content: center;\n }\n\n a:first-letter,\n span:first-letter {\n text-transform: uppercase;\n }\n \n ${StyledCheckBox}{\n width: fit-content;\n }\n`;\n\nexport const StyledTableCellIcon = styled.div`\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n\n svg {\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const StyledTableCellText = styled.span`\n padding: 12px 0;\n`;\n\n\nexport const StyledTableFooter = styled.div`\n`;\n\nexport const StyledTableFooterContent = styled.div`\n border-top: 2px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n box-sizing: border-box;\n min-height: 56px;\n\n display: flex;\n align-items: center;\n justify-content: right;\n\n`;\n\nexport const StyledTableFooterCurrentInfo = styled.span`\n padding: 0 16px;\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n`;\n\nexport const StyledTableFooterControls = styled.div`\n display: flex;\n`;\n\nexport const StyledTableSpinner = styled.div<{zindex?: string}>`\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(255, 255, 255, 0.75);\n top: 0;\n z-index: ${(props) => (props.zindex ?? Z_INDEXES.loader)};\n`;\n\nexport const StyledTableFooterCollapseButton = styled.button`\n position: relative;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 1px solid ${COLORS.neutral_200};\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ${COLORS.white};\n\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n \n &:focus {\n ${focusStyles}\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &:disabled {\n display: none;\n }\n\n`;\n\n\nexport const StyledTableBodyWrapper = styled.div`\n overflow-x: auto;\n ${scrollBarStyling(Size.Small)}\n\n ::-webkit-scrollbar-track {\n margin: 6px;\n }\n\n &.scrollable{\n margin-bottom: 6px;\n padding-bottom: 10px;\n }\n`;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableTypes.cjs","names":[],"sources":["../../src/Table/TableTypes.ts"],"sourcesContent":["/**\n * Types for the table.\n */\nimport {DropdownButtonProps} from '../Dropdown/DropdownButtonTypes';\nimport {ButtonProps} from '../Button/Button';\nimport {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\n\nexport interface TableProps {\n title?: string; // Will render header row\n\n columns: TableColumn[];\n rows: any[];\n\n border?: boolean;\n accordion?: boolean; // Will render accordion table\n collapsed?: boolean; // whether table should be collapsed or not\n collapsedRows?: number; // Number of rows to show when table is collapsed\n sortProps?: TableSortProps;\n\n remoteOperations?: boolean; // Indicates that pagination should be done remotely\n pagination?: TablePagination; // Required only in case remotePagination is set to true\n onPreviousPageClick?: () => void; // Will fire on previous page click in case remotePagination is set to true\n onNextPageClick?: () => void; // Will fire on next page click in case remotePagination is set to true\n onRowsPerPageChange?: (count: number) => void; // Will fire when rows per page changes in case remotePagination is set to true\n onTriggerSortingChange?: (key: string, direction?: TableSortingDirection) => void; // Will fire when the sorting direction changes. Used with remote pagination,\n\n showLoadingIndicator?: boolean;\n rowsPerPageLabel? :string; //label that will be shown next to the rows per page selector\n noRowsLabel?: string; //label that will be shown when there are no rows in the grid\n showMoreLabel?: string; //label that will be shown for 'accordion' grid when there are some rows collapsed\n showFewerLabel?: string; //label that will be shown for 'accordion' grid when user can 'collapse' some of the rows\n\n menu?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width' | 'itemsType' | 'multiSelect'>;\n\n selectable?: boolean;\n onSelectionChange?: (value: any | any[]) => void;\n multiSelect?: boolean;\n keyExpr?: string;\n selectedRows?: any[];\n\n layout?: TableLayout;\n}\n\nexport interface TableSortProps {\n column: string;\n direction: TableSortingDirection;\n}\n\nexport interface TableColumn {\n key: string;\n name: string;\n filterValue?: string;\n\n icon?: React.ReactNode;\n\n width?: string | number;\n colorFn?: (row: any, key: string) => string;\n justify?: TableJustification;\n shortenText?: boolean;\n\n action?: (row: any, event: any) => void;\n type?: TableColumnTypes;\n additionalProps?: Pick<ButtonProps, 'variant' | 'size' | 'width' | 'icon'> | Pick<IconButtonProps, 'variant' | 'shape' | 'disabled' | 'tooltip'> | Pick<HyperlinkProps, 'variant'>;\n customContent?: (row: any, key: string) => any;\n\n sortable?: boolean;\n}\n\nexport type TableColumnTypes = 'text' | 'boolean' | 'number' | 'custom' | 'button' | 'icon' | 'link';\n\nexport type TableJustification = 'right' | 'left' | 'center';\n\nexport type TableSortingDirection = 'asc' | 'desc';\n\nexport type TableLayout = 'auto' | 'fixed';\n\nexport interface TablePagination {\n from: number;\n to: number;\n total: number;\n currentPage: number;\n rowsPerPage: number;\n}\n\n// will override component properties in case of button, icon and link\n"],"mappings":""}
1
+ {"version":3,"file":"TableTypes.cjs","names":[],"sources":["../../src/Table/TableTypes.ts"],"sourcesContent":["/**\n * Types for the table.\n */\nimport {DropdownButtonProps} from '../Dropdown/DropdownButtonTypes';\nimport {ButtonProps} from '../Button/Button';\nimport {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\n\nexport interface TableProps {\n title?: string; // Will render header row\n\n columns: TableColumn[];\n rows: any[];\n\n border?: boolean;\n accordion?: boolean; // Will render accordion table\n collapsed?: boolean; // whether table should be collapsed or not\n collapsedRows?: number; // Number of rows to show when table is collapsed\n sortProps?: TableSortProps;\n\n remoteOperations?: boolean; // Indicates that pagination should be done remotely\n pagination?: TablePagination; // Required only in case remotePagination is set to true\n onPreviousPageClick?: () => void; // Will fire on previous page click in case remotePagination is set to true\n onNextPageClick?: () => void; // Will fire on next page click in case remotePagination is set to true\n onRowsPerPageChange?: (count: number) => void; // Will fire when rows per page changes in case remotePagination is set to true\n onTriggerSortingChange?: (key: string, direction?: TableSortingDirection) => void; // Will fire when the sorting direction changes. Used with remote pagination,\n\n showLoadingIndicator?: boolean;\n rowsPerPageLabel? :string; //label that will be shown next to the rows per page selector\n noRowsLabel?: string; //label that will be shown when there are no rows in the grid\n showMoreLabel?: string; //label that will be shown for 'accordion' grid when there are some rows collapsed\n showFewerLabel?: string; //label that will be shown for 'accordion' grid when user can 'collapse' some of the rows\n\n menu?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width' | 'itemsType' | 'multiSelect'>;\n\n selectable?: boolean;\n onSelectionChange?: (value: any | any[]) => void;\n multiSelect?: boolean;\n keyExpr?: string;\n selectedRows?: any[];\n loaderZIndex?: string;\n\n layout?: TableLayout;\n}\n\nexport interface TableSortProps {\n column: string;\n direction: TableSortingDirection;\n allowClearingSort?: boolean;\n}\n\nexport interface TableColumn {\n key: string;\n name: string;\n filterValue?: string;\n\n icon?: React.ReactNode;\n\n width?: string | number;\n colorFn?: (row: any, key: string) => string;\n justify?: TableJustification;\n shortenText?: boolean;\n\n action?: (row: any, event: any) => void;\n type?: TableColumnTypes;\n additionalProps?: Pick<ButtonProps, 'variant' | 'size' | 'width' | 'icon'> | Pick<IconButtonProps, 'variant' | 'shape' | 'disabled' | 'tooltip'> | Pick<HyperlinkProps, 'variant'>;\n customContent?: (row: any, key: string) => any;\n\n sortable?: boolean;\n}\n\nexport type TableColumnTypes = 'text' | 'boolean' | 'number' | 'custom' | 'button' | 'icon' | 'link';\n\nexport type TableJustification = 'right' | 'left' | 'center';\n\nexport type TableSortingDirection = 'asc' | 'desc';\n\nexport type TableLayout = 'auto' | 'fixed';\n\nexport interface TablePagination {\n from: number;\n to: number;\n total: number;\n currentPage: number;\n rowsPerPage: number;\n}\n\n// will override component properties in case of button, icon and link\n"],"mappings":""}
@@ -32,11 +32,13 @@ export interface TableProps {
32
32
  multiSelect?: boolean;
33
33
  keyExpr?: string;
34
34
  selectedRows?: any[];
35
+ loaderZIndex?: string;
35
36
  layout?: TableLayout;
36
37
  }
37
38
  export interface TableSortProps {
38
39
  column: string;
39
40
  direction: TableSortingDirection;
41
+ allowClearingSort?: boolean;
40
42
  }
41
43
  export interface TableColumn {
42
44
  key: string;