@dxc-technology/halstack-react 0.0.0-de7c6b0 → 0.0.0-dec566a
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 +52 -139
- package/HalstackContext.js +11 -36
- package/README.md +47 -0
- package/accordion/Accordion.js +31 -84
- package/accordion/Accordion.stories.tsx +5 -50
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -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 +29 -118
- 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 +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +68 -100
- package/button/Button.stories.tsx +33 -132
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +9 -5
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- 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 +52 -139
- package/common/variables.js +63 -157
- 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/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -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 +28 -22
- 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/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- package/dropdown/types.d.ts +20 -24
- 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 +1 -1
- package/header/Header.js +28 -84
- 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 +7 -8
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -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 +2 -2
- package/layout/ApplicationLayout.js +29 -66
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- 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 +8 -4
- package/main.js +39 -59
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +7 -5
- package/nav-tabs/NavTabs.test.js +38 -44
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +24 -52
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +859 -412
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -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 +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- 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 +29 -70
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- 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/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -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/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +221 -327
- package/text-input/TextInput.stories.tsx +49 -153
- 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 +49 -136
- 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 +7 -7
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- 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/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /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, hidePaginator, 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,34 @@
|
|
|
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
|
-
|
|
26
15
|
var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
|
|
27
|
-
|
|
16
|
+
var _Table = _interopRequireWildcard(require("../table/Table"));
|
|
28
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
-
|
|
30
18
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
31
|
-
|
|
32
19
|
var _utils = require("../common/utils");
|
|
33
|
-
|
|
20
|
+
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
34
21
|
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
|
-
|
|
22
|
+
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); }
|
|
23
|
+
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
24
|
var normalizeSortValue = function normalizeSortValue(sortValue) {
|
|
41
25
|
return typeof sortValue === "string" ? sortValue.toUpperCase() : sortValue;
|
|
42
26
|
};
|
|
43
|
-
|
|
44
27
|
var sortArray = function sortArray(index, order, resultset) {
|
|
45
28
|
return resultset.slice().sort(function (element1, element2) {
|
|
46
29
|
var sortValueA = normalizeSortValue(element1[index].sortValue || element1[index].displayValue);
|
|
47
30
|
var sortValueB = normalizeSortValue(element2[index].sortValue || element2[index].displayValue);
|
|
48
31
|
var comparison = 0;
|
|
49
|
-
|
|
50
32
|
if ((0, _typeof2["default"])(sortValueA) === "object") {
|
|
51
33
|
comparison = -1;
|
|
52
34
|
} else if ((0, _typeof2["default"])(sortValueB) === "object") {
|
|
@@ -56,48 +38,44 @@ var sortArray = function sortArray(index, order, resultset) {
|
|
|
56
38
|
} else if (sortValueA < sortValueB) {
|
|
57
39
|
comparison = -1;
|
|
58
40
|
}
|
|
59
|
-
|
|
60
41
|
return order === "descending" ? comparison * -1 : comparison;
|
|
61
42
|
});
|
|
62
43
|
};
|
|
63
|
-
|
|
64
44
|
var getMinItemsPerPageIndex = function getMinItemsPerPageIndex(currentPageInternal, itemsPerPage, page) {
|
|
65
45
|
return currentPageInternal === 1 ? 0 : itemsPerPage * (page - 1);
|
|
66
46
|
};
|
|
67
|
-
|
|
68
47
|
var getMaxItemsPerPageIndex = function getMaxItemsPerPageIndex(minItemsPerPageIndex, itemsPerPage, resultset, page) {
|
|
69
48
|
return minItemsPerPageIndex + itemsPerPage > resultset.length ? resultset.length : itemsPerPage * page - 1;
|
|
70
49
|
};
|
|
71
|
-
|
|
72
50
|
var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
73
51
|
var columns = _ref.columns,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
52
|
+
rows = _ref.rows,
|
|
53
|
+
_ref$hidePaginator = _ref.hidePaginator,
|
|
54
|
+
hidePaginator = _ref$hidePaginator === void 0 ? false : _ref$hidePaginator,
|
|
55
|
+
_ref$showGoToPage = _ref.showGoToPage,
|
|
56
|
+
showGoToPage = _ref$showGoToPage === void 0 ? true : _ref$showGoToPage,
|
|
57
|
+
_ref$itemsPerPage = _ref.itemsPerPage,
|
|
58
|
+
itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
|
|
59
|
+
itemsPerPageOptions = _ref.itemsPerPageOptions,
|
|
60
|
+
itemsPerPageFunction = _ref.itemsPerPageFunction,
|
|
61
|
+
margin = _ref.margin,
|
|
62
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
63
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
64
|
+
_ref$mode = _ref.mode,
|
|
65
|
+
mode = _ref$mode === void 0 ? "default" : _ref$mode;
|
|
84
66
|
var colorsTheme = (0, _useTheme["default"])();
|
|
85
|
-
|
|
86
67
|
var _useState = (0, _react.useState)(1),
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
68
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
69
|
+
page = _useState2[0],
|
|
70
|
+
changePage = _useState2[1];
|
|
91
71
|
var _useState3 = (0, _react.useState)(-1),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
72
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
73
|
+
sortColumnIndex = _useState4[0],
|
|
74
|
+
changeSortColumnIndex = _useState4[1];
|
|
96
75
|
var _useState5 = (0, _react.useState)("ascending"),
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
76
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
77
|
+
sortOrder = _useState6[0],
|
|
78
|
+
changeSortOrder = _useState6[1];
|
|
101
79
|
var minItemsPerPageIndex = (0, _react.useMemo)(function () {
|
|
102
80
|
return getMinItemsPerPageIndex(page, itemsPerPage, page);
|
|
103
81
|
}, [itemsPerPage, page]);
|
|
@@ -110,25 +88,26 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
110
88
|
var filteredResultset = (0, _react.useMemo)(function () {
|
|
111
89
|
return sortedResultset && sortedResultset.slice(minItemsPerPageIndex, maxItemsPerPageIndex + 1);
|
|
112
90
|
}, [sortedResultset, minItemsPerPageIndex, maxItemsPerPageIndex]);
|
|
113
|
-
|
|
114
91
|
var goToPage = function goToPage(newPage) {
|
|
115
92
|
changePage(newPage);
|
|
116
93
|
};
|
|
117
|
-
|
|
118
94
|
var changeSorting = function changeSorting(columnIndex) {
|
|
119
95
|
changePage(1);
|
|
120
96
|
changeSortColumnIndex(columnIndex);
|
|
121
97
|
changeSortOrder(sortColumnIndex === -1 || sortColumnIndex !== columnIndex ? "ascending" : sortOrder === "ascending" ? "descending" : "ascending");
|
|
122
98
|
};
|
|
123
|
-
|
|
124
99
|
(0, _react.useEffect)(function () {
|
|
125
|
-
|
|
100
|
+
if (!hidePaginator) {
|
|
101
|
+
rows.length > 0 ? changePage(1) : changePage(0);
|
|
102
|
+
}
|
|
126
103
|
}, [rows]);
|
|
127
104
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
128
105
|
theme: colorsTheme.table
|
|
129
106
|
}, /*#__PURE__*/_react["default"].createElement(DxcResultsetTableContainer, {
|
|
130
107
|
margin: margin
|
|
131
|
-
}, /*#__PURE__*/_react["default"].createElement(_Table["default"],
|
|
108
|
+
}, /*#__PURE__*/_react["default"].createElement(_Table["default"], {
|
|
109
|
+
mode: mode
|
|
110
|
+
}, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column, index) {
|
|
132
111
|
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
133
112
|
key: "tableHeader_".concat(index),
|
|
134
113
|
"aria-sort": column.isSortable ? sortColumnIndex === index ? sortOrder : "none" : undefined
|
|
@@ -139,17 +118,18 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
139
118
|
column.isSortable && changeSorting(index);
|
|
140
119
|
},
|
|
141
120
|
tabIndex: column.isSortable ? tabIndex : -1,
|
|
142
|
-
isSortable: column.isSortable
|
|
121
|
+
isSortable: column.isSortable,
|
|
122
|
+
mode: mode
|
|
143
123
|
}, /*#__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
|
-
}))), /*#__PURE__*/_react["default"].createElement("tbody", null, filteredResultset.map(function (cells,
|
|
124
|
+
}))), /*#__PURE__*/_react["default"].createElement("tbody", null, filteredResultset.map(function (cells, rowIndex) {
|
|
145
125
|
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
146
|
-
key: "resultSetTableCell_".concat(
|
|
147
|
-
}, cells.map(function (cellContent,
|
|
126
|
+
key: "resultSetTableCell_".concat(page, "_").concat(rowIndex)
|
|
127
|
+
}, cells.map(function (cellContent, cellIndex) {
|
|
148
128
|
return /*#__PURE__*/_react["default"].createElement("td", {
|
|
149
|
-
key: "resultSetTableCellContent_".concat(
|
|
129
|
+
key: "resultSetTableCellContent_".concat(cellIndex)
|
|
150
130
|
}, cellContent.displayValue);
|
|
151
131
|
}));
|
|
152
|
-
}))), /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
132
|
+
}))), !hidePaginator && /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
153
133
|
totalItems: rows.length,
|
|
154
134
|
itemsPerPage: itemsPerPage,
|
|
155
135
|
itemsPerPageOptions: itemsPerPageOptions,
|
|
@@ -160,11 +140,9 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
160
140
|
tabIndex: tabIndex
|
|
161
141
|
})));
|
|
162
142
|
};
|
|
163
|
-
|
|
164
143
|
var calculateWidth = function calculateWidth(margin) {
|
|
165
144
|
return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
166
145
|
};
|
|
167
|
-
|
|
168
146
|
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
147
|
return calculateWidth(props.margin);
|
|
170
148
|
}, function (props) {
|
|
@@ -178,18 +156,15 @@ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObjec
|
|
|
178
156
|
}, function (props) {
|
|
179
157
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
180
158
|
});
|
|
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) {
|
|
159
|
+
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
160
|
return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
|
|
184
|
-
}, function (props) {
|
|
161
|
+
}, _coreTokens["default"].spacing_8, function (props) {
|
|
185
162
|
return props.isSortable ? "pointer" : "default";
|
|
186
163
|
}, function (props) {
|
|
187
164
|
return props.isSortable && "&:focus {\n outline: #0095ff solid 2px;\n }";
|
|
188
165
|
});
|
|
189
|
-
|
|
190
166
|
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
167
|
return props.theme.sortIconColor;
|
|
192
168
|
});
|
|
193
|
-
|
|
194
|
-
var _default = DxcResultsetTable;
|
|
195
|
-
exports["default"] = _default;
|
|
169
|
+
DxcResultsetTable.ActionsCell = _Table.DxcActionsCell;
|
|
170
|
+
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: "filled_edit",
|
|
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
|
|
|
@@ -200,12 +260,35 @@ export const Chromatic = () => (
|
|
|
200
260
|
<Title title="Scroll resultset table" theme="light" level={4} />
|
|
201
261
|
<DxcResultsetTable columns={longColumns} rows={longRows} />
|
|
202
262
|
</ExampleContainer>
|
|
263
|
+
<ExampleContainer>
|
|
264
|
+
<Title title="Without paginator" theme="light" level={4} />
|
|
265
|
+
<DxcResultsetTable columns={columns} rows={rows} hidePaginator />
|
|
266
|
+
</ExampleContainer>
|
|
203
267
|
<ExampleContainer>
|
|
204
268
|
<SmallContainer>
|
|
205
269
|
<Title title="Small container and text overflow" theme="light" level={4} />
|
|
206
270
|
<DxcResultsetTable columns={columnsSortable} rows={longValues} />
|
|
207
271
|
</SmallContainer>
|
|
208
272
|
</ExampleContainer>
|
|
273
|
+
<ExampleContainer>
|
|
274
|
+
<Title title="Reduced sortable table" theme="light" level={4} />
|
|
275
|
+
<DxcResultsetTable columns={columnsSortable} rows={rowsSortable} mode="reduced" />
|
|
276
|
+
</ExampleContainer>
|
|
277
|
+
{/* PENDING SMALL ICON VERSION */}
|
|
278
|
+
<ExampleContainer>
|
|
279
|
+
<Title title="Reduced with items per page option" theme="light" level={4} />
|
|
280
|
+
<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={2} itemsPerPageOptions={[2, 3]} mode="reduced" />
|
|
281
|
+
</ExampleContainer>
|
|
282
|
+
<ExampleContainer>
|
|
283
|
+
<Title title="Reduced scroll resultset table" theme="light" level={4} />
|
|
284
|
+
<DxcResultsetTable columns={longColumns} rows={longRows} mode="reduced" />
|
|
285
|
+
</ExampleContainer>
|
|
286
|
+
<ExampleContainer>
|
|
287
|
+
<SmallContainer>
|
|
288
|
+
<Title title="Reduced small container and text overflow" theme="light" level={4} />
|
|
289
|
+
<DxcResultsetTable columns={columnsSortable} rows={longValues} mode="reduced" />
|
|
290
|
+
</SmallContainer>
|
|
291
|
+
</ExampleContainer>
|
|
209
292
|
<Title title="Margins" theme="light" level={2} />
|
|
210
293
|
<ExampleContainer>
|
|
211
294
|
<Title title="Xxsmall" theme="light" level={4} />
|
|
@@ -298,3 +381,21 @@ LastPage.play = async ({ canvasElement }) => {
|
|
|
298
381
|
const nextButton = canvas.getAllByRole("button")[3];
|
|
299
382
|
await userEvent.click(nextButton);
|
|
300
383
|
};
|
|
384
|
+
|
|
385
|
+
const ResultsetActionsCellDropdown = () => (
|
|
386
|
+
<ExampleContainer>
|
|
387
|
+
<Title title="Dropdown Action" theme="light" level={4} />
|
|
388
|
+
<DxcResultsetTable columns={columns} rows={rowsIcon} itemsPerPage={2} />
|
|
389
|
+
<Title title="Custom theme actions cell" theme="light" level={4} />
|
|
390
|
+
<HalstackProvider advancedTheme={advancedTheme}>
|
|
391
|
+
<DxcResultsetTable columns={columns} rows={rowsIcon} itemsPerPage={2} />
|
|
392
|
+
</HalstackProvider>
|
|
393
|
+
</ExampleContainer>
|
|
394
|
+
);
|
|
395
|
+
|
|
396
|
+
export const DropdownAction = ResultsetActionsCellDropdown.bind({});
|
|
397
|
+
DropdownAction.play = async ({ canvasElement }) => {
|
|
398
|
+
const canvas = within(canvasElement);
|
|
399
|
+
const dropdown = canvas.getAllByRole("button")[5];
|
|
400
|
+
await userEvent.click(dropdown);
|
|
401
|
+
};
|