@laerdal/life-react-components 1.11.0-dev.9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/AccordionItem.cjs +12 -7
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +12 -7
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/ContentAccordion.cjs +3 -1
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.js +3 -1
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/styles.cjs +1 -1
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.js +1 -1
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.d.ts +0 -1
- package/dist/Banners/Banner.cjs +9 -4
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.js +8 -4
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +12 -0
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +12 -0
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs +27 -12
- package/dist/Button/DualFunctionButton.cjs.map +1 -1
- package/dist/Button/DualFunctionButton.js +26 -12
- package/dist/Button/DualFunctionButton.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +2 -2
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.js +2 -2
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/VerticalCard/Card.cjs +2 -2
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.js +2 -2
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +33 -22
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +33 -22
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +26 -12
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +26 -12
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +27 -11
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.js +27 -11
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.d.ts +1 -1
- package/dist/Dropdown/DropdownButtonTypes.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +44 -6
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.d.ts +2 -0
- package/dist/Dropdown/DropdownContent.js +44 -6
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +23 -9
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +23 -9
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.d.ts +0 -1
- package/dist/Footer/Components/FooterDropdownLinks.d.ts +0 -1
- package/dist/Footer/Components/FooterNavSection.cjs +7 -2
- package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNavSection.d.ts +0 -1
- package/dist/Footer/Components/FooterNavSection.js +6 -2
- package/dist/Footer/Components/FooterNavSection.js.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +0 -1
- package/dist/Footer/Components/FooterTop.d.ts +0 -1
- package/dist/Footer/Footer.d.ts +0 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +3 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js +2 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +0 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +0 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +24 -2
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +5 -0
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js +8 -2
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +53 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.d.ts +6 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +34 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -0
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +3 -5
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +0 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -4
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +30 -61
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +30 -57
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
- package/dist/GlobalNavigationBar/types.cjs.map +1 -1
- package/dist/GlobalNavigationBar/types.d.ts +3 -1
- package/dist/GlobalNavigationBar/types.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +1 -0
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.js +1 -0
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +12 -4
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.js +6 -4
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.d.ts +0 -1
- package/dist/InputFields/Label.cjs +16 -14
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.d.ts +1 -0
- package/dist/InputFields/Label.js +15 -13
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +1 -1
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +1 -1
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +1 -1
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.cjs +3 -3
- package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.js +3 -3
- package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +1 -0
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.js +1 -0
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.d.ts +1 -1
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/types.cjs.map +1 -1
- package/dist/InputFields/types.d.ts +1 -1
- package/dist/InputFields/types.js.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.d.ts +0 -1
- package/dist/MiniProductCard/MiniProductCard.d.ts +0 -1
- package/dist/Modals/ModalContent.cjs +2 -1
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.d.ts +1 -0
- package/dist/Modals/ModalContent.js +2 -1
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +1 -0
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.d.ts +1 -0
- package/dist/Modals/ModalDialog.js +1 -0
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/NavItem/NavItem.cjs +22 -1
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.d.ts +7 -1
- package/dist/NavItem/NavItem.js +18 -1
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/NavItem/index.cjs.map +1 -1
- package/dist/NavItem/index.d.ts +1 -0
- package/dist/NavItem/index.js.map +1 -1
- package/dist/Paginator/Paginator.d.ts +0 -1
- package/dist/QuizButton/QuizButton.cjs +3 -1
- package/dist/QuizButton/QuizButton.cjs.map +1 -1
- package/dist/QuizButton/QuizButton.js +3 -1
- package/dist/QuizButton/QuizButton.js.map +1 -1
- package/dist/SideMenu/SideMenuBody.d.ts +0 -1
- package/dist/SideMenu/SideMenuFooter.d.ts +0 -1
- package/dist/SideMenu/SideMenuHeader.d.ts +0 -1
- package/dist/SideMenu/types.d.ts +0 -1
- package/dist/SkipToContent/SkipToContent.cjs +5 -0
- package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
- package/dist/SkipToContent/SkipToContent.d.ts +3 -1
- package/dist/SkipToContent/SkipToContent.js +4 -0
- package/dist/SkipToContent/SkipToContent.js.map +1 -1
- package/dist/Switcher/MobileCustomMenuContent.cjs +56 -0
- package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -0
- package/dist/Switcher/MobileCustomMenuContent.d.ts +8 -0
- package/dist/Switcher/MobileCustomMenuContent.js +39 -0
- package/dist/Switcher/MobileCustomMenuContent.js.map +1 -0
- package/dist/Switcher/MobileSwitcherMenu.cjs +17 -4
- package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
- package/dist/Switcher/MobileSwitcherMenu.d.ts +5 -3
- package/dist/Switcher/MobileSwitcherMenu.js +16 -4
- package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.d.ts +0 -1
- package/dist/Table/Table.cjs +9 -6
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +9 -6
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +6 -5
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.d.ts +1 -3
- package/dist/Table/TableBody.js +6 -5
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableStyles.cjs +1 -1
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.js +1 -1
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Table/TableTypes.cjs.map +1 -1
- package/dist/Table/TableTypes.d.ts +5 -1
- package/dist/Table/TableTypes.js.map +1 -1
- package/dist/Table/index.cjs.map +1 -1
- package/dist/Table/index.d.ts +1 -1
- package/dist/Table/index.js.map +1 -1
- package/dist/Tabs/TabLink.cjs +13 -16
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.d.ts +1 -1
- package/dist/Tabs/TabLink.js +14 -16
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/VerticalTabs.cjs +1 -0
- package/dist/Tabs/VerticalTabs.cjs.map +1 -1
- package/dist/Tabs/VerticalTabs.d.ts +1 -2
- package/dist/Tabs/VerticalTabs.js +1 -0
- package/dist/Tabs/VerticalTabs.js.map +1 -1
- package/dist/Tile/TileBody.cjs.map +1 -1
- package/dist/Tile/TileBody.d.ts +1 -0
- package/dist/Tile/TileBody.js.map +1 -1
- package/dist/Tile/TileCommonItems.d.ts +0 -1
- package/dist/Toasters/ToastContext.cjs +5 -0
- package/dist/Toasters/ToastContext.cjs.map +1 -1
- package/dist/Toasters/ToastContext.d.ts +6 -4
- package/dist/Toasters/ToastContext.js +4 -0
- package/dist/Toasters/ToastContext.js.map +1 -1
- package/dist/Toggles/TogglerTypes.d.ts +0 -1
- package/dist/Tooltips/TooltipTypes.d.ts +0 -1
- package/dist/Tooltips/TooltipWrapper.d.ts +0 -1
- package/dist/common/ScrollableContainer.cjs +44 -0
- package/dist/common/ScrollableContainer.cjs.map +1 -0
- package/dist/common/ScrollableContainer.d.ts +2 -0
- package/dist/common/ScrollableContainer.js +28 -0
- package/dist/common/ScrollableContainer.js.map +1 -0
- package/dist/icons/contenticons/ContentIcons.cjs +83 -2
- package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
- package/dist/icons/contenticons/ContentIcons.d.ts +3 -0
- package/dist/icons/contenticons/ContentIcons.js +72 -0
- package/dist/icons/contenticons/ContentIcons.js.map +1 -1
- package/dist/icons/index.cjs +14 -7
- package/dist/icons/index.cjs.map +1 -1
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.js +14 -7
- package/dist/icons/index.js.map +1 -1
- package/dist/icons/systemicons/SystemIcons.cjs +30 -1
- package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
- package/dist/icons/systemicons/SystemIcons.d.ts +1 -0
- package/dist/icons/systemicons/SystemIcons.js +26 -0
- package/dist/icons/systemicons/SystemIcons.js.map +1 -1
- package/dist/styles/typography.cjs +27 -13
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.d.ts +2 -0
- package/dist/styles/typography.js +27 -13
- package/dist/styles/typography.js.map +1 -1
- package/dist/utils/utils.cjs +13 -0
- package/dist/utils/utils.cjs.map +1 -0
- package/dist/utils/utils.d.ts +1 -0
- package/dist/utils/utils.js +4 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +22 -17
|
@@ -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","sortedColumn","sortedDirection","name","currentPageRows","length","index","selectable","onRowClick","undefined","maxWidth","shortenText","justify","noRowsLabel"],"sources":["../../src/Table/TableBody.tsx"],"sourcesContent":["import {TableColumn, TableProps, TableSortingDirection} 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 {ArrowLineDown, ArrowLineUp} from \"../icons/systemicons/SystemIcons\";\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 sortedColumn?: string;\n sortedDirection?: TableSortingDirection;\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.sortedColumn && !!props.sortedDirection ? 'sorted' : ''}`}>\n <StyledTableHeaderColumnContent>\n <span>\n {column.name}\n </span>\n {\n column.key === props.sortedColumn &&\n (\n <StyledTableHeaderColumnSortDirection>\n {\n props.sortedDirection === 'asc'\n ? <ArrowLineUp size={'24px'}/>\n : <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","width","sortProps","direction","justify","name","currentPageRows","length","index","selectable","onRowClick","undefined","maxWidth","shortenText","noRowsLabel"],"sources":["../../src/Table/TableBody.tsx"],"sourcesContent":["import {TableColumn, TableProps, TableSortingDirection, TableSortProps} 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 {ArrowLineDown, ArrowLineUp} from \"../icons/systemicons/SystemIcons\";\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 ? <ArrowLineUp size={'24px'}/>\n : <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,4 +1,4 @@
|
|
|
1
|
-
import { TableColumn, TableProps
|
|
1
|
+
import { TableColumn, TableProps } from './TableTypes';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
interface TableBodyProps extends TableProps {
|
|
4
4
|
currentPageRows: any[];
|
|
@@ -7,8 +7,6 @@ interface TableBodyProps extends TableProps {
|
|
|
7
7
|
sortByColumn: (column: TableColumn) => void;
|
|
8
8
|
onSelectAllClick: () => void;
|
|
9
9
|
selectAllState: 'all' | 'some' | 'none';
|
|
10
|
-
sortedColumn?: string;
|
|
11
|
-
sortedDirection?: TableSortingDirection;
|
|
12
10
|
}
|
|
13
11
|
declare const TableBody: React.FC<TableBodyProps>;
|
|
14
12
|
export default TableBody;
|
package/dist/Table/TableBody.js
CHANGED
|
@@ -157,6 +157,8 @@ var TableBody = function TableBody(props) {
|
|
|
157
157
|
})
|
|
158
158
|
})
|
|
159
159
|
}), props.columns.map(function (column) {
|
|
160
|
+
var _props$sortProps, _props$sortProps2, _props$sortProps3, _props$sortProps4;
|
|
161
|
+
|
|
160
162
|
return /*#__PURE__*/_jsx(StyledTableHeaderColumn, {
|
|
161
163
|
onMouseDown: defaultOnMouseDownHandler,
|
|
162
164
|
onClick: function onClick(e) {
|
|
@@ -171,12 +173,12 @@ var TableBody = function TableBody(props) {
|
|
|
171
173
|
width: column.width
|
|
172
174
|
},
|
|
173
175
|
tabIndex: column.sortable && !props.showLoadingIndicator ? 0 : -1,
|
|
174
|
-
className: "".concat(!!column.sortable ? 'sortable' : '', " ").concat(column.key === props.
|
|
176
|
+
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 || ''),
|
|
175
177
|
children: /*#__PURE__*/_jsxs(StyledTableHeaderColumnContent, {
|
|
176
178
|
children: [/*#__PURE__*/_jsx("span", {
|
|
177
179
|
children: column.name
|
|
178
|
-
}), column.key === props.
|
|
179
|
-
children: props.
|
|
180
|
+
}), column.key === ((_props$sortProps3 = props.sortProps) === null || _props$sortProps3 === void 0 ? void 0 : _props$sortProps3.column) && /*#__PURE__*/_jsx(StyledTableHeaderColumnSortDirection, {
|
|
181
|
+
children: ((_props$sortProps4 = props.sortProps) === null || _props$sortProps4 === void 0 ? void 0 : _props$sortProps4.direction) === 'asc' ? /*#__PURE__*/_jsx(ArrowLineUp, {
|
|
180
182
|
size: '24px'
|
|
181
183
|
}) : /*#__PURE__*/_jsx(ArrowLineDown, {
|
|
182
184
|
size: '24px'
|
|
@@ -244,8 +246,7 @@ TableBody.propTypes = {
|
|
|
244
246
|
selected: _pt.any,
|
|
245
247
|
sortByColumn: _pt.func.isRequired,
|
|
246
248
|
onSelectAllClick: _pt.func.isRequired,
|
|
247
|
-
selectAllState: _pt.oneOf(['all', 'some', 'none']).isRequired
|
|
248
|
-
sortedColumn: _pt.string
|
|
249
|
+
selectAllState: _pt.oneOf(['all', 'some', 'none']).isRequired
|
|
249
250
|
};
|
|
250
251
|
export default TableBody;
|
|
251
252
|
//# sourceMappingURL=TableBody.js.map
|
|
@@ -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","ArrowLineDown","ArrowLineUp","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","sortedColumn","sortedDirection","name","currentPageRows","length","index","selectable","onRowClick","undefined","maxWidth","shortenText","justify","noRowsLabel"],"sources":["../../src/Table/TableBody.tsx"],"sourcesContent":["import {TableColumn, TableProps, TableSortingDirection} 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 {ArrowLineDown, ArrowLineUp} from \"../icons/systemicons/SystemIcons\";\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 sortedColumn?: string;\n sortedDirection?: TableSortingDirection;\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.sortedColumn && !!props.sortedDirection ? 'sorted' : ''}`}>\n <StyledTableHeaderColumnContent>\n <span>\n {column.name}\n </span>\n {\n column.key === props.sortedColumn &&\n (\n <StyledTableHeaderColumnSortDirection>\n {\n props.sortedDirection === 'asc'\n ? <ArrowLineUp size={'24px'}/>\n : <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":";;;;;;;;AACA,SAAQA,MAAR,QAAqB,WAArB;AACA,SAAQC,IAAR,QAAmB,UAAnB;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAAQC,QAAR,QAAuB,gBAAvB;AAEA,OAAOC,UAAP,MAA0C,sBAA1C;AAEA,SAAQC,SAAR,QAAwB,cAAxB;AACA,SACEC,eADF,EAEEC,kBAFF,EAGEC,eAHF,EAIEC,sBAJF,EAKEC,mBALF,EAMEC,mBANF,EAOEC,uBAPF,EAQEC,8BARF,EASEC,wBATF,EAUEC,yBAVF,EAWEC,WAXF,EAWeC,sBAXf,EAWuCC,oBAXvC,EAW6DC,oCAX7D,QAYO,eAZP;AAaA,SAAQC,yBAAR,QAAwC,WAAxC;AACA,SAAQC,aAAR,EAAuBC,WAAvB,QAAyC,kCAAzC;AACA,SAAQC,gBAAR,QAA+B,OAA/B;;;;;AAcA,IAAMC,SAAmC,GAAG,SAAtCA,SAAsC,CAACC,KAAD,EAAW;EAAA;;EAErD,wBAA+CF,gBAAgB,CAAC;IAACG,cAAc,EAAE;EAAjB,CAAD,CAA/D;EAAA;EAAA,IAAOC,kBAAP;EAAA,IAA2BC,UAA3B;EAAA,IAAuCC,IAAvC;;EACA,sBAAoC3B,KAAK,CAAC4B,QAAN,CAAe,KAAf,CAApC;EAAA;EAAA,IAAOC,UAAP;EAAA,IAAmBC,aAAnB;;EAEA9B,KAAK,CAAC+B,SAAN,CAAgB,YAAM;IAAA;;IACpB,IAAMC,WAAW,wBAAGL,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEK,WAAT,iEAAwB,CAAzC;IACA,IAAMC,WAAW,wBAAGN,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEM,WAAT,iEAAwB,CAAzC;IACAH,aAAa,CAACG,WAAW,GAAGD,WAAf,CAAb;EACD,CAJD,EAIG,CAACN,UAAD,EAAaC,IAAb,EAAmBJ,KAAK,CAACW,OAAzB,EAAkCX,KAAK,CAACY,IAAxC,CAJH;;EAOA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD,EAAsBC,GAAtB,EAAmC;IACtD,QAAQD,MAAM,CAACE,IAAf;MACE,KAAK,MAAL;QAAa;UACX,IAAMC,GAAG;YACPC,OAAO,EAAE,SADF;YAEPC,IAAI,EAAE,GAFC;YAGPC,QAAQ,EAAEpB,KAAK,CAACqB,oBAAN,GAA6B,CAAC,CAA9B,GAAkC;UAHrC,GAIJP,MAAM,CAACQ,eAJH,CAAT;;UAMA,oBACE,KAAC,SAAD;YAAW,KAAK,EAAER,MAAM,CAACS,OAAP,IAAkB;cAACC,KAAK,EAAEV,MAAM,CAACS,OAAP,CAAeR,GAAf,EAAoBD,MAAM,CAACW,GAA3B;YAAR;UAApC,GACeR,GADf;YAEW,OAAO,EAAE,iBAACS,CAAD,EAAO;cACdA,CAAC,CAACC,cAAF;cACAD,CAAC,CAACE,eAAF;cACAd,MAAM,CAACe,MAAP,IAAiBf,MAAM,CAACe,MAAP,CAAcd,GAAd,EAAmBW,CAAnB,CAAjB;YACD,CANZ;YAAA,UAOGX,GAAG,CAACD,MAAM,CAACW,GAAR;UAPN,GADF;QAWD;;MACD,KAAK,MAAL;QAAa;UACX,IAAMR,IAAG;YACPa,SAAS,EAAEhB,MAAM,CAACS,OAAP,IAAkBT,MAAM,CAACS,OAAP,CAAeR,GAAf,EAAoBD,MAAM,CAACW,GAA3B,CADtB;YAEPP,OAAO,EAAE,WAFF;YAGPa,KAAK,EAAE,UAHA;YAIPX,QAAQ,EAAEpB,KAAK,CAACqB,oBAAN,GAA6B,CAAC,CAA9B,GAAkC,CAJrC;YAKPW,wBAAwB,EAAE;UALnB,GAMJlB,MAAM,CAACQ,eANH,CAAT;;UAQA,oBAAO,KAAC,UAAD,kCAAiBL,IAAjB;YACa,MAAM,EAAE,gBAACS,CAAD,EAAO;cACbA,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAEE,eAAH;cACAd,MAAM,CAACe,MAAP,IAAiBf,MAAM,CAACe,MAAP,CAAcd,GAAd,EAAmBW,CAAnB,CAAjB;YACD,CAJd;YAAA,UAKJZ,MAAM,CAACmB;UALH,GAAP;QAOD;;MACD,KAAK,QAAL;QAAe;UACb,IAAMhB,KAAG;YACPC,OAAO,EAAE,UADF;YAEPgB,IAAI,EAAE1D,IAAI,CAAC2D,KAFJ;YAGPf,QAAQ,EAAEpB,KAAK,CAACqB,oBAAN,GAA6B,CAAC,CAA9B,GAAkC;UAHrC,GAIJP,MAAM,CAACQ,eAJH,CAAT;;UAMA,oBAAO,KAAC,MAAD;YAAQ,KAAK,EAAER,MAAM,CAACS,OAAP,IAAkB;cAACC,KAAK,EAAEV,MAAM,CAACS,OAAP,CAAeR,GAAf,EAAoBD,MAAM,CAACW,GAA3B;YAAR;UAAjC,GACYR,KADZ;YAEQ,OAAO,EAAE,iBAACS,CAAD,EAAO;cACdA,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAEE,eAAH;cACAd,MAAM,CAACe,MAAP,IAAiBf,MAAM,CAACe,MAAP,CAAcd,GAAd,EAAmBW,CAAnB,CAAjB;YACD,CALT;YAAA,UAMJX,GAAG,CAACD,MAAM,CAACW,GAAR;UANC,GAAP;QAQD;;MACD,KAAK,SAAL;QACE,oBAAO,KAAC,QAAD;UAAU,QAAQ,EAAE,CAAC,CAACV,GAAG,CAACD,MAAM,CAACW,GAAR,CAAzB;UAAuC,QAAQ,EAAE;QAAjD,EAAP;;MACF,KAAK,QAAL;QACE,OAAOX,MAAM,CAACsB,aAAP,IAAwBtB,MAAM,CAACsB,aAAP,CAAqBrB,GAArB,EAA0BD,MAAM,CAACW,GAAjC,CAA/B;;MACF,KAAK,QAAL;MACA,KAAK,MAAL;MACA;QACE,oBACE;UAAA,WAEIX,MAAM,CAACmB,IAAP,iBACE,KAAC,mBAAD;YAAA,UAAsBnB,MAAM,CAACmB;UAA7B,EAHN,eAKE,KAAC,mBAAD;YAAA,UAAsBlB,GAAG,CAACD,MAAM,CAACW,GAAR;UAAzB,EALF;QAAA,EADF;IA5DJ;EAsED,CAvEH;;EAyEA,IAAMY,UAAU,GAAG,SAAbA,UAAa,CAACtB,GAAD,EAAc;IAAA;;IAC/B,OAAQf,KAAK,CAACsC,WAAN,IAAqB,oBAAAtC,KAAK,CAACuC,QAAN,oEAAgBC,OAAhB,CAAwBxC,KAAK,CAACyC,OAAN,GAAgB1B,GAAG,CAACf,KAAK,CAACyC,OAAP,CAAnB,GAAqC1B,GAA7D,KAAoE,CAAC,CAA3F,IACJ,CAACf,KAAK,CAACsC,WAAP,IAAsBtC,KAAK,CAACuC,QAAN,MAAoBvC,KAAK,CAACyC,OAAN,GAAgB1B,GAAG,CAACf,KAAK,CAACyC,OAAP,CAAnB,GAAqC1B,GAAzD,CADzB;EAED,CAHD;;EAKA,oBACI,KAAC,sBAAD;IAAwB,GAAG,EAAEb,kBAA7B;IAAwD,SAAS,EAAEI,UAAU,GAAG,YAAH,GAAkB,EAA/F;IAAA,uBACI,MAAC,WAAD;MAAa,WAAW,EAAC,GAAzB;MAA6B,WAAW,EAAC,GAAzC;MAA6C,eAAY,WAAzD;MAAqE,SAAS,kBAAWN,KAAK,CAAC0C,MAAN,IAAgB,EAA3B,CAA9E;MAAA,wBACA,KAAC,oBAAD;QAAA,uBACE,MAAC,wBAAD;UAA0B,eAAY,0BAAtC;UAAA,WAEE1C,KAAK,CAACsC,WAAN,iBACE,KAAC,uBAAD;YAAA,uBACI,KAAC,8BAAD;cAAA,uBACI,KAAC,QAAD;gBAAU,QAAQ,EAAEtC,KAAK,CAAC2C,cAAN,KAAyB,KAA7C;gBACU,QAAQ,EAAE3C,KAAK,CAACqB,oBAD1B;gBAEU,YAAY,EAAErB,KAAK,CAAC2C,cAAN,KAAyB,MAFjD;gBAGU,MAAM,EAAE3C,KAAK,CAAC4C;cAHxB;YADJ;UADJ,EAHJ,EAYC5C,KAAK,CAACW,OAAN,CAAckC,GAAd,CAAkB,UAAC/B,MAAD;YAAA,oBACjB,KAAC,uBAAD;cACyB,WAAW,EAAEnB,yBADtC;cAEyB,OAAO,EAAE,iBAAC+B,CAAD;gBAAA,OAAOZ,MAAM,CAACgC,QAAP,IAAmB9C,KAAK,CAAC+C,YAAN,CAAmBjC,MAAnB,CAA1B;cAAA,CAFlC;cAGyB,UAAU,EAAE,oBAACY,CAAD,EAAO;gBACjB,IAAIA,CAAC,CAACD,GAAF,KAAU,OAAV,IAAqBC,CAAC,CAACD,GAAF,KAAU,GAAnC,EAAwC;kBACtCX,MAAM,CAACgC,QAAP,IAAmB9C,KAAK,CAAC+C,YAAN,CAAmBjC,MAAnB,CAAnB;gBACD;cACF,CAP1B;cAQyB,KAAK,EAAE;gBAACkC,KAAK,EAAElC,MAAM,CAACkC;cAAf,CARhC;cASyB,QAAQ,EAAElC,MAAM,CAACgC,QAAP,IAAmB,CAAC9C,KAAK,CAACqB,oBAA1B,GAAiD,CAAjD,GAAqD,CAAC,CATzF;cAUyB,SAAS,YAAK,CAAC,CAACP,MAAM,CAACgC,QAAT,GAAoB,UAApB,GAAiC,EAAtC,cAA4ChC,MAAM,CAACW,GAAP,KAAezB,KAAK,CAACiD,YAArB,IAAqC,CAAC,CAACjD,KAAK,CAACkD,eAA7C,GAA+D,QAA/D,GAA0E,EAAtH,CAVlC;cAAA,uBAWE,MAAC,8BAAD;gBAAA,wBACA;kBAAA,UACGpC,MAAM,CAACqC;gBADV,EADA,EAKIrC,MAAM,CAACW,GAAP,KAAezB,KAAK,CAACiD,YAArB,iBAEE,KAAC,oCAAD;kBAAA,UAEIjD,KAAK,CAACkD,eAAN,KAA0B,KAA1B,gBACK,KAAC,WAAD;oBAAa,IAAI,EAAE;kBAAnB,EADL,gBAEI,KAAC,aAAD;oBAAe,IAAI,EAAE;kBAArB;gBAJR,EAPN;cAAA;YAXF,GAA8BpC,MAAM,CAACW,GAArC,CADiB;UAAA,CAAlB,CAZD;QAAA;MADF,EADA,eA+CA,KAAC,eAAD;QAAA,UACGzB,KAAK,CAACoD,eAAN,CAAsBC,MAAtB,GAA+B,CAA/B,GACCrD,KAAK,CAACoD,eAAN,CAAsBP,GAAtB,CAA0B,UAAC9B,GAAD,EAAWuC,KAAX;UAAA,oBACxB,MAAC,kBAAD;YACoB,SAAS,YAAKtD,KAAK,CAACuD,UAAN,GAAmB,YAAnB,GAAkC,EAAvC,cAA6ClB,UAAU,CAACtB,GAAD,CAAV,GAAkB,UAAlB,GAA+B,EAA5E,CAD7B;YAEoB,OAAO,EAAE;cAAA,OAAMf,KAAK,CAACwD,UAAN,IAAoBxD,KAAK,CAACwD,UAAN,CAAiBzC,GAAjB,CAA1B;YAAA,CAF7B;YAGoB,WAAW,EAAEpB,yBAHjC;YAIoB,UAAU,EAAE,oBAAC+B,CAAD,EAAO;cACjB,IAAIA,CAAC,CAACD,GAAF,KAAU,OAAd,EAAuB;gBACrBzB,KAAK,CAACwD,UAAN,IAAoBxD,KAAK,CAACwD,UAAN,CAAiBzC,GAAjB,CAApB;cACD;YACF,CARrB;YASoB,QAAQ,EAAEf,KAAK,CAACuD,UAAN,IAAoB,CAACvD,KAAK,CAACqB,oBAA3B,GAAkD,CAAlD,GAAsDoC,SATpF;YAUoB,eAAY,kBAVhC;YAAA,WAYIzD,KAAK,CAACsC,WAAN,iBACE,KAAC,eAAD;cAAA,uBACI,KAAC,sBAAD;gBAAA,uBACI,KAAC,QAAD;kBAAU,QAAQ,EAAED,UAAU,CAACtB,GAAD;gBAA9B;cADJ;YADJ,EAbN,EAmBGf,KAAK,CAACW,OAAN,CAAckC,GAAd,CAAkB,UAAC/B,MAAD;cAAA,oBACjB,KAAC,eAAD;gBACiB,KAAK,EAAE;kBAAC4C,QAAQ,EAAE5C,MAAM,CAACkC;gBAAlB,CADxB;gBAEiB,KAAK,EAAElC,MAAM,CAAC6C,WAAP,IAAsB5C,GAAG,CAACD,MAAM,CAACW,GAAR,CAFjD;gBAAA,uBAGE,KAAC,sBAAD;kBACE,SAAS,YAAKX,MAAM,CAAC6C,WAAP,qBAAuC,EAA5C,cAAkD7C,MAAM,CAAC8C,OAAP,IAAkB,EAApE,CADX;kBAEE,KAAK,EAAE;oBACLpC,KAAK,EAAEV,MAAM,CAACS,OAAP,IAAkBT,MAAM,CAACS,OAAP,CAAeR,GAAf,EAAoBD,MAAM,CAACW,GAA3B;kBADpB,CAFT;kBAAA,UAKGZ,cAAc,CAACC,MAAD,EAASC,GAAT;gBALjB;cAHF,iBAA6BuC,KAA7B,cAAsCxC,MAAM,CAACW,GAA7C,EADiB;YAAA,CAAlB,CAnBH;UAAA,iBAAgC6B,KAAhC,EADwB;QAAA,CAA1B,CADD,gBAqCC,KAAC,yBAAD;UAA2B,eAAY,oBAAvC;UAAA,uBACE,KAAC,eAAD;YAAiB,OAAO,EAAEtD,KAAK,CAACW,OAAN,CAAc0C,MAAd,IAAwBrD,KAAK,CAACsC,WAAN,GAAoB,CAApB,GAAwB,CAAhD,CAA1B;YAAA,uBACE,KAAC,sBAAD;cAAwB,SAAS,EAAE,QAAnC;cAAA,gCACGtC,KAAK,CAAC6D,WADT,mEACwB;YADxB;UADF;QADF;MAtCJ,EA/CA;IAAA;EADJ,EADJ;AAoGC,CA9LH;;;EAVET,e;EACAI,U;EACAjB,Q;EACAQ,Y;EACAH,gB;EACAD,c,aAAgB,K,EAAQ,M,EAAS,M;EACjCM,Y;;AAqMF,eAAelD,SAAf"}
|
|
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","ArrowLineDown","ArrowLineUp","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, TableSortingDirection, TableSortProps} 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 {ArrowLineDown, ArrowLineUp} from \"../icons/systemicons/SystemIcons\";\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 ? <ArrowLineUp size={'24px'}/>\n : <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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"}
|
|
@@ -62,7 +62,7 @@ var StyledTableHeaderColumnSortDirection = _styledComponents.default.span(_templ
|
|
|
62
62
|
|
|
63
63
|
exports.StyledTableHeaderColumnSortDirection = StyledTableHeaderColumnSortDirection;
|
|
64
64
|
|
|
65
|
-
var StyledTableHeaderColumn = _styledComponents.default.th(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n position: relative;\n text-align: unset;\n background-color: ", ";\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:active {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:focus {\n ", "\n }\n }\n\n &.sortable ", " > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ", " > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ", ";\n }\n"])), (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.COLORS.white, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _zIndexes.Z_INDEXES.active, _styles.focusStyles, StyledTableHeaderColumnContent, StyledTableHeaderColumnContent, _styles.COLORS.neutral_20);
|
|
65
|
+
var StyledTableHeaderColumn = _styledComponents.default.th(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n position: relative;\n text-align: unset;\n background-color: ", ";\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:active {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:focus {\n ", "\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 ", " > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ", " > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ", ";\n }\n"])), (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.COLORS.white, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _zIndexes.Z_INDEXES.active, _styles.focusStyles, StyledTableHeaderColumnContent, StyledTableHeaderColumnContent, _styles.COLORS.neutral_20);
|
|
66
66
|
|
|
67
67
|
exports.StyledTableHeaderColumn = StyledTableHeaderColumn;
|
|
68
68
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableStyles.cjs","names":["TableWrapper","styled","div","StyledTable","table","StyledTableHeader","StyledTableHeaderTitle","StyledTableHeaderTitleContent","COLORS","neutral_200","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","primary_200","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\n\nexport const StyledTable = styled.table`\n background: transparent;\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 &.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\n &.selected{\n background-color: ${COLORS.primary_100};\n }\n \n &:hover {\n background-color: ${COLORS.primary_200};\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 ${StyledTableBodyRow}:nth-child(odd):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_50};\n }\n\n ${StyledTableBodyRow}:nth-child(even):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_20};\n }\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","StyledTable","table","StyledTableHeader","StyledTableHeaderTitle","StyledTableHeaderTitleContent","COLORS","neutral_200","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","primary_200","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\n\nexport const StyledTable = styled.table`\n background: transparent;\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\n &.selected{\n background-color: ${COLORS.primary_100};\n }\n \n &:hover {\n background-color: ${COLORS.primary_200};\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 ${StyledTableBodyRow}:nth-child(odd):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_50};\n }\n\n ${StyledTableBodyRow}:nth-child(even):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_20};\n }\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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"}
|
|
@@ -28,7 +28,7 @@ export var StyledTableHeaderRow = styled.thead(_templateObject6 || (_templateObj
|
|
|
28
28
|
export var StyledTableHeaderColumns = styled.tr(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n"])));
|
|
29
29
|
export var StyledTableHeaderColumnContent = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\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 ", ";\n border-bottom: 1px solid ", ";\n"])), COLORS.neutral_200, COLORS.neutral_200);
|
|
30
30
|
export var StyledTableHeaderColumnSortDirection = styled.span(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 24px;\n height: 24px;\n"])));
|
|
31
|
-
export var StyledTableHeaderColumn = styled.th(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n ", "\n position: relative;\n text-align: unset;\n background-color: ", ";\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:active {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:focus {\n ", "\n }\n }\n\n &.sortable ", " > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ", " > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ", ";\n }\n"])), ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600), COLORS.white, COLORS.primary_20, COLORS.primary_700, Z_INDEXES.hover, COLORS.primary_100, COLORS.primary_800, Z_INDEXES.active, focusStyles, StyledTableHeaderColumnContent, StyledTableHeaderColumnContent, COLORS.neutral_20);
|
|
31
|
+
export var StyledTableHeaderColumn = styled.th(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n ", "\n position: relative;\n text-align: unset;\n background-color: ", ";\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:active {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:focus {\n ", "\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 ", " > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ", " > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ", ";\n }\n"])), ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600), COLORS.white, COLORS.primary_20, COLORS.primary_700, Z_INDEXES.hover, COLORS.primary_100, COLORS.primary_800, Z_INDEXES.active, focusStyles, StyledTableHeaderColumnContent, StyledTableHeaderColumnContent, COLORS.neutral_20);
|
|
32
32
|
export var StyledTableBodyRow = styled.tr(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n cursor: pointer;\n position: relative;\n outline: none;\n\n &.selected{\n background-color: ", ";\n }\n \n &:hover {\n background-color: ", ";\n z-index: ", ";\n }\n\n &:focus {\n ", "\n }\n\n &:active {\n z-index: ", ";\n }\n\n"])), COLORS.primary_100, COLORS.primary_200, Z_INDEXES.hover, focusStyles, Z_INDEXES.active);
|
|
33
33
|
export var StyledTableNoRowsLabelRow = styled.tr(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n position: relative;\n outline: none;\n background-color: ", ";\n"])), COLORS.neutral_50);
|
|
34
34
|
export var StyledTableBody = styled.tbody(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n ", ":nth-child(odd):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ", ";\n }\n\n ", ":nth-child(even):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ", ";\n }\n"])), StyledTableBodyRow, COLORS.neutral_50, StyledTableBodyRow, COLORS.neutral_20);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableStyles.js","names":["styled","COLORS","focusStyles","scrollBarStyling","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ComponentXSStyling","Z_INDEXES","StyledCheckBox","Size","TableWrapper","div","StyledTable","table","StyledTableHeader","StyledTableHeaderTitle","StyledTableHeaderTitleContent","neutral_200","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","primary_200","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\n\nexport const StyledTable = styled.table`\n background: transparent;\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 &.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\n &.selected{\n background-color: ${COLORS.primary_100};\n }\n \n &:hover {\n background-color: ${COLORS.primary_200};\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 ${StyledTableBodyRow}:nth-child(odd):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_50};\n }\n\n ${StyledTableBodyRow}:nth-child(even):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_20};\n }\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","StyledTable","table","StyledTableHeader","StyledTableHeaderTitle","StyledTableHeaderTitleContent","neutral_200","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","primary_200","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\n\nexport const StyledTable = styled.table`\n background: transparent;\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\n &.selected{\n background-color: ${COLORS.primary_100};\n }\n \n &:hover {\n background-color: ${COLORS.primary_200};\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 ${StyledTableBodyRow}:nth-child(odd):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_50};\n }\n\n ${StyledTableBodyRow}:nth-child(even):not(.selected):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_20};\n }\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 +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 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\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 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'> | 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 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'> | 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,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
/**
|
|
3
2
|
* Types for the table.
|
|
4
3
|
*/
|
|
@@ -13,6 +12,7 @@ export interface TableProps {
|
|
|
13
12
|
accordion?: boolean;
|
|
14
13
|
collapsed?: boolean;
|
|
15
14
|
collapsedRows?: number;
|
|
15
|
+
sortProps?: TableSortProps;
|
|
16
16
|
remoteOperations?: boolean;
|
|
17
17
|
pagination?: TablePagination;
|
|
18
18
|
onPreviousPageClick?: () => void;
|
|
@@ -32,6 +32,10 @@ export interface TableProps {
|
|
|
32
32
|
selectedRows?: any[];
|
|
33
33
|
layout?: TableLayout;
|
|
34
34
|
}
|
|
35
|
+
export interface TableSortProps {
|
|
36
|
+
column: string;
|
|
37
|
+
direction: TableSortingDirection;
|
|
38
|
+
}
|
|
35
39
|
export interface TableColumn {
|
|
36
40
|
key: string;
|
|
37
41
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableTypes.js","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 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\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 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'> | 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.js","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 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'> | 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":""}
|
package/dist/Table/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/Table/index.ts"],"sourcesContent":["export { default as Table } from './Table';\nexport type {TablePagination, TableColumn, TableProps} from './TableTypes'\n"],"mappings":";;;;;;;;;;;;;;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/Table/index.ts"],"sourcesContent":["export { default as Table } from './Table';\nexport type {TablePagination, TableColumn, TableProps, TableSortProps} from './TableTypes'\n"],"mappings":";;;;;;;;;;;;;;AAAA"}
|
package/dist/Table/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Table } from './Table';
|
|
2
|
-
export type { TablePagination, TableColumn, TableProps } from './TableTypes';
|
|
2
|
+
export type { TablePagination, TableColumn, TableProps, TableSortProps } from './TableTypes';
|
package/dist/Table/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","Table"],"sources":["../../src/Table/index.ts"],"sourcesContent":["export { default as Table } from './Table';\nexport type {TablePagination, TableColumn, TableProps} from './TableTypes'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,KAApB,QAAiC,SAAjC"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","Table"],"sources":["../../src/Table/index.ts"],"sourcesContent":["export { default as Table } from './Table';\nexport type {TablePagination, TableColumn, TableProps, TableSortProps} from './TableTypes'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,KAApB,QAAiC,SAAjC"}
|
package/dist/Tabs/TabLink.cjs
CHANGED
|
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
16
|
var React = _interopRequireWildcard(require("react"));
|
|
17
17
|
|
|
@@ -70,20 +70,27 @@ var TabLink = function TabLink(_ref) {
|
|
|
70
70
|
size = _ref$size === void 0 ? _types.Size.Small : _ref$size,
|
|
71
71
|
_ref$variant = _ref.variant,
|
|
72
72
|
variant = _ref$variant === void 0 ? 'critical' : _ref$variant;
|
|
73
|
-
var location = (0, _reactRouterDom.useLocation)();
|
|
74
73
|
var ref = React.useRef(null);
|
|
74
|
+
|
|
75
|
+
var _useState = (0, React.useState)(false),
|
|
76
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
77
|
+
activeState = _useState2[0],
|
|
78
|
+
setActiveState = _useState2[1];
|
|
79
|
+
|
|
75
80
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
|
|
76
81
|
className: disabled ? 'disabled' : '',
|
|
77
82
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledTabLink, {
|
|
78
83
|
to: to.toString(),
|
|
84
|
+
disabled: disabled,
|
|
79
85
|
className: function className(_ref2) {
|
|
80
86
|
var isActive = _ref2.isActive;
|
|
81
|
-
|
|
87
|
+
if (isActive != activeState) setActiveState(isActive);
|
|
88
|
+
return (isActive ? 'active ' : '') + (disabled ? 'disabled' : '');
|
|
82
89
|
},
|
|
83
90
|
onMouseDown: _common.defaultOnMouseDownHandler,
|
|
84
91
|
tabIndex: disabled ? -1 : 0,
|
|
85
92
|
role: "tab",
|
|
86
|
-
"aria-selected":
|
|
93
|
+
"aria-selected": activeState,
|
|
87
94
|
onClick: function onClick(e) {
|
|
88
95
|
return !disabled && onLinkClick && onLinkClick(e);
|
|
89
96
|
},
|
|
@@ -95,7 +102,7 @@ var TabLink = function TabLink(_ref) {
|
|
|
95
102
|
children: requiredLine
|
|
96
103
|
})
|
|
97
104
|
}), optionalLine && OptionalLineIcon ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(OptionalLineWrapperWithIcon, {
|
|
98
|
-
children: [OptionalLineIcon
|
|
105
|
+
children: [OptionalLineIcon, !!optionalLine && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
99
106
|
children: optionalLine
|
|
100
107
|
})]
|
|
101
108
|
}) : optionalLine ? /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionalLineWrapper, {
|
|
@@ -114,16 +121,6 @@ var TabLink = function TabLink(_ref) {
|
|
|
114
121
|
});
|
|
115
122
|
};
|
|
116
123
|
|
|
117
|
-
TabLink.propTypes = {
|
|
118
|
-
disabled: _propTypes.default.bool,
|
|
119
|
-
requiredLine: _propTypes.default.string.isRequired,
|
|
120
|
-
optionalLine: _propTypes.default.string,
|
|
121
|
-
OptionalLineIcon: _propTypes.default.node,
|
|
122
|
-
onLinkClick: _propTypes.default.func,
|
|
123
|
-
testId: _propTypes.default.string,
|
|
124
|
-
showNotificationDot: _propTypes.default.bool,
|
|
125
|
-
variant: _propTypes.default.oneOf(['positive', 'critical'])
|
|
126
|
-
};
|
|
127
124
|
var _default = TabLink;
|
|
128
125
|
exports.default = _default;
|
|
129
126
|
//# sourceMappingURL=TabLink.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabLink.cjs","names":["StyledTabLink","styled","NavLink","COLORS","neutral_600","props","disabled","neutral_100","focusStyles","Z_INDEXES","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Size","Small","variant","
|
|
1
|
+
{"version":3,"file":"TabLink.cjs","names":["StyledTabLink","styled","NavLink","COLORS","neutral_600","props","disabled","neutral_100","focusStyles","Z_INDEXES","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Size","Small","variant","ref","React","useRef","useState","activeState","setActiveState","toString","isActive","defaultOnMouseDownHandler","e"],"sources":["../../src/Tabs/TabLink.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NavLink, NavLinkProps } from 'react-router-dom';\nimport { useLocation } from 'react-router';\nimport styled from 'styled-components';\nimport { NotificationDot } from '../NotificationDot';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\nimport { COLORS, focusStyles } from '../styles';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport { defaultOnMouseDownHandler } from '../common';\nimport { useState } from 'react';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.ReactNode; //React.FunctionComponent<BaseProps>;\n onLinkClick?: (e: React.MouseEvent) => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_300};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.neutral_300};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst Wrapper = styled.div`\n &.disabled {\n cursor: not-allowed;\n\n ${StyledTabLink} {\n pointer-events: none;\n }\n }\n`;\n\nconst TabLink = ({\n to,\n disabled = false,\n requiredLine,\n optionalLine,\n OptionalLineIcon,\n onLinkClick,\n testId,\n showNotificationDot = false,\n size = Size.Small,\n variant = 'critical',\n}: TabLinkProps) => {\n const ref = React.useRef<any>(null);\n const [activeState, setActiveState] = useState<boolean>(false);\n return (\n <Wrapper className={disabled ? 'disabled' : ''}>\n <StyledTabLink\n to={to.toString()}\n disabled={disabled}\n className={({ isActive }) => {\n if(isActive != activeState)\n setActiveState(isActive);\n return (isActive ? 'active ' : '') + (disabled ? 'disabled' : '');\n }}\n onMouseDown={defaultOnMouseDownHandler}\n tabIndex={disabled ? -1 : 0}\n role=\"tab\"\n aria-selected={activeState}\n onClick={(e: React.MouseEvent) => !disabled && onLinkClick && onLinkClick(e)}\n ref={ref}\n data-testid={testId}>\n <TextContainer>\n <TopWrapper>\n <span>{requiredLine}</span>\n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon}\n {!!optionalLine && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>{showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}</StyledNotification>\n </StyledTabLink>\n </Wrapper>\n );\n};\n\nexport default TabLink;\n"],"mappings":"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"}
|