@dxc-technology/halstack-react 0.0.0-b4fde6b → 0.0.0-b5ec444
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/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +51 -138
- package/HalstackContext.js +10 -35
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +24 -76
- package/accordion/Accordion.stories.tsx +1 -113
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +5 -17
- package/accordion-group/AccordionGroup.js +15 -42
- package/accordion-group/AccordionGroup.stories.tsx +78 -77
- package/accordion-group/AccordionGroup.test.js +43 -71
- package/accordion-group/AccordionGroupAccordion.js +9 -21
- package/accordion-group/types.d.ts +6 -18
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +47 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +15 -50
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +18 -54
- package/bulleted-list/BulletedList.stories.tsx +1 -92
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +66 -99
- package/button/Button.stories.tsx +6 -87
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +8 -4
- package/card/Card.d.ts +1 -1
- package/card/Card.js +39 -79
- package/card/Card.stories.tsx +0 -29
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +6 -12
- package/checkbox/Checkbox.js +85 -120
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +41 -24
- package/common/utils.js +2 -8
- package/common/variables.d.ts +51 -138
- package/common/variables.js +61 -155
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/date-input/Calendar.js +15 -59
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +27 -21
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/dropdown/Dropdown.js +48 -100
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +5 -17
- package/dropdown/types.d.ts +17 -19
- package/file-input/FileInput.js +180 -248
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +356 -354
- package/file-input/FileItem.js +14 -41
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -102
- package/footer/Footer.stories.tsx +37 -6
- package/footer/Footer.test.js +21 -33
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -21
- package/grid/Grid.d.ts +1 -1
- package/grid/Grid.js +2 -17
- package/grid/Grid.stories.tsx +38 -38
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +2 -2
- package/header/Header.js +31 -114
- package/header/Header.stories.tsx +7 -71
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +5 -20
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +3 -3
- package/layout/ApplicationLayout.js +28 -65
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +6 -4
- package/main.js +25 -59
- package/nav-tabs/NavTabs.js +17 -46
- package/nav-tabs/NavTabs.stories.tsx +7 -5
- package/nav-tabs/NavTabs.test.js +38 -44
- package/nav-tabs/Tab.js +22 -50
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +47 -37
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +859 -412
- package/number-input/types.d.ts +11 -5
- package/package.json +30 -28
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +21 -53
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +36 -64
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +102 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +138 -92
- package/{resultsetTable → resultset-table}/types.d.ts +13 -7
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +17 -27
- package/select/Select.js +87 -163
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1946 -1804
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +26 -68
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/ActionsCell.d.ts +4 -0
- package/table/ActionsCell.js +68 -0
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +4 -1
- package/table/Table.js +24 -30
- package/table/{Table.stories.jsx → Table.stories.tsx} +304 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +45 -6
- package/tabs/Tab.js +17 -33
- package/tabs/Tabs.js +52 -129
- package/tabs/Tabs.stories.tsx +1 -1
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +5 -5
- package/text-input/Icons.js +1 -5
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +15 -65
- package/text-input/TextInput.js +218 -326
- package/text-input/TextInput.stories.tsx +48 -152
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +67 -109
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +90 -107
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +48 -135
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +6 -6
- package/card/ice-cream.jpg +0 -0
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/slider/Slider.stories.tsx +0 -240
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/radio-group/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type Option = {
|
|
2
2
|
/**
|
|
3
3
|
* Label of the option placed next to the radio input.
|
|
4
4
|
*/
|
|
@@ -14,11 +14,11 @@ export declare type Option = {
|
|
|
14
14
|
*/
|
|
15
15
|
disabled?: boolean;
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
type RadioGroupProps = {
|
|
18
18
|
/**
|
|
19
19
|
* Text to be placed above the radio group.
|
|
20
20
|
*/
|
|
21
|
-
label
|
|
21
|
+
label?: string;
|
|
22
22
|
/**
|
|
23
23
|
* Name attribute of the input element. This attribute will allow users
|
|
24
24
|
* to find the component's value during the submit event.
|
|
@@ -49,9 +49,9 @@ declare type RadioGroupProps = {
|
|
|
49
49
|
*/
|
|
50
50
|
optionalItemLabel?: string;
|
|
51
51
|
/**
|
|
52
|
-
* If true, the component will be
|
|
52
|
+
* If true, the component will not be mutable, meaning the user can not edit the control.
|
|
53
53
|
*/
|
|
54
|
-
|
|
54
|
+
readOnly?: boolean;
|
|
55
55
|
/**
|
|
56
56
|
* Sets the orientation of the options within the radio group.
|
|
57
57
|
*/
|
|
@@ -97,18 +97,18 @@ declare type RadioGroupProps = {
|
|
|
97
97
|
/**
|
|
98
98
|
* Reference to the component.
|
|
99
99
|
*/
|
|
100
|
-
export
|
|
100
|
+
export type RefType = HTMLDivElement;
|
|
101
101
|
/**
|
|
102
102
|
* Single radio prop types.
|
|
103
103
|
*/
|
|
104
|
-
export
|
|
104
|
+
export type RadioProps = {
|
|
105
105
|
label: string;
|
|
106
106
|
checked: boolean;
|
|
107
107
|
onClick: () => void;
|
|
108
108
|
error?: string;
|
|
109
109
|
disabled: boolean;
|
|
110
110
|
focused: boolean;
|
|
111
|
-
|
|
111
|
+
readOnly: boolean;
|
|
112
112
|
tabIndex: number;
|
|
113
113
|
};
|
|
114
114
|
export default RadioGroupProps;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var icons = {
|
|
13
10
|
arrowUp: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
14
11
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -47,5 +44,4 @@ var icons = {
|
|
|
47
44
|
d: "M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"
|
|
48
45
|
}))
|
|
49
46
|
};
|
|
50
|
-
var _default = icons;
|
|
51
|
-
exports["default"] = _default;
|
|
47
|
+
var _default = exports["default"] = icons;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import ResultsetTablePropsType from "./types";
|
|
3
|
+
declare const DxcResultsetTable: {
|
|
4
|
+
({ columns, rows, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, margin, tabIndex, mode, }: ResultsetTablePropsType): JSX.Element;
|
|
5
|
+
ActionsCell: ({ actions }: import("../table/types").ActionCellsPropsType) => JSX.Element;
|
|
6
|
+
};
|
|
7
|
+
export default DxcResultsetTable;
|
|
@@ -1,52 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
14
|
var _variables = require("../common/variables");
|
|
23
|
-
|
|
24
|
-
var _Table = _interopRequireDefault(require("../table/Table"));
|
|
25
|
-
|
|
15
|
+
var _ActionsCell = _interopRequireDefault(require("../table/ActionsCell"));
|
|
26
16
|
var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
|
|
27
|
-
|
|
17
|
+
var _Table = _interopRequireDefault(require("../table/Table"));
|
|
28
18
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
-
|
|
30
19
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
31
|
-
|
|
32
20
|
var _utils = require("../common/utils");
|
|
33
|
-
|
|
21
|
+
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
34
22
|
var _templateObject, _templateObject2, _templateObject3;
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
-
|
|
23
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
24
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
40
25
|
var normalizeSortValue = function normalizeSortValue(sortValue) {
|
|
41
26
|
return typeof sortValue === "string" ? sortValue.toUpperCase() : sortValue;
|
|
42
27
|
};
|
|
43
|
-
|
|
44
28
|
var sortArray = function sortArray(index, order, resultset) {
|
|
45
29
|
return resultset.slice().sort(function (element1, element2) {
|
|
46
30
|
var sortValueA = normalizeSortValue(element1[index].sortValue || element1[index].displayValue);
|
|
47
31
|
var sortValueB = normalizeSortValue(element2[index].sortValue || element2[index].displayValue);
|
|
48
32
|
var comparison = 0;
|
|
49
|
-
|
|
50
33
|
if ((0, _typeof2["default"])(sortValueA) === "object") {
|
|
51
34
|
comparison = -1;
|
|
52
35
|
} else if ((0, _typeof2["default"])(sortValueB) === "object") {
|
|
@@ -56,48 +39,42 @@ var sortArray = function sortArray(index, order, resultset) {
|
|
|
56
39
|
} else if (sortValueA < sortValueB) {
|
|
57
40
|
comparison = -1;
|
|
58
41
|
}
|
|
59
|
-
|
|
60
42
|
return order === "descending" ? comparison * -1 : comparison;
|
|
61
43
|
});
|
|
62
44
|
};
|
|
63
|
-
|
|
64
45
|
var getMinItemsPerPageIndex = function getMinItemsPerPageIndex(currentPageInternal, itemsPerPage, page) {
|
|
65
46
|
return currentPageInternal === 1 ? 0 : itemsPerPage * (page - 1);
|
|
66
47
|
};
|
|
67
|
-
|
|
68
48
|
var getMaxItemsPerPageIndex = function getMaxItemsPerPageIndex(minItemsPerPageIndex, itemsPerPage, resultset, page) {
|
|
69
49
|
return minItemsPerPageIndex + itemsPerPage > resultset.length ? resultset.length : itemsPerPage * page - 1;
|
|
70
50
|
};
|
|
71
|
-
|
|
72
51
|
var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
73
52
|
var columns = _ref.columns,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
53
|
+
rows = _ref.rows,
|
|
54
|
+
_ref$showGoToPage = _ref.showGoToPage,
|
|
55
|
+
showGoToPage = _ref$showGoToPage === void 0 ? true : _ref$showGoToPage,
|
|
56
|
+
_ref$itemsPerPage = _ref.itemsPerPage,
|
|
57
|
+
itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
|
|
58
|
+
itemsPerPageOptions = _ref.itemsPerPageOptions,
|
|
59
|
+
itemsPerPageFunction = _ref.itemsPerPageFunction,
|
|
60
|
+
margin = _ref.margin,
|
|
61
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
62
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
63
|
+
_ref$mode = _ref.mode,
|
|
64
|
+
mode = _ref$mode === void 0 ? "default" : _ref$mode;
|
|
84
65
|
var colorsTheme = (0, _useTheme["default"])();
|
|
85
|
-
|
|
86
66
|
var _useState = (0, _react.useState)(1),
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
67
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
68
|
+
page = _useState2[0],
|
|
69
|
+
changePage = _useState2[1];
|
|
91
70
|
var _useState3 = (0, _react.useState)(-1),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
71
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
72
|
+
sortColumnIndex = _useState4[0],
|
|
73
|
+
changeSortColumnIndex = _useState4[1];
|
|
96
74
|
var _useState5 = (0, _react.useState)("ascending"),
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
75
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
76
|
+
sortOrder = _useState6[0],
|
|
77
|
+
changeSortOrder = _useState6[1];
|
|
101
78
|
var minItemsPerPageIndex = (0, _react.useMemo)(function () {
|
|
102
79
|
return getMinItemsPerPageIndex(page, itemsPerPage, page);
|
|
103
80
|
}, [itemsPerPage, page]);
|
|
@@ -110,17 +87,14 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
110
87
|
var filteredResultset = (0, _react.useMemo)(function () {
|
|
111
88
|
return sortedResultset && sortedResultset.slice(minItemsPerPageIndex, maxItemsPerPageIndex + 1);
|
|
112
89
|
}, [sortedResultset, minItemsPerPageIndex, maxItemsPerPageIndex]);
|
|
113
|
-
|
|
114
90
|
var goToPage = function goToPage(newPage) {
|
|
115
91
|
changePage(newPage);
|
|
116
92
|
};
|
|
117
|
-
|
|
118
93
|
var changeSorting = function changeSorting(columnIndex) {
|
|
119
94
|
changePage(1);
|
|
120
95
|
changeSortColumnIndex(columnIndex);
|
|
121
96
|
changeSortOrder(sortColumnIndex === -1 || sortColumnIndex !== columnIndex ? "ascending" : sortOrder === "ascending" ? "descending" : "ascending");
|
|
122
97
|
};
|
|
123
|
-
|
|
124
98
|
(0, _react.useEffect)(function () {
|
|
125
99
|
rows.length > 0 ? changePage(1) : changePage(0);
|
|
126
100
|
}, [rows]);
|
|
@@ -128,7 +102,9 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
128
102
|
theme: colorsTheme.table
|
|
129
103
|
}, /*#__PURE__*/_react["default"].createElement(DxcResultsetTableContainer, {
|
|
130
104
|
margin: margin
|
|
131
|
-
}, /*#__PURE__*/_react["default"].createElement(_Table["default"],
|
|
105
|
+
}, /*#__PURE__*/_react["default"].createElement(_Table["default"], {
|
|
106
|
+
mode: mode
|
|
107
|
+
}, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column, index) {
|
|
132
108
|
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
133
109
|
key: "tableHeader_".concat(index),
|
|
134
110
|
"aria-sort": column.isSortable ? sortColumnIndex === index ? sortOrder : "none" : undefined
|
|
@@ -139,11 +115,12 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
139
115
|
column.isSortable && changeSorting(index);
|
|
140
116
|
},
|
|
141
117
|
tabIndex: column.isSortable ? tabIndex : -1,
|
|
142
|
-
isSortable: column.isSortable
|
|
118
|
+
isSortable: column.isSortable,
|
|
119
|
+
mode: mode
|
|
143
120
|
}, /*#__PURE__*/_react["default"].createElement("span", null, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, sortColumnIndex === index ? sortOrder === "ascending" ? _Icons["default"].arrowUp : _Icons["default"].arrowDown : _Icons["default"].bothArrows)));
|
|
144
121
|
}))), /*#__PURE__*/_react["default"].createElement("tbody", null, filteredResultset.map(function (cells, index) {
|
|
145
122
|
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
146
|
-
key: "resultSetTableCell_".concat(index)
|
|
123
|
+
key: "resultSetTableCell_".concat(page, "_").concat(index)
|
|
147
124
|
}, cells.map(function (cellContent, index) {
|
|
148
125
|
return /*#__PURE__*/_react["default"].createElement("td", {
|
|
149
126
|
key: "resultSetTableCellContent_".concat(index)
|
|
@@ -160,11 +137,9 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
160
137
|
tabIndex: tabIndex
|
|
161
138
|
})));
|
|
162
139
|
};
|
|
163
|
-
|
|
164
140
|
var calculateWidth = function calculateWidth(margin) {
|
|
165
141
|
return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
166
142
|
};
|
|
167
|
-
|
|
168
143
|
var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
169
144
|
return calculateWidth(props.margin);
|
|
170
145
|
}, function (props) {
|
|
@@ -178,18 +153,15 @@ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObjec
|
|
|
178
153
|
}, function (props) {
|
|
179
154
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
180
155
|
});
|
|
181
|
-
|
|
182
|
-
var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap: 8px;\n width: fit-content;\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n cursor: ", ";\n\n ", "\n"])), function (props) {
|
|
156
|
+
var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap: ", ";\n width: fit-content;\n border: 1px solid transparent;\n border-radius: 2px;\n cursor: ", ";\n\n ", "\n"])), function (props) {
|
|
183
157
|
return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
|
|
184
|
-
}, function (props) {
|
|
158
|
+
}, _coreTokens["default"].spacing_8, function (props) {
|
|
185
159
|
return props.isSortable ? "pointer" : "default";
|
|
186
160
|
}, function (props) {
|
|
187
161
|
return props.isSortable && "&:focus {\n outline: #0095ff solid 2px;\n }";
|
|
188
162
|
});
|
|
189
|
-
|
|
190
163
|
var SortIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 14px;\n width: 14px;\n color: ", ";\n\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
191
164
|
return props.theme.sortIconColor;
|
|
192
165
|
});
|
|
193
|
-
|
|
194
|
-
var _default = DxcResultsetTable;
|
|
195
|
-
exports["default"] = _default;
|
|
166
|
+
DxcResultsetTable.ActionsCell = _ActionsCell["default"];
|
|
167
|
+
var _default = exports["default"] = DxcResultsetTable;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcResultsetTable from "./ResultsetTable";
|
|
3
|
-
import DxcButton from "../button/Button";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
5
|
import { userEvent, within } from "@storybook/testing-library";
|
|
7
6
|
import styled from "styled-components";
|
|
7
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
8
8
|
|
|
9
9
|
export default {
|
|
10
10
|
title: "Resultset Table",
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
|
|
14
14
|
const deleteIcon = (
|
|
15
15
|
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
|
|
16
|
-
<path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z" />
|
|
16
|
+
<path fill="currentColor" d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z" />
|
|
17
17
|
<path d="M0 0h24v24H0z" fill="none" />
|
|
18
18
|
</svg>
|
|
19
19
|
);
|
|
@@ -29,17 +29,77 @@ const rows = [
|
|
|
29
29
|
[{ displayValue: "006" }, { displayValue: "Cris" }, { displayValue: "Paris" }],
|
|
30
30
|
];
|
|
31
31
|
|
|
32
|
+
const advancedTheme = {
|
|
33
|
+
table: {
|
|
34
|
+
actionIconColor: "#1B75BB",
|
|
35
|
+
hoverActionIconColor: "#1B75BB",
|
|
36
|
+
activeActionIconColor: "#1B75BB",
|
|
37
|
+
focusActionIconColor: "#1B75BB",
|
|
38
|
+
disabledActionIconColor: "#666666",
|
|
39
|
+
hoverButtonBackgroundColor: "#cccccc",
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const actions = [
|
|
44
|
+
{
|
|
45
|
+
title: "icon",
|
|
46
|
+
onClick: (value?) => {
|
|
47
|
+
console.log(value);
|
|
48
|
+
},
|
|
49
|
+
options: [
|
|
50
|
+
{
|
|
51
|
+
value: "1",
|
|
52
|
+
label: "Amazon with a very long text",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
value: "2",
|
|
56
|
+
label: "Ebay",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
value: "3",
|
|
60
|
+
label: "Apple",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
icon: "https://www.freepnglogos.com/uploads/facebook-logo-design-1.png",
|
|
66
|
+
title: "icon",
|
|
67
|
+
onClick: () => {},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
icon: deleteIcon,
|
|
71
|
+
title: "icon",
|
|
72
|
+
onClick: () => {},
|
|
73
|
+
disabled: true,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
icon: deleteIcon,
|
|
77
|
+
title: "icon",
|
|
78
|
+
onClick: () => {},
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
32
82
|
const rowsIcon = [
|
|
33
83
|
[
|
|
34
84
|
{ displayValue: "001", sortValue: "001" },
|
|
35
85
|
{ displayValue: "Peter" },
|
|
36
|
-
{
|
|
86
|
+
{
|
|
87
|
+
displayValue: <DxcResultsetTable.ActionsCell actions={actions} />,
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
{ displayValue: "002", sortValue: "002" },
|
|
92
|
+
{ displayValue: "Louis" },
|
|
93
|
+
{
|
|
94
|
+
displayValue: <DxcResultsetTable.ActionsCell actions={actions} />,
|
|
95
|
+
},
|
|
37
96
|
],
|
|
38
|
-
[{ displayValue: "002", sortValue: "002" }, { displayValue: "Louis" }, { displayValue: "" }],
|
|
39
97
|
[
|
|
40
98
|
{ displayValue: "003", sortValue: "003" },
|
|
41
99
|
{ displayValue: "Mark" },
|
|
42
|
-
{
|
|
100
|
+
{
|
|
101
|
+
displayValue: <DxcResultsetTable.ActionsCell actions={actions} />,
|
|
102
|
+
},
|
|
43
103
|
],
|
|
44
104
|
];
|
|
45
105
|
|
|
@@ -206,6 +266,25 @@ export const Chromatic = () => (
|
|
|
206
266
|
<DxcResultsetTable columns={columnsSortable} rows={longValues} />
|
|
207
267
|
</SmallContainer>
|
|
208
268
|
</ExampleContainer>
|
|
269
|
+
<ExampleContainer>
|
|
270
|
+
<Title title="Reduced sortable table" theme="light" level={4} />
|
|
271
|
+
<DxcResultsetTable columns={columnsSortable} rows={rowsSortable} mode="reduced" />
|
|
272
|
+
</ExampleContainer>
|
|
273
|
+
{/* PENDING SMALL ICON VERSION */}
|
|
274
|
+
<ExampleContainer>
|
|
275
|
+
<Title title="Reduced with items per page option" theme="light" level={4} />
|
|
276
|
+
<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={2} itemsPerPageOptions={[2, 3]} mode="reduced" />
|
|
277
|
+
</ExampleContainer>
|
|
278
|
+
<ExampleContainer>
|
|
279
|
+
<Title title="Reduced scroll resultset table" theme="light" level={4} />
|
|
280
|
+
<DxcResultsetTable columns={longColumns} rows={longRows} mode="reduced" />
|
|
281
|
+
</ExampleContainer>
|
|
282
|
+
<ExampleContainer>
|
|
283
|
+
<SmallContainer>
|
|
284
|
+
<Title title="Reduced small container and text overflow" theme="light" level={4} />
|
|
285
|
+
<DxcResultsetTable columns={columnsSortable} rows={longValues} mode="reduced" />
|
|
286
|
+
</SmallContainer>
|
|
287
|
+
</ExampleContainer>
|
|
209
288
|
<Title title="Margins" theme="light" level={2} />
|
|
210
289
|
<ExampleContainer>
|
|
211
290
|
<Title title="Xxsmall" theme="light" level={4} />
|
|
@@ -298,3 +377,21 @@ LastPage.play = async ({ canvasElement }) => {
|
|
|
298
377
|
const nextButton = canvas.getAllByRole("button")[3];
|
|
299
378
|
await userEvent.click(nextButton);
|
|
300
379
|
};
|
|
380
|
+
|
|
381
|
+
const ResultsetActionsCellDropdown = () => (
|
|
382
|
+
<ExampleContainer>
|
|
383
|
+
<Title title="Dropdown Action" theme="light" level={4} />
|
|
384
|
+
<DxcResultsetTable columns={columns} rows={rowsIcon} itemsPerPage={2} />
|
|
385
|
+
<Title title="Custom theme actions cell" theme="light" level={4} />
|
|
386
|
+
<HalstackProvider advancedTheme={advancedTheme}>
|
|
387
|
+
<DxcResultsetTable columns={columns} rows={rowsIcon} itemsPerPage={2} />
|
|
388
|
+
</HalstackProvider>
|
|
389
|
+
</ExampleContainer>
|
|
390
|
+
);
|
|
391
|
+
|
|
392
|
+
export const DropdownAction = ResultsetActionsCellDropdown.bind({});
|
|
393
|
+
DropdownAction.play = async ({ canvasElement }) => {
|
|
394
|
+
const canvas = within(canvasElement);
|
|
395
|
+
const dropdown = canvas.getAllByRole("button")[5];
|
|
396
|
+
await userEvent.click(dropdown);
|
|
397
|
+
};
|