@laerdal/life-react-components 1.10.3-dev.1.full → 1.10.3-dev.2
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.
|
@@ -30,15 +30,12 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
30
30
|
var TableFooter = function TableFooter(props) {
|
|
31
31
|
var _props$rowsPerPageLab, _props$showMoreLabel, _props$showFewerLabel;
|
|
32
32
|
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}, {
|
|
40
|
-
value: '100'
|
|
41
|
-
}];
|
|
33
|
+
var rowsPerPageOptions = [10, 20, 50, 100];
|
|
34
|
+
var rowsPerPageValues = rowsPerPageOptions.map(function (x) {
|
|
35
|
+
return {
|
|
36
|
+
value: "".concat(x)
|
|
37
|
+
};
|
|
38
|
+
});
|
|
42
39
|
var dropDownText = "".concat((_props$rowsPerPageLab = props.rowsPerPageLabel) !== null && _props$rowsPerPageLab !== void 0 ? _props$rowsPerPageLab : 'Rows per page', " : ").concat(props.rowsPerPage);
|
|
43
40
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableFooter, {
|
|
44
41
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
|
|
@@ -61,7 +58,7 @@ var TableFooter = function TableFooter(props) {
|
|
|
61
58
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropUp, {})]
|
|
62
59
|
})]
|
|
63
60
|
}), !props.accordion && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTableFooterContent, {
|
|
64
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.DropdownButton, {
|
|
61
|
+
children: [props.rows && props.rows.length > rowsPerPageOptions[0] && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.DropdownButton, {
|
|
65
62
|
type: 'text',
|
|
66
63
|
items: rowsPerPageValues,
|
|
67
64
|
disabled: props.showLoadingIndicator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["TableFooter","props","rowsPerPageValues","value","dropDownText","rowsPerPageLabel","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","defaultOnMouseDownHandler","rows","showMoreLabel","showFewerLabel","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","COLORS","neutral_600","nextPage"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;;;AAeA,IAAMA,WAAsD,GAAG,SAAzDA,WAAyD,CAACC,KAAD,EAAW;AAAA;;AACxE,MAAMC,
|
|
1
|
+
{"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["TableFooter","props","rowsPerPageOptions","rowsPerPageValues","map","x","value","dropDownText","rowsPerPageLabel","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","defaultOnMouseDownHandler","rows","showMoreLabel","showFewerLabel","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","COLORS","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownButton, DropdownItem} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageOptions = [10, 20, 50, 100];\n const rowsPerPageValues: DropdownItem[] = rowsPerPageOptions.map(x => { return {value: `${x}`}});\n\n const dropDownText = `${props.rowsPerPageLabel ?? 'Rows per page'} : ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter>\n <tr>\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={defaultOnMouseDownHandler}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>{props.showMoreLabel ?? 'Show more'} ({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>{props.showFewerLabel ?? 'Show fewer'}</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n { props.rows && props.rows.length > rowsPerPageOptions[0] && <DropdownButton\n type={'text'}\n items={rowsPerPageValues}\n disabled={props.showLoadingIndicator}\n value={[`${props.rowsPerPage}`]}\n onClick={(value) => props.onRowsPerPageChange(+value[0])}\n label={dropDownText}\n keepLabel={true}\n />}\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1 || props.showLoadingIndicator}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total || props.showLoadingIndicator}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </td>\n </tr>\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.cjs"}
|
|
@@ -14,15 +14,12 @@ import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
|
14
14
|
var TableFooter = function TableFooter(props) {
|
|
15
15
|
var _props$rowsPerPageLab, _props$showMoreLabel, _props$showFewerLabel;
|
|
16
16
|
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, {
|
|
24
|
-
value: '100'
|
|
25
|
-
}];
|
|
17
|
+
var rowsPerPageOptions = [10, 20, 50, 100];
|
|
18
|
+
var rowsPerPageValues = rowsPerPageOptions.map(function (x) {
|
|
19
|
+
return {
|
|
20
|
+
value: "".concat(x)
|
|
21
|
+
};
|
|
22
|
+
});
|
|
26
23
|
var dropDownText = "".concat((_props$rowsPerPageLab = props.rowsPerPageLabel) !== null && _props$rowsPerPageLab !== void 0 ? _props$rowsPerPageLab : 'Rows per page', " : ").concat(props.rowsPerPage);
|
|
27
24
|
return /*#__PURE__*/_jsx(StyledTableFooter, {
|
|
28
25
|
children: /*#__PURE__*/_jsx("tr", {
|
|
@@ -45,7 +42,7 @@ var TableFooter = function TableFooter(props) {
|
|
|
45
42
|
}), /*#__PURE__*/_jsx(SystemIcons.ArrowDropUp, {})]
|
|
46
43
|
})]
|
|
47
44
|
}), !props.accordion && /*#__PURE__*/_jsxs(StyledTableFooterContent, {
|
|
48
|
-
children: [/*#__PURE__*/_jsx(DropdownButton, {
|
|
45
|
+
children: [props.rows && props.rows.length > rowsPerPageOptions[0] && /*#__PURE__*/_jsx(DropdownButton, {
|
|
49
46
|
type: 'text',
|
|
50
47
|
items: rowsPerPageValues,
|
|
51
48
|
disabled: props.showLoadingIndicator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["React","DropdownButton","IconButton","ChevronLeft","ChevronRight","COLORS","StyledTableFooter","StyledTableFooterCollapseButton","StyledTableFooterContent","StyledTableFooterControls","StyledTableFooterCurrentInfo","SystemIcons","defaultOnMouseDownHandler","TableFooter","props","rowsPerPageValues","value","dropDownText","rowsPerPageLabel","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","rows","showMoreLabel","showFewerLabel","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","neutral_600","nextPage"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAAQC,cAAR,QAA2C,aAA3C;AACA,SAAQC,UAAR,QAAyB,WAAzB;AACA,SAAQC,WAAR,EAAqBC,YAArB,QAAwC,kCAAxC;AACA,SAAQC,MAAR,QAAqB,WAArB;AACA,SACEC,iBADF,EACqBC,+BADrB,EAEEC,wBAFF,EAGEC,yBAHF,EAIEC,4BAJF,QAKO,eALP;AAMA,SAAQC,WAAR,QAA0B,UAA1B;AACA,SAAQC,yBAAR,QAAwC,WAAxC;;;;;AAeA,IAAMC,WAAsD,GAAG,SAAzDA,WAAyD,CAACC,KAAD,EAAW;AAAA;;AACxE,MAAMC,
|
|
1
|
+
{"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["React","DropdownButton","IconButton","ChevronLeft","ChevronRight","COLORS","StyledTableFooter","StyledTableFooterCollapseButton","StyledTableFooterContent","StyledTableFooterControls","StyledTableFooterCurrentInfo","SystemIcons","defaultOnMouseDownHandler","TableFooter","props","rowsPerPageOptions","rowsPerPageValues","map","x","value","dropDownText","rowsPerPageLabel","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","rows","showMoreLabel","showFewerLabel","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownButton, DropdownItem} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageOptions = [10, 20, 50, 100];\n const rowsPerPageValues: DropdownItem[] = rowsPerPageOptions.map(x => { return {value: `${x}`}});\n\n const dropDownText = `${props.rowsPerPageLabel ?? 'Rows per page'} : ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter>\n <tr>\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={defaultOnMouseDownHandler}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>{props.showMoreLabel ?? 'Show more'} ({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>{props.showFewerLabel ?? 'Show fewer'}</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n { props.rows && props.rows.length > rowsPerPageOptions[0] && <DropdownButton\n type={'text'}\n items={rowsPerPageValues}\n disabled={props.showLoadingIndicator}\n value={[`${props.rowsPerPage}`]}\n onClick={(value) => props.onRowsPerPageChange(+value[0])}\n label={dropDownText}\n keepLabel={true}\n />}\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1 || props.showLoadingIndicator}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total || props.showLoadingIndicator}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </td>\n </tr>\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.js"}
|