@laerdal/life-react-components 1.3.2-dev.6.full → 1.4.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/esm/Button/Iconbutton.js +0 -1
- package/dist/esm/Button/Iconbutton.js.map +1 -1
- package/dist/esm/Dropdown/DropdownButton.js +5 -2
- package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
- package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/esm/HyperLink/HyperLink.js +2 -1
- package/dist/esm/HyperLink/HyperLink.js.map +1 -1
- package/dist/esm/InputFields/Checkbox.js +23 -13
- package/dist/esm/InputFields/Checkbox.js.map +1 -1
- package/dist/esm/Modals/ModalDialog.js +7 -4
- package/dist/esm/Modals/ModalDialog.js.map +1 -1
- package/dist/esm/Modals/ModalNote.js +1 -1
- package/dist/esm/Modals/ModalNote.js.map +1 -1
- package/dist/esm/Table/Table.js +131 -181
- package/dist/esm/Table/Table.js.map +1 -1
- package/dist/esm/Table/TableBody.js +135 -0
- package/dist/esm/Table/TableBody.js.map +1 -0
- package/dist/esm/Table/TableFooter.js +68 -0
- package/dist/esm/Table/TableFooter.js.map +1 -0
- package/dist/esm/Table/TableHeaders.js +55 -0
- package/dist/esm/Table/TableHeaders.js.map +1 -0
- package/dist/esm/Table/TableStyles.js +181 -110
- package/dist/esm/Table/TableStyles.js.map +1 -1
- package/dist/esm/Table/__tests__/Table.test.js +162 -21
- package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
- package/dist/js/Button/Iconbutton.d.ts +2 -2
- package/dist/js/Button/Iconbutton.js +0 -1
- package/dist/js/Button/Iconbutton.js.map +1 -1
- package/dist/js/Dropdown/DropdownButton.d.ts +1 -1
- package/dist/js/Dropdown/DropdownButton.js +5 -2
- package/dist/js/Dropdown/DropdownButton.js.map +1 -1
- package/dist/js/Dropdown/DropdownButtonTypes.d.ts +1 -0
- package/dist/js/Dropdown/DropdownFilter.d.ts +1 -1
- package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/js/HyperLink/HyperLink.d.ts +1 -1
- package/dist/js/HyperLink/HyperLink.js +2 -2
- package/dist/js/HyperLink/HyperLink.js.map +1 -1
- package/dist/js/InputFields/Checkbox.d.ts +3 -2
- package/dist/js/InputFields/Checkbox.js +13 -11
- package/dist/js/InputFields/Checkbox.js.map +1 -1
- package/dist/js/Modals/ModalDialog.d.ts +2 -1
- package/dist/js/Modals/ModalDialog.js +7 -4
- package/dist/js/Modals/ModalDialog.js.map +1 -1
- package/dist/js/Modals/ModalNote.d.ts +1 -1
- package/dist/js/Modals/ModalNote.js +1 -1
- package/dist/js/Modals/ModalNote.js.map +1 -1
- package/dist/js/Table/Table.js +166 -209
- package/dist/js/Table/Table.js.map +1 -1
- package/dist/js/Table/TableBody.d.ts +9 -0
- package/dist/js/Table/TableBody.js +167 -0
- package/dist/js/Table/TableBody.js.map +1 -0
- package/dist/js/Table/TableFooter.d.ts +15 -0
- package/dist/js/Table/TableFooter.js +95 -0
- package/dist/js/Table/TableFooter.js.map +1 -0
- package/dist/js/Table/TableHeaders.d.ts +9 -0
- package/dist/js/Table/TableHeaders.js +77 -0
- package/dist/js/Table/TableHeaders.js.map +1 -0
- package/dist/js/Table/TableStyles.d.ts +19 -7
- package/dist/js/Table/TableStyles.js +66 -16
- package/dist/js/Table/TableStyles.js.map +1 -1
- package/dist/js/Table/TableTypes.d.ts +26 -16
- package/dist/js/Table/__tests__/Table.test.js +172 -30
- package/dist/js/Table/__tests__/Table.test.js.map +1 -1
- package/dist/umd/Button/Iconbutton.js +0 -1
- package/dist/umd/Button/Iconbutton.js.map +1 -1
- package/dist/umd/Dropdown/DropdownButton.js +5 -2
- package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
- package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/umd/HyperLink/HyperLink.js +2 -1
- package/dist/umd/HyperLink/HyperLink.js.map +1 -1
- package/dist/umd/InputFields/Checkbox.js +23 -13
- package/dist/umd/InputFields/Checkbox.js.map +1 -1
- package/dist/umd/Modals/ModalDialog.js +7 -4
- package/dist/umd/Modals/ModalDialog.js.map +1 -1
- package/dist/umd/Modals/ModalNote.js +1 -1
- package/dist/umd/Modals/ModalNote.js.map +1 -1
- package/dist/umd/Table/Table.js +157 -188
- package/dist/umd/Table/Table.js.map +1 -1
- package/dist/umd/Table/TableBody.js +270 -0
- package/dist/umd/Table/TableBody.js.map +1 -0
- package/dist/umd/Table/TableFooter.js +89 -0
- package/dist/umd/Table/TableFooter.js.map +1 -0
- package/dist/umd/Table/TableHeaders.js +91 -0
- package/dist/umd/Table/TableHeaders.js.map +1 -0
- package/dist/umd/Table/TableStyles.js +185 -115
- package/dist/umd/Table/TableStyles.js.map +1 -1
- package/dist/umd/Table/__tests__/Table.test.js +164 -25
- package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Table/TableStyles.ts"],"names":["TableWrapper","styled","div","
|
|
1
|
+
{"version":3,"sources":["../../../src/Table/TableStyles.ts"],"names":["TableWrapper","styled","div","StyledTable","table","StyledTableHeader","thead","StyledTableHeaderTitle","tr","StyledTableHeaderTitleContent","COLORS","neutral_200","ComponentTextStyle","Bold","black","StyledTableHeaderColumns","StyledTableHeaderColumnContent","StyledTableHeaderColumn","th","neutral_600","white","primary_20","primary_700","Z_INDEXES","hover","primary_100","primary_800","active","focus_25","focus","neutral_20","StyledTableBodyRow","primary_200","StyledTableBody","tbody","neutral_100","StyledTableCell","td","StyledTableCellContent","Regular","StyledTableCellIcon","neutral_700","StyledTableCellText","span","StyledTableFooter","tfoot","StyledTableFooterContent","StyledTableFooterCurrentInfo","StyledTableFooterControls","StyledTableSpinner","StyledTableFooterCollapseButton","button","neutral_800"],"mappings":"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","sourcesContent":["/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom style properties.\n */\nimport {COLORS} from '../styles';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling\n} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\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 table-layout: fixed;\n`;\n\nexport const StyledTableHeader = styled.thead`\n`;\n\nexport const StyledTableHeaderTitle = styled.tr`\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 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 StyledTableHeaderColumn = styled.th`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n position: relative;\n\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 box-shadow: none !important;\n z-index: ${Z_INDEXES.active};\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 4px 12px ${COLORS.focus_25}, 0 0 8px ${COLORS.focus};\n z-index: ${Z_INDEXES.focus};\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`;\n\nexport const StyledTableBodyRow = styled.tr`\n cursor: pointer;\n position: relative;\n outline: none;\n\n &:hover {\n background-color: ${COLORS.primary_200};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n background-color: ${COLORS.primary_200};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2E7FA1;\n z-index: ${Z_INDEXES.focus};\n outline: none;\n }\n\n &:active {\n box-shadow: none;\n z-index: ${Z_INDEXES.active};\n }\n\n`;\n\nexport const StyledTableBody = styled.tbody`\n ${StyledTableBodyRow}:nth-child(odd):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_100};\n }\n\n ${StyledTableBodyRow}:nth-child(even):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\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.tfoot`\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(0, 0, 0, 0.5);\n top: 0;\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_800)}\n &:focus {\n outline: none;\n z-index: ${Z_INDEXES.focus};\n color: ${COLORS.neutral_600};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2E7FA1;\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 box-shadow: none;\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"],"file":"TableStyles.js"}
|
|
@@ -1,38 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for the table.
|
|
3
3
|
*/
|
|
4
|
+
import { DropdownButtonProps } from '../Dropdown/DropdownButtonTypes';
|
|
5
|
+
import { ButtonProps } from '../Button/Button';
|
|
6
|
+
import { IconButtonProps } from '../Button/Iconbutton';
|
|
7
|
+
import { HyperlinkProps } from '../HyperLink/HyperLink';
|
|
4
8
|
export interface TableProps {
|
|
5
|
-
rowClick?: (row: any) => void;
|
|
6
|
-
linkClick?: (row: any, key: string) => void;
|
|
7
|
-
iconClick?: (row: any, key: string) => void;
|
|
8
9
|
title?: string;
|
|
9
10
|
columns: TableColumn[];
|
|
10
11
|
rows: any[];
|
|
11
|
-
|
|
12
|
+
accordion?: boolean;
|
|
13
|
+
collapsed?: boolean;
|
|
14
|
+
collapsedRows?: number;
|
|
15
|
+
remoteOperations?: boolean;
|
|
12
16
|
pagination?: TablePagination;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
onPreviousPageClick?: () => void;
|
|
18
|
+
onNextPageClick?: () => void;
|
|
19
|
+
onRowsPerPageChange?: (count: number) => void;
|
|
20
|
+
onTriggerSortingChange?: (key: string, direction: TableSortingDirection) => void;
|
|
17
21
|
showLoadingIndicator?: boolean;
|
|
22
|
+
menu?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width' | 'itemsType' | 'multiSelect'>;
|
|
23
|
+
selectable?: boolean;
|
|
24
|
+
onSelectionChange?: (value: any | any[]) => void;
|
|
25
|
+
multiSelect?: boolean;
|
|
26
|
+
keyExpr?: string;
|
|
27
|
+
selectedRows?: any[];
|
|
18
28
|
}
|
|
19
29
|
export interface TableColumn {
|
|
30
|
+
key: string;
|
|
20
31
|
name: string;
|
|
21
32
|
filterValue?: string;
|
|
22
|
-
|
|
33
|
+
icon?: React.ReactNode;
|
|
34
|
+
width?: string | number;
|
|
23
35
|
colorFn?: (row: any, key: string) => string;
|
|
24
|
-
|
|
25
|
-
icon?: ColumnIcons;
|
|
26
|
-
isLink?: boolean;
|
|
27
|
-
width?: number;
|
|
36
|
+
justify?: TableJustification;
|
|
28
37
|
shortenText?: boolean;
|
|
38
|
+
action?: (row: any, event: any) => void;
|
|
39
|
+
type?: TableColumnTypes;
|
|
40
|
+
additionalProps?: Pick<ButtonProps, 'variant' | 'size' | 'width' | 'icon'> | Pick<IconButtonProps, 'variant' | 'shape' | 'disabled'> | Pick<HyperlinkProps, 'variant'>;
|
|
29
41
|
customContent?: (row: any, key: string) => any;
|
|
30
42
|
sortable?: boolean;
|
|
31
|
-
justify?: TableJustification;
|
|
32
43
|
sortingDirection?: TableSortingDirection;
|
|
33
44
|
}
|
|
45
|
+
export declare type TableColumnTypes = 'text' | 'boolean' | 'number' | 'custom' | 'button' | 'icon' | 'link';
|
|
34
46
|
export declare type TableJustification = 'right' | 'left' | 'center';
|
|
35
|
-
declare type ColumnIcons = 'Add' | 'ArrowDropDown' | 'ArrowDropUp' | 'ArrowLineDown' | 'ArrowLineLeft' | 'ArrowLineRight' | 'ArrowLineUp' | 'ArrowStopLeft' | 'ArrowStopRight' | 'Attachment' | 'Attention' | 'BackwardsFiveSec' | 'Book' | 'BookmarkOff' | 'BookmarkOn' | 'Bullet' | 'Calendar' | 'CheckboxOff' | 'CheckboxOn' | 'CheckboxSemi' | 'CheckComplete' | 'ChevronDown' | 'ChevronLeft' | 'ChevronRight' | 'ChevronUp' | 'Clear' | 'Close' | 'ClosedCaptionOff' | 'ClosedCaptionOn' | 'CloudAttention' | 'CloudCheck' | 'CloudDownload' | 'CloudLocked' | 'CloudNoConnection' | 'CloudSyncing' | 'CloudUpload' | 'Cloud' | 'Dashboard' | 'Delete' | 'Download' | 'DragHandle' | 'DragIndicator' | 'Edit' | 'Educator' | 'Equals' | 'EventLog' | 'ExtendTextArea' | 'Filter' | 'Forward' | 'ForwardSlash' | 'ForwardFiveSec' | 'FullscreenExit' | 'Fullscreen' | 'GearSettings' | 'GridView' | 'Group' | 'GuidedTour' | 'Help' | 'Hierarchy' | 'History' | 'Home' | 'Information' | 'Institute' | 'Language' | 'ListView' | 'LoadingMedium' | 'LoadingSmall' | 'LockedOff' | 'LockedOn' | 'Login' | 'Logout' | 'Loop' | 'Mail' | 'Manikin' | 'MapPoint' | 'Menu' | 'Minus' | 'MoreHorizontal' | 'MoreVertical' | 'NotificationNew' | 'Notification' | 'OpenFolder' | 'OpenNewWindow' | 'Pause' | 'PlayOutline' | 'Play' | 'Plus' | 'PointDown' | 'PointLeft' | 'PointRight' | 'PointUp' | 'RadioButtonOff' | 'RadioButtonOn' | 'Record' | 'Refresh' | 'Replay' | 'Rewind' | 'Save' | 'Search' | 'Share' | 'ShoppingCart' | 'StarFilled' | 'StarOutlined' | 'Stop' | 'Support' | 'Team' | 'ThumbsDown' | 'ThumbsUp' | 'TimeLimited' | 'Time' | 'Tip' | 'Upload' | 'Usb' | 'User' | 'Video' | 'VisibleOff' | 'VisibleOn' | 'VolumeDown' | 'VolumeOff' | 'VolumeUp';
|
|
36
47
|
export declare type TableSortingDirection = 'asc' | 'desc';
|
|
37
48
|
export interface TablePagination {
|
|
38
49
|
from: number;
|
|
@@ -41,4 +52,3 @@ export interface TablePagination {
|
|
|
41
52
|
currentPage: number;
|
|
42
53
|
rowsPerPage: number;
|
|
43
54
|
}
|
|
44
|
-
export {};
|
|
@@ -8,6 +8,10 @@ var _index = require("../index");
|
|
|
8
8
|
|
|
9
9
|
require("jest-styled-components");
|
|
10
10
|
|
|
11
|
+
var _TableStyles = require("../TableStyles");
|
|
12
|
+
|
|
13
|
+
var _testUtils = require("react-dom/test-utils");
|
|
14
|
+
|
|
11
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
16
|
|
|
13
17
|
/**
|
|
@@ -226,28 +230,6 @@ describe('<Table />', function () {
|
|
|
226
230
|
expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);
|
|
227
231
|
expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);
|
|
228
232
|
});
|
|
229
|
-
it('Should render columns with no-border class in the column header row, in case title is not passed', function () {
|
|
230
|
-
var columns = [{
|
|
231
|
-
key: 'column1',
|
|
232
|
-
name: 'Column 1'
|
|
233
|
-
}, {
|
|
234
|
-
key: 'column2',
|
|
235
|
-
name: 'Column 2'
|
|
236
|
-
}];
|
|
237
|
-
var rows = [{
|
|
238
|
-
column1: 'Test content',
|
|
239
|
-
column2: 'Test content 2'
|
|
240
|
-
}];
|
|
241
|
-
|
|
242
|
-
var _render10 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
243
|
-
rows: rows,
|
|
244
|
-
columns: columns
|
|
245
|
-
})),
|
|
246
|
-
getByTestId = _render10.getByTestId;
|
|
247
|
-
|
|
248
|
-
expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(true);
|
|
249
|
-
expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(true);
|
|
250
|
-
});
|
|
251
233
|
});
|
|
252
234
|
describe('Table Body Row tests', function () {
|
|
253
235
|
it('Should not render "No Data" row in case there are rows', function () {
|
|
@@ -263,11 +245,11 @@ describe('<Table />', function () {
|
|
|
263
245
|
column2: 'Test content 2'
|
|
264
246
|
}];
|
|
265
247
|
|
|
266
|
-
var
|
|
248
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
267
249
|
rows: rows,
|
|
268
250
|
columns: columns
|
|
269
251
|
})),
|
|
270
|
-
queryByTestId =
|
|
252
|
+
queryByTestId = _render10.queryByTestId;
|
|
271
253
|
|
|
272
254
|
expect(queryByTestId('TestTableNoDataRow')).toBeNull();
|
|
273
255
|
});
|
|
@@ -283,11 +265,11 @@ describe('<Table />', function () {
|
|
|
283
265
|
}];
|
|
284
266
|
var rows = [];
|
|
285
267
|
|
|
286
|
-
var
|
|
268
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
287
269
|
rows: rows,
|
|
288
270
|
columns: columns
|
|
289
271
|
})),
|
|
290
|
-
queryByTestId =
|
|
272
|
+
queryByTestId = _render11.queryByTestId;
|
|
291
273
|
|
|
292
274
|
expect(queryByTestId('TestTableNoDataRow')).not.toBeNull();
|
|
293
275
|
expect((_queryByTestId2 = queryByTestId('TestTableNoDataRow')) === null || _queryByTestId2 === void 0 ? void 0 : _queryByTestId2.textContent).toEqual('There are no rows to display');
|
|
@@ -305,11 +287,11 @@ describe('<Table />', function () {
|
|
|
305
287
|
column2: 'Test content 2'
|
|
306
288
|
}];
|
|
307
289
|
|
|
308
|
-
var
|
|
290
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
309
291
|
rows: rows,
|
|
310
292
|
columns: columns
|
|
311
293
|
})),
|
|
312
|
-
getByTestId =
|
|
294
|
+
getByTestId = _render12.getByTestId;
|
|
313
295
|
|
|
314
296
|
expect(getByTestId('TestTableDataRow')).toBeDefined();
|
|
315
297
|
expect(getByTestId('TestTableDataRow').children.length).toEqual(2);
|
|
@@ -330,13 +312,173 @@ describe('<Table />', function () {
|
|
|
330
312
|
column2: 'Test content 2'
|
|
331
313
|
}];
|
|
332
314
|
|
|
333
|
-
var
|
|
315
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
334
316
|
rows: rows,
|
|
335
317
|
columns: columns
|
|
336
318
|
})),
|
|
337
|
-
getByTestId =
|
|
319
|
+
getByTestId = _render13.getByTestId;
|
|
338
320
|
|
|
339
321
|
expect(getByTestId('TestTableFooterRow')).toBeDefined();
|
|
340
322
|
});
|
|
323
|
+
describe('Table Accordion tests', function () {
|
|
324
|
+
it('Should render collapse button when configured as accordion', function () {
|
|
325
|
+
var columns = [{
|
|
326
|
+
key: 'column1',
|
|
327
|
+
name: 'Column 1'
|
|
328
|
+
}, {
|
|
329
|
+
key: 'column2',
|
|
330
|
+
name: 'Column 2'
|
|
331
|
+
}];
|
|
332
|
+
var rows = [{
|
|
333
|
+
column1: 'Test content',
|
|
334
|
+
column2: 'Test content 2'
|
|
335
|
+
}, {
|
|
336
|
+
column1: 'Test content',
|
|
337
|
+
column2: 'Test content 2'
|
|
338
|
+
}, {
|
|
339
|
+
column1: 'Test content',
|
|
340
|
+
column2: 'Test content 2'
|
|
341
|
+
}, {
|
|
342
|
+
column1: 'Test content',
|
|
343
|
+
column2: 'Test content 2'
|
|
344
|
+
}];
|
|
345
|
+
var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
346
|
+
rows: rows,
|
|
347
|
+
columns: columns,
|
|
348
|
+
accordion: true,
|
|
349
|
+
collapsedRows: 3
|
|
350
|
+
}));
|
|
351
|
+
expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableFooterCollapseButton))).toHaveLength(1);
|
|
352
|
+
});
|
|
353
|
+
it('Should not render all items when collapsed', function () {
|
|
354
|
+
var columns = [{
|
|
355
|
+
key: 'column1',
|
|
356
|
+
name: 'Column 1'
|
|
357
|
+
}, {
|
|
358
|
+
key: 'column2',
|
|
359
|
+
name: 'Column 2'
|
|
360
|
+
}];
|
|
361
|
+
var rows = [{
|
|
362
|
+
column1: 'Test content',
|
|
363
|
+
column2: 'Test content 2'
|
|
364
|
+
}, {
|
|
365
|
+
column1: 'Test content',
|
|
366
|
+
column2: 'Test content 2'
|
|
367
|
+
}, {
|
|
368
|
+
column1: 'Test content',
|
|
369
|
+
column2: 'Test content 2'
|
|
370
|
+
}, {
|
|
371
|
+
column1: 'Test content',
|
|
372
|
+
column2: 'Test content 2'
|
|
373
|
+
}];
|
|
374
|
+
var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
375
|
+
rows: rows,
|
|
376
|
+
columns: columns,
|
|
377
|
+
accordion: true,
|
|
378
|
+
collapsedRows: 3
|
|
379
|
+
}));
|
|
380
|
+
expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(3);
|
|
381
|
+
});
|
|
382
|
+
it('Should render all items when not collapsed', function () {
|
|
383
|
+
var columns = [{
|
|
384
|
+
key: 'column1',
|
|
385
|
+
name: 'Column 1'
|
|
386
|
+
}, {
|
|
387
|
+
key: 'column2',
|
|
388
|
+
name: 'Column 2'
|
|
389
|
+
}];
|
|
390
|
+
var rows = [{
|
|
391
|
+
column1: 'Test content',
|
|
392
|
+
column2: 'Test content 2'
|
|
393
|
+
}, {
|
|
394
|
+
column1: 'Test content',
|
|
395
|
+
column2: 'Test content 2'
|
|
396
|
+
}, {
|
|
397
|
+
column1: 'Test content',
|
|
398
|
+
column2: 'Test content 2'
|
|
399
|
+
}, {
|
|
400
|
+
column1: 'Test content',
|
|
401
|
+
column2: 'Test content 2'
|
|
402
|
+
}];
|
|
403
|
+
var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
404
|
+
rows: rows,
|
|
405
|
+
columns: columns,
|
|
406
|
+
accordion: true,
|
|
407
|
+
collapsedRows: 3,
|
|
408
|
+
collapsed: false
|
|
409
|
+
}));
|
|
410
|
+
expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(4);
|
|
411
|
+
});
|
|
412
|
+
it('Should expand when show more button is clicked', function () {
|
|
413
|
+
var columns = [{
|
|
414
|
+
key: 'column1',
|
|
415
|
+
name: 'Column 1'
|
|
416
|
+
}, {
|
|
417
|
+
key: 'column2',
|
|
418
|
+
name: 'Column 2'
|
|
419
|
+
}];
|
|
420
|
+
var rows = [{
|
|
421
|
+
column1: 'Test content',
|
|
422
|
+
column2: 'Test content 2'
|
|
423
|
+
}, {
|
|
424
|
+
column1: 'Test content',
|
|
425
|
+
column2: 'Test content 2'
|
|
426
|
+
}, {
|
|
427
|
+
column1: 'Test content',
|
|
428
|
+
column2: 'Test content 2'
|
|
429
|
+
}, {
|
|
430
|
+
column1: 'Test content',
|
|
431
|
+
column2: 'Test content 2'
|
|
432
|
+
}];
|
|
433
|
+
var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
434
|
+
rows: rows,
|
|
435
|
+
columns: columns,
|
|
436
|
+
accordion: true,
|
|
437
|
+
collapsedRows: 3,
|
|
438
|
+
collapsed: true
|
|
439
|
+
}));
|
|
440
|
+
expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(3);
|
|
441
|
+
(0, _testUtils.act)(function () {
|
|
442
|
+
var button = wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableFooterCollapseButton))[0];
|
|
443
|
+
button.click();
|
|
444
|
+
});
|
|
445
|
+
expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(4);
|
|
446
|
+
});
|
|
447
|
+
it('Should collapse when show less button is clicked', function () {
|
|
448
|
+
var columns = [{
|
|
449
|
+
key: 'column1',
|
|
450
|
+
name: 'Column 1'
|
|
451
|
+
}, {
|
|
452
|
+
key: 'column2',
|
|
453
|
+
name: 'Column 2'
|
|
454
|
+
}];
|
|
455
|
+
var rows = [{
|
|
456
|
+
column1: 'Test content',
|
|
457
|
+
column2: 'Test content 2'
|
|
458
|
+
}, {
|
|
459
|
+
column1: 'Test content',
|
|
460
|
+
column2: 'Test content 2'
|
|
461
|
+
}, {
|
|
462
|
+
column1: 'Test content',
|
|
463
|
+
column2: 'Test content 2'
|
|
464
|
+
}, {
|
|
465
|
+
column1: 'Test content',
|
|
466
|
+
column2: 'Test content 2'
|
|
467
|
+
}];
|
|
468
|
+
var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
|
|
469
|
+
rows: rows,
|
|
470
|
+
columns: columns,
|
|
471
|
+
accordion: true,
|
|
472
|
+
collapsedRows: 3,
|
|
473
|
+
collapsed: false
|
|
474
|
+
}));
|
|
475
|
+
expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(4);
|
|
476
|
+
(0, _testUtils.act)(function () {
|
|
477
|
+
var button = wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableFooterCollapseButton))[0];
|
|
478
|
+
button.click();
|
|
479
|
+
});
|
|
480
|
+
expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(3);
|
|
481
|
+
});
|
|
482
|
+
});
|
|
341
483
|
});
|
|
342
484
|
//# sourceMappingURL=Table.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Table/__tests__/Table.test.tsx"],"names":["describe","it","columns","key","name","rows","column1","column2","getByTestId","expect","toBeDefined","queryByTestId","not","toBeNull","tableHeaderRow","children","textContent","toContain","getElementsByTagName","length","toEqual","classList","contains","toBe"],"mappings":"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","sourcesContent":["import React from 'react';\n/**\n * Import React libraries.\n */\nimport { render } from '@testing-library/react';\n\n/**\n * Import custom components.\n */\nimport { Table } from '../index';\n\n/**\n * Import third-party libraries.\n */\nimport 'jest-styled-components';\n\n/**\n * Import custom types.\n */\nimport { TableColumn } from '../TableTypes';\n\ndescribe('<Table />', () => {\n it('Renders the Table', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(getByTestId('TestTable')).toBeDefined();\n });\n\n describe('Table Header Row Tests', () => {\n it('Should render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(queryByTestId('TestTableHeaderRow')).not.toBeNull();\n });\n\n it('Should not render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableHeaderRow')).toBeNull();\n });\n\n describe('Table Header Row functional tests', () => {\n it('Should have title', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n const tableHeaderRow = queryByTestId('TestTableHeaderRow');\n expect(tableHeaderRow?.children[0].children[0].textContent).toContain('Test Title');\n });\n\n it('Should have options menu', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n expect(queryByTestId('TestTableHeaderRow')?.getElementsByTagName('svg')).not.toBeNull();\n });\n });\n });\n\n describe('Table Column Header Row Tests', () => {\n it('Should render column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow')).not.toBeNull();\n });\n\n it('Should render two columns in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children.length).toEqual(2);\n });\n\n it('Should render correct column names in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].textContent).toEqual('Column 1');\n expect(getByTestId('TestTableColumnHeaderRow').children[1].textContent).toEqual('Column 2');\n });\n\n it('Should render columns without no-border class in the column header row, in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"test title\" />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);\n });\n\n it('Should render columns with no-border class in the column header row, in case title is not passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(true);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(true);\n });\n });\n\n describe('Table Body Row tests', () => {\n it('Should not render \"No Data\" row in case there are rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).toBeNull();\n });\n\n it('Should render \"No Data\" row in case there are no rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).not.toBeNull();\n expect(queryByTestId('TestTableNoDataRow')?.textContent).toEqual('There are no rows to display');\n });\n\n it('Should render a data row with correct content for each row that is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableDataRow')).toBeDefined();\n expect(getByTestId('TestTableDataRow').children.length).toEqual(2);\n expect(getByTestId('TestTableDataRow').children[0].textContent).toEqual('Test content');\n expect(getByTestId('TestTableDataRow').children[1].textContent).toEqual('Test content 2');\n });\n });\n\n it('Should render footer row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableFooterRow')).toBeDefined();\n });\n});\n"],"file":"Table.test.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/Table/__tests__/Table.test.tsx"],"names":["describe","it","columns","key","name","rows","column1","column2","getByTestId","expect","toBeDefined","queryByTestId","not","toBeNull","tableHeaderRow","children","textContent","toContain","getElementsByTagName","length","toEqual","classList","contains","toBe","wrapper","container","querySelectorAll","StyledTableFooterCollapseButton","toHaveLength","StyledTableBodyRow","button","click"],"mappings":"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","sourcesContent":["import React from 'react';\n/**\n * Import React libraries.\n */\nimport { render } from '@testing-library/react';\n\n/**\n * Import custom components.\n */\nimport { Table } from '../index';\n\n/**\n * Import third-party libraries.\n */\nimport 'jest-styled-components';\n\n/**\n * Import custom types.\n */\nimport { TableColumn } from '../TableTypes';\nimport {StyledTableBodyRow, StyledTableFooterCollapseButton} from '../TableStyles';\nimport {act} from 'react-dom/test-utils';\n\ndescribe('<Table />', () => {\n it('Renders the Table', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(getByTestId('TestTable')).toBeDefined();\n });\n\n describe('Table Header Row Tests', () => {\n it('Should render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(queryByTestId('TestTableHeaderRow')).not.toBeNull();\n });\n\n it('Should not render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableHeaderRow')).toBeNull();\n });\n\n describe('Table Header Row functional tests', () => {\n it('Should have title', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n const tableHeaderRow = queryByTestId('TestTableHeaderRow');\n expect(tableHeaderRow?.children[0].children[0].textContent).toContain('Test Title');\n });\n\n it('Should have options menu', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n expect(queryByTestId('TestTableHeaderRow')?.getElementsByTagName('svg')).not.toBeNull();\n });\n });\n });\n\n describe('Table Column Header Row Tests', () => {\n it('Should render column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow')).not.toBeNull();\n });\n\n it('Should render two columns in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children.length).toEqual(2);\n });\n\n it('Should render correct column names in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].textContent).toEqual('Column 1');\n expect(getByTestId('TestTableColumnHeaderRow').children[1].textContent).toEqual('Column 2');\n });\n\n it('Should render columns without no-border class in the column header row, in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"test title\" />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);\n });\n\n });\n\n describe('Table Body Row tests', () => {\n it('Should not render \"No Data\" row in case there are rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).toBeNull();\n });\n\n it('Should render \"No Data\" row in case there are no rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).not.toBeNull();\n expect(queryByTestId('TestTableNoDataRow')?.textContent).toEqual('There are no rows to display');\n });\n\n it('Should render a data row with correct content for each row that is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableDataRow')).toBeDefined();\n expect(getByTestId('TestTableDataRow').children.length).toEqual(2);\n expect(getByTestId('TestTableDataRow').children[0].textContent).toEqual('Test content');\n expect(getByTestId('TestTableDataRow').children[1].textContent).toEqual('Test content 2');\n });\n });\n\n it('Should render footer row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableFooterRow')).toBeDefined();\n });\n\n describe('Table Accordion tests', () => {\n it('Should render collapse button when configured as accordion', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableFooterCollapseButton}`)).toHaveLength(1);\n });\n\n it('Should not render all items when collapsed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(3);\n });\n\n it('Should render all items when not collapsed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}\n collapsed={false}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(4);\n });\n\n it('Should expand when show more button is clicked', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}\n collapsed={true}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(3);\n\n act(() => {\n let button = wrapper.container.querySelectorAll(`${StyledTableFooterCollapseButton}`)[0] as HTMLButtonElement;\n button.click();\n })\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(4);\n });\n\n it('Should collapse when show less button is clicked', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}\n collapsed={false}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(4);\n\n act(() => {\n let button = wrapper.container.querySelectorAll(`${StyledTableFooterCollapseButton}`)[0] as HTMLButtonElement;\n button.click();\n })\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(3);\n });\n });\n});\n"],"file":"Table.test.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Button/Iconbutton.tsx"],"names":["tabbedHereStyle","css","tabbedHereBackgroundColor","COLORS","primary_500","neutral_600","primary_700","white","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","StyledIconButton","styled","button","BREAKPOINTS","MEDIUM","StyledPrimaryIconButton","primary_800","neutral_200","StyledSecondaryIconButton","primary_20","primary_100","neutral_300","id","variant","shape","action","hideOnLowWidth","isInMobileMenu","disabled","useTransparentBackground","iconColor","unsetIconSize","tabIndex","onKeyPress","children","hidden","IconButton","supressFocusRef","React","isPressingEnter","e","setTabbedHere","type","event"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n tabbedHere?: boolean;\n tabbedHereBackgroundColor?: string;\n}\n\nconst tabbedHereStyle = (variant: string, tabbedHereBackgroundColor?: string) => {\n switch (variant) {\n case 'secondary':\n return css`\n div {\n background-color: ${tabbedHereBackgroundColor || 'transparent'} !important;\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n `;\n case 'primary':\n default:\n return css`\n div {\n background-color: ${tabbedHereBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n `;\n }\n};\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px'); \n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n \n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none;\n }\n }\n`;\n\nconst StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('primary', props.tabbedHereBackgroundColor) : '')};\n`;\n\nconst StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n ${(props) => (props.tabbedHere ? tabbedHereStyle('secondary', props.tabbedHereBackgroundColor) : '')};\n`;\n\ninterface Props {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n tabbedHereBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n};\n\nconst IconButton = React.forwardRef<HTMLButtonElement, Props>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n tabbedHereBackgroundColor,\n type,\n hidden\n}: Props, ref) => {\n const supressFocusRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n React.useEffect(() => {\n !!disabled && setTabbedHere(false)\n }, [disabled]);\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => action(event)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => {\n setTabbedHere(false);\n }}\n tabbedHere={tabbedHere}\n onKeyPress={onKeyPress}\n hidden={hidden}\n tabbedHereBackgroundColor={tabbedHereBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => action(event)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => {\n setTabbedHere(false);\n }}\n tabbedHere={tabbedHere}\n onKeyPress={onKeyPress}\n hidden={hidden}\n tabbedHereBackgroundColor={tabbedHereBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/Button/Iconbutton.tsx"],"names":["tabbedHereStyle","css","tabbedHereBackgroundColor","COLORS","primary_500","neutral_600","primary_700","white","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","StyledIconButton","styled","button","BREAKPOINTS","MEDIUM","StyledPrimaryIconButton","primary_800","neutral_200","StyledSecondaryIconButton","primary_20","primary_100","neutral_300","id","variant","shape","action","hideOnLowWidth","isInMobileMenu","disabled","useTransparentBackground","iconColor","unsetIconSize","tabIndex","onKeyPress","children","hidden","IconButton","supressFocusRef","React","isPressingEnter","e","setTabbedHere","type","event"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n tabbedHere?: boolean;\n tabbedHereBackgroundColor?: string;\n}\n\nconst tabbedHereStyle = (variant: string, tabbedHereBackgroundColor?: string) => {\n switch (variant) {\n case 'secondary':\n return css`\n div {\n background-color: ${tabbedHereBackgroundColor || 'transparent'} !important;\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n `;\n case 'primary':\n default:\n return css`\n div {\n background-color: ${tabbedHereBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n `;\n }\n};\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px'); \n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n \n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none;\n }\n }\n`;\n\nconst StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('primary', props.tabbedHereBackgroundColor) : '')};\n`;\n\nconst StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n ${(props) => (props.tabbedHere ? tabbedHereStyle('secondary', props.tabbedHereBackgroundColor) : '')};\n`;\n\nexport interface IconButtonProps {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n tabbedHereBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n tabbedHereBackgroundColor,\n type,\n hidden\n}: IconButtonProps, ref) => {\n const supressFocusRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n React.useEffect(() => {\n !!disabled && setTabbedHere(false)\n }, [disabled]);\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => action(event)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => {\n setTabbedHere(false);\n }}\n tabbedHere={tabbedHere}\n onKeyPress={onKeyPress}\n hidden={hidden}\n tabbedHereBackgroundColor={tabbedHereBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => action(event)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => {\n setTabbedHere(false);\n }}\n tabbedHere={tabbedHere}\n onKeyPress={onKeyPress}\n hidden={hidden}\n tabbedHereBackgroundColor={tabbedHereBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.js"}
|
|
@@ -112,7 +112,8 @@
|
|
|
112
112
|
multiSelect = false,
|
|
113
113
|
scrollable = false,
|
|
114
114
|
pinTopItem = false,
|
|
115
|
-
maxHeight
|
|
115
|
+
maxHeight,
|
|
116
|
+
className
|
|
116
117
|
}) => {
|
|
117
118
|
// Globally used variables within the view.
|
|
118
119
|
const [dropdownOpen, setDropdownOpen] = React.useState(false);
|
|
@@ -166,7 +167,9 @@
|
|
|
166
167
|
}, icon);
|
|
167
168
|
};
|
|
168
169
|
|
|
169
|
-
return /*#__PURE__*/React.createElement(Wrapper,
|
|
170
|
+
return /*#__PURE__*/React.createElement(Wrapper, {
|
|
171
|
+
className: className
|
|
172
|
+
}, renderIconButton(), /*#__PURE__*/React.createElement(_DropdownContent2.default, {
|
|
170
173
|
customizationProps: {
|
|
171
174
|
itemsType: itemsType,
|
|
172
175
|
action: action ?? (() => {}),
|