@dxc-technology/halstack-react 0.0.0-e884f9f → 0.0.0-e922b5b
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 +10 -0
- package/BackgroundColorContext.js +1 -4
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +124 -137
- package/accordion/Accordion.stories.tsx +306 -0
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +11 -11
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +16 -37
- package/accordion-group/AccordionGroup.stories.tsx +251 -0
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +16 -10
- package/alert/Alert.js +7 -4
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -4
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +25 -35
- package/box/Box.test.js +18 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +62 -83
- package/button/Button.stories.tsx +15 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +10 -14
- package/card/Card.js +25 -28
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +104 -108
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +10 -6
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +16 -76
- package/chip/Chip.stories.tsx +6 -8
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/variables.js +290 -359
- package/date-input/DateInput.js +66 -55
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +50 -53
- package/dialog/Dialog.stories.tsx +1 -2
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +2 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +243 -273
- package/dropdown/Dropdown.stories.tsx +312 -0
- package/dropdown/Dropdown.test.js +591 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +30 -19
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +165 -83
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +12 -8
- package/file-input/types.d.ts +32 -7
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +32 -113
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +5 -19
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -4
- package/footer/types.d.ts +21 -17
- package/header/Header.js +97 -116
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +71 -135
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +42 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -86
- package/link/Link.stories.tsx +99 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +12 -12
- package/main.js +64 -58
- package/number-input/NumberInput.js +14 -24
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +16 -12
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.test.js +308 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +23 -19
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +29 -19
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +59 -53
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +118 -0
- package/quick-nav/QuickNav.stories.tsx +264 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +281 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +9 -29
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +198 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +158 -380
- package/select/Select.stories.tsx +231 -176
- package/select/Select.test.js +2175 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +186 -54
- package/sidenav/Sidenav.stories.tsx +154 -139
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +117 -95
- package/slider/Slider.stories.tsx +15 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +3 -3
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +149 -67
- package/switch/Switch.stories.tsx +21 -43
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +9 -6
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +364 -110
- package/tabs/Tabs.stories.tsx +186 -0
- package/tabs/Tabs.test.js +351 -0
- package/tabs/types.d.ts +39 -17
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +19 -29
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +166 -328
- package/text-input/TextInput.stories.tsx +481 -0
- package/text-input/TextInput.test.js +1713 -0
- package/text-input/types.d.ts +192 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +39 -79
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +18 -46
- package/toggle-group/ToggleGroup.stories.tsx +27 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +2 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +112 -58
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +33 -24
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +13 -12
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/chip/index.d.ts +0 -22
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export declare type Option = {
|
|
2
|
+
/**
|
|
3
|
+
* Label of the option placed next to the radio input.
|
|
4
|
+
*/
|
|
5
|
+
value: string;
|
|
6
|
+
/**
|
|
7
|
+
* Value of the option. It should be unique and
|
|
8
|
+
* not an empty string, which is reserved to the optional item added
|
|
9
|
+
* by 'optional' prop.
|
|
10
|
+
*/
|
|
11
|
+
label: string;
|
|
12
|
+
/**
|
|
13
|
+
* If true, disables the option.
|
|
14
|
+
*/
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
};
|
|
17
|
+
declare type RadioGroupProps = {
|
|
18
|
+
/**
|
|
19
|
+
* Text to be placed above the radio group.
|
|
20
|
+
*/
|
|
21
|
+
label: string;
|
|
22
|
+
/**
|
|
23
|
+
* Name attribute of the input element. This attribute will allow users
|
|
24
|
+
* to find the component's value during the submit event.
|
|
25
|
+
*/
|
|
26
|
+
name?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Helper text to be placed above the radio group.
|
|
29
|
+
*/
|
|
30
|
+
helperText?: string;
|
|
31
|
+
/**
|
|
32
|
+
* An array of objects representing the selectable options.
|
|
33
|
+
*/
|
|
34
|
+
options: Option[];
|
|
35
|
+
/**
|
|
36
|
+
* If true, the component will be disabled.
|
|
37
|
+
*/
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* If true, the radio group will be optional, showing
|
|
41
|
+
* (Optional) next to the label and adding a default last
|
|
42
|
+
* option with an empty string as value. Otherwise, the field will be
|
|
43
|
+
* considered required and an error will be passed as a parameter to the
|
|
44
|
+
* OnBlur functions if an option wasn't selected.
|
|
45
|
+
*/
|
|
46
|
+
optional?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Label of the optional radio input.
|
|
49
|
+
*/
|
|
50
|
+
optionalItemLabel?: string;
|
|
51
|
+
/**
|
|
52
|
+
* If true, the component will be marked as readonly.
|
|
53
|
+
*/
|
|
54
|
+
readonly?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the orientation of the options within the radio group.
|
|
57
|
+
*/
|
|
58
|
+
stacking?: "row" | "column";
|
|
59
|
+
/**
|
|
60
|
+
* Initial value of the radio group, only when it is uncontrolled.
|
|
61
|
+
*/
|
|
62
|
+
defaultValue?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Value of the radio group. If undefined, the component will be
|
|
65
|
+
* uncontrolled and the value will be managed internally by the
|
|
66
|
+
* component.
|
|
67
|
+
*/
|
|
68
|
+
value?: string;
|
|
69
|
+
/**
|
|
70
|
+
* This function will be called when the user chooses an option. The new
|
|
71
|
+
* value will be passed to this function.
|
|
72
|
+
*/
|
|
73
|
+
onChange?: (value: string) => void;
|
|
74
|
+
/**
|
|
75
|
+
* This function will be called when the radio group loses the focus. An
|
|
76
|
+
* object including the value and the error will be passed to this
|
|
77
|
+
* function. If there is no error, error will not be defined.
|
|
78
|
+
*/
|
|
79
|
+
onBlur?: (val: {
|
|
80
|
+
value?: string;
|
|
81
|
+
error?: string;
|
|
82
|
+
}) => void;
|
|
83
|
+
/**
|
|
84
|
+
* If it is a defined value and also a truthy string, the component will
|
|
85
|
+
* change its appearance, showing the error below the radio group. If the
|
|
86
|
+
* defined value is an empty string, it will reserve a space below the
|
|
87
|
+
* component for a future error, but it would not change its look. In
|
|
88
|
+
* case of being undefined or null, both the appearance and the space for
|
|
89
|
+
* the error message would not be modified.
|
|
90
|
+
*/
|
|
91
|
+
error?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Value of the tabindex attribute.
|
|
94
|
+
*/
|
|
95
|
+
tabIndex?: number;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Reference to the component.
|
|
99
|
+
*/
|
|
100
|
+
export declare type RefType = HTMLDivElement;
|
|
101
|
+
/**
|
|
102
|
+
* Single radio prop types.
|
|
103
|
+
*/
|
|
104
|
+
export declare type RadioProps = {
|
|
105
|
+
option: Option;
|
|
106
|
+
currentValue?: string;
|
|
107
|
+
onClick: () => void;
|
|
108
|
+
error?: string;
|
|
109
|
+
disabled: boolean;
|
|
110
|
+
focused: boolean;
|
|
111
|
+
readonly: boolean;
|
|
112
|
+
tabIndex: number;
|
|
113
|
+
};
|
|
114
|
+
export default RadioGroupProps;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import ResultsetTablePropsType from "./types";
|
|
3
|
+
declare const DxcResultsetTable: ({ columns, rows, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, margin, tabIndex, }: ResultsetTablePropsType) => JSX.Element;
|
|
4
|
+
export default DxcResultsetTable;
|
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
13
|
|
|
16
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -21,15 +19,13 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
21
19
|
|
|
22
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
21
|
|
|
24
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
22
|
var _variables = require("../common/variables.js");
|
|
27
23
|
|
|
28
24
|
var _Table = _interopRequireDefault(require("../table/Table"));
|
|
29
25
|
|
|
30
26
|
var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
|
|
31
27
|
|
|
32
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
28
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
33
29
|
|
|
34
30
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
35
31
|
|
|
@@ -117,6 +113,8 @@ var BothArrows = function BothArrows() {
|
|
|
117
113
|
var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
118
114
|
var columns = _ref.columns,
|
|
119
115
|
rows = _ref.rows,
|
|
116
|
+
_ref$showGoToPage = _ref.showGoToPage,
|
|
117
|
+
showGoToPage = _ref$showGoToPage === void 0 ? true : _ref$showGoToPage,
|
|
120
118
|
_ref$itemsPerPage = _ref.itemsPerPage,
|
|
121
119
|
itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
|
|
122
120
|
itemsPerPageOptions = _ref.itemsPerPageOptions,
|
|
@@ -187,7 +185,8 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
187
185
|
onClick: function onClick() {
|
|
188
186
|
return column.isSortable && changeSorting(index);
|
|
189
187
|
},
|
|
190
|
-
tabIndex: column.isSortable ? tabIndex : -1
|
|
188
|
+
tabIndex: column.isSortable ? tabIndex : -1,
|
|
189
|
+
isSortable: column.isSortable
|
|
191
190
|
}, /*#__PURE__*/_react["default"].createElement(TitleDiv, {
|
|
192
191
|
isSortable: column.isSortable
|
|
193
192
|
}, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, getIconForSortableColumn(index))));
|
|
@@ -205,7 +204,7 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
205
204
|
itemsPerPageOptions: itemsPerPageOptions,
|
|
206
205
|
itemsPerPageFunction: itemsPerPageFunction,
|
|
207
206
|
currentPage: page,
|
|
208
|
-
showGoToPage:
|
|
207
|
+
showGoToPage: showGoToPage,
|
|
209
208
|
onPageChange: goToPage,
|
|
210
209
|
tabIndex: tabIndex
|
|
211
210
|
}))));
|
|
@@ -229,8 +228,10 @@ var TitleDiv = _styledComponents["default"].div(_templateObject5 || (_templateOb
|
|
|
229
228
|
|
|
230
229
|
var TableHeader = _styledComponents["default"].th(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
231
230
|
|
|
232
|
-
var HeaderContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n width:
|
|
231
|
+
var HeaderContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n width: fit-content;\n :focus {\n ", "\n }\n"])), function (props) {
|
|
233
232
|
return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
|
|
233
|
+
}, function (props) {
|
|
234
|
+
return props.isSortable && "outline: #0095ff solid 2px; \n outline-offset: 4px;";
|
|
234
235
|
});
|
|
235
236
|
|
|
236
237
|
var HeaderRow = _styledComponents["default"].thead(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 60px;\n"])));
|
|
@@ -249,26 +250,5 @@ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObjec
|
|
|
249
250
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
250
251
|
});
|
|
251
252
|
|
|
252
|
-
DxcResultsetTable.propTypes = {
|
|
253
|
-
rows: _propTypes["default"].array,
|
|
254
|
-
columns: _propTypes["default"].array,
|
|
255
|
-
itemsPerPage: _propTypes["default"].number,
|
|
256
|
-
itemsPerPageOptions: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
257
|
-
itemsPerPageFunction: _propTypes["default"].func,
|
|
258
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
259
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
260
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
261
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
262
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
263
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
264
|
-
tabIndex: _propTypes["default"].number
|
|
265
|
-
};
|
|
266
|
-
DxcResultsetTable.defaultProps = {
|
|
267
|
-
rows: [],
|
|
268
|
-
columns: [],
|
|
269
|
-
itemsPerPage: 5,
|
|
270
|
-
itemsPerPageOptions: null,
|
|
271
|
-
itemsPerPageFunction: null
|
|
272
|
-
};
|
|
273
253
|
var _default = DxcResultsetTable;
|
|
274
254
|
exports["default"] = _default;
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcResultsetTable from "./ResultsetTable";
|
|
3
|
+
import DxcButton from "../button/Button";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "Resultset Table",
|
|
10
|
+
component: DxcResultsetTable,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const deleteIcon = (
|
|
14
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
|
|
15
|
+
<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 d="M0 0h24v24H0z" fill="none" />
|
|
17
|
+
</svg>
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
const columns = [{ displayValue: "Id" }, { displayValue: "Name" }, { displayValue: "City" }];
|
|
21
|
+
|
|
22
|
+
const rows = [
|
|
23
|
+
[{ displayValue: "001" }, { displayValue: "Peter" }, { displayValue: "Miami" }],
|
|
24
|
+
[{ displayValue: "002" }, { displayValue: "Louis" }, { displayValue: "London" }],
|
|
25
|
+
[{ displayValue: "003" }, { displayValue: "Lana" }, { displayValue: "Amsterdam" }],
|
|
26
|
+
[{ displayValue: "004" }, { displayValue: "Rick" }, { displayValue: "London" }],
|
|
27
|
+
[{ displayValue: "005" }, { displayValue: "Mark" }, { displayValue: "Miami" }],
|
|
28
|
+
[{ displayValue: "006" }, { displayValue: "Cris" }, { displayValue: "Paris" }],
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const rowsIcon = [
|
|
32
|
+
[
|
|
33
|
+
{ displayValue: "001", sortValue: "001" },
|
|
34
|
+
{ displayValue: "Peter" },
|
|
35
|
+
{ displayValue: <DxcButton icon={deleteIcon} /> },
|
|
36
|
+
],
|
|
37
|
+
[{ displayValue: "002", sortValue: "002" }, { displayValue: "Louis" }, { displayValue: "" }],
|
|
38
|
+
[
|
|
39
|
+
{ displayValue: "003", sortValue: "003" },
|
|
40
|
+
{ displayValue: "Mark" },
|
|
41
|
+
{ displayValue: <DxcButton icon={deleteIcon} /> },
|
|
42
|
+
],
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
const columnsSortable = [
|
|
46
|
+
{ displayValue: "Id", isSortable: true },
|
|
47
|
+
{ displayValue: "Name", isSortable: true },
|
|
48
|
+
{ displayValue: "City", isSortable: false },
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const rowsSortable = [
|
|
52
|
+
[
|
|
53
|
+
{ displayValue: "001", sortValue: "001" },
|
|
54
|
+
{ displayValue: "Peter", sortValue: "Peter" },
|
|
55
|
+
{ displayValue: "Miami", sortValue: "Miami" },
|
|
56
|
+
],
|
|
57
|
+
[
|
|
58
|
+
{ displayValue: "002", sortValue: "002" },
|
|
59
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
60
|
+
{ displayValue: "London", sortValue: "London" },
|
|
61
|
+
],
|
|
62
|
+
[
|
|
63
|
+
{ displayValue: "003", sortValue: "003" },
|
|
64
|
+
{ displayValue: "Aida", sortValue: "Aida" },
|
|
65
|
+
{ displayValue: "Wroclaw", sortValue: "Wroclaw" },
|
|
66
|
+
],
|
|
67
|
+
[
|
|
68
|
+
{ displayValue: "004", sortValue: "004" },
|
|
69
|
+
{ displayValue: "Lana", sortValue: "Lana" },
|
|
70
|
+
{ displayValue: "Amsterdam", sortValue: "Amsterdam" },
|
|
71
|
+
],
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
const longColumns = [
|
|
75
|
+
{ displayValue: "Column1" },
|
|
76
|
+
{ displayValue: "Column2" },
|
|
77
|
+
{ displayValue: "Column3" },
|
|
78
|
+
{ displayValue: "Column4" },
|
|
79
|
+
{ displayValue: "Column5" },
|
|
80
|
+
{ displayValue: "Column6" },
|
|
81
|
+
{ displayValue: "Column7" },
|
|
82
|
+
{ displayValue: "Column8" },
|
|
83
|
+
{ displayValue: "Column9" },
|
|
84
|
+
{ displayValue: "Column10" },
|
|
85
|
+
{ displayValue: "Column11" },
|
|
86
|
+
{ displayValue: "Column12" },
|
|
87
|
+
{ displayValue: "Column13" },
|
|
88
|
+
{ displayValue: "Column14" },
|
|
89
|
+
{ displayValue: "Column15" },
|
|
90
|
+
{ displayValue: "Column16" },
|
|
91
|
+
{ displayValue: "Column17" },
|
|
92
|
+
{ displayValue: "Column18" },
|
|
93
|
+
{ displayValue: "Column19" },
|
|
94
|
+
{ displayValue: "Column20" },
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
const longRows = [
|
|
98
|
+
[
|
|
99
|
+
{ displayValue: "001", sortValue: "001" },
|
|
100
|
+
{ displayValue: "Peter", sortValue: "Peter" },
|
|
101
|
+
{ displayValue: "Miami", sortValue: "Miami" },
|
|
102
|
+
{ displayValue: "001", sortValue: "001" },
|
|
103
|
+
{ displayValue: "Peter", sortValue: "Peter" },
|
|
104
|
+
{ displayValue: "Miami", sortValue: "Miami" },
|
|
105
|
+
{ displayValue: "Miami", sortValue: "Miami" },
|
|
106
|
+
{ displayValue: "001", sortValue: "001" },
|
|
107
|
+
{ displayValue: "Peter", sortValue: "Peter" },
|
|
108
|
+
{ displayValue: "Miami", sortValue: "Miami" },
|
|
109
|
+
{ displayValue: "002", sortValue: "002" },
|
|
110
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
111
|
+
{ displayValue: "London", sortValue: "London" },
|
|
112
|
+
{ displayValue: "002", sortValue: "002" },
|
|
113
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
114
|
+
{ displayValue: "London", sortValue: "London" },
|
|
115
|
+
{ displayValue: "002", sortValue: "002" },
|
|
116
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
117
|
+
{ displayValue: "London", sortValue: "London" },
|
|
118
|
+
{ displayValue: "London", sortValue: "London" },
|
|
119
|
+
],
|
|
120
|
+
[
|
|
121
|
+
{ displayValue: "002", sortValue: "002" },
|
|
122
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
123
|
+
{ displayValue: "London", sortValue: "London" },
|
|
124
|
+
{ displayValue: "002", sortValue: "002" },
|
|
125
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
126
|
+
{ displayValue: "London", sortValue: "London" },
|
|
127
|
+
{ displayValue: "002", sortValue: "002" },
|
|
128
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
129
|
+
{ displayValue: "London", sortValue: "London" },
|
|
130
|
+
{ displayValue: "London", sortValue: "London" },
|
|
131
|
+
{ displayValue: "002", sortValue: "002" },
|
|
132
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
133
|
+
{ displayValue: "London", sortValue: "London" },
|
|
134
|
+
{ displayValue: "002", sortValue: "002" },
|
|
135
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
136
|
+
{ displayValue: "London", sortValue: "London" },
|
|
137
|
+
{ displayValue: "002", sortValue: "002" },
|
|
138
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
139
|
+
{ displayValue: "London", sortValue: "London" },
|
|
140
|
+
{ displayValue: "London", sortValue: "London" },
|
|
141
|
+
],
|
|
142
|
+
[
|
|
143
|
+
{ displayValue: "002", sortValue: "002" },
|
|
144
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
145
|
+
{ displayValue: "London", sortValue: "London" },
|
|
146
|
+
{ displayValue: "002", sortValue: "002" },
|
|
147
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
148
|
+
{ displayValue: "London", sortValue: "London" },
|
|
149
|
+
{ displayValue: "002", sortValue: "002" },
|
|
150
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
151
|
+
{ displayValue: "London", sortValue: "London" },
|
|
152
|
+
{ displayValue: "London", sortValue: "London" },
|
|
153
|
+
{ displayValue: "002", sortValue: "002" },
|
|
154
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
155
|
+
{ displayValue: "London", sortValue: "London" },
|
|
156
|
+
{ displayValue: "002", sortValue: "002" },
|
|
157
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
158
|
+
{ displayValue: "London", sortValue: "London" },
|
|
159
|
+
{ displayValue: "002", sortValue: "002" },
|
|
160
|
+
{ displayValue: "Louis", sortValue: "Louis" },
|
|
161
|
+
{ displayValue: "London", sortValue: "London" },
|
|
162
|
+
{ displayValue: "London", sortValue: "London" },
|
|
163
|
+
],
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
export const Chromatic = () => (
|
|
167
|
+
<>
|
|
168
|
+
<ExampleContainer>
|
|
169
|
+
<Title title="Sortable table" theme="light" level={4} />
|
|
170
|
+
<DxcResultsetTable columns={columnsSortable} rows={rowsSortable}></DxcResultsetTable>
|
|
171
|
+
</ExampleContainer>
|
|
172
|
+
<ExampleContainer>
|
|
173
|
+
<Title title="With action" theme="light" level={4} />
|
|
174
|
+
<DxcResultsetTable columns={columns} rows={rowsIcon}></DxcResultsetTable>
|
|
175
|
+
</ExampleContainer>
|
|
176
|
+
<ExampleContainer>
|
|
177
|
+
<Title title="With items per page option" theme="light" level={4} />
|
|
178
|
+
<DxcResultsetTable
|
|
179
|
+
columns={columns}
|
|
180
|
+
rows={rows}
|
|
181
|
+
itemsPerPage={2}
|
|
182
|
+
itemsPerPageOptions={[2, 3]}
|
|
183
|
+
></DxcResultsetTable>
|
|
184
|
+
</ExampleContainer>
|
|
185
|
+
<ExampleContainer>
|
|
186
|
+
<Title title="Scroll resultset table" theme="light" level={4} />
|
|
187
|
+
<DxcResultsetTable columns={longColumns} rows={longRows}></DxcResultsetTable>
|
|
188
|
+
</ExampleContainer>
|
|
189
|
+
<Title title="Margins" theme="light" level={2} />
|
|
190
|
+
<ExampleContainer>
|
|
191
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
192
|
+
<DxcResultsetTable columns={columns} rows={rows} margin={"xxsmall"}></DxcResultsetTable>
|
|
193
|
+
</ExampleContainer>
|
|
194
|
+
<ExampleContainer>
|
|
195
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
196
|
+
<DxcResultsetTable columns={columns} rows={rows} margin={"xsmall"}></DxcResultsetTable>
|
|
197
|
+
</ExampleContainer>
|
|
198
|
+
<ExampleContainer>
|
|
199
|
+
<Title title="Small" theme="light" level={4} />
|
|
200
|
+
<DxcResultsetTable columns={columns} rows={rows} margin={"small"}></DxcResultsetTable>
|
|
201
|
+
</ExampleContainer>
|
|
202
|
+
<ExampleContainer>
|
|
203
|
+
<Title title="Medium" theme="light" level={4} />
|
|
204
|
+
<DxcResultsetTable columns={columns} rows={rows} margin={"medium"}></DxcResultsetTable>
|
|
205
|
+
</ExampleContainer>
|
|
206
|
+
<ExampleContainer>
|
|
207
|
+
<Title title="Large" theme="light" level={4} />
|
|
208
|
+
<DxcResultsetTable columns={columns} rows={rows} margin={"large"}></DxcResultsetTable>
|
|
209
|
+
</ExampleContainer>
|
|
210
|
+
<ExampleContainer>
|
|
211
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
212
|
+
<DxcResultsetTable columns={columns} rows={rows} margin={"xlarge"}></DxcResultsetTable>
|
|
213
|
+
</ExampleContainer>
|
|
214
|
+
<ExampleContainer>
|
|
215
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
216
|
+
<DxcResultsetTable columns={columns} rows={rows} margin={"xxlarge"}></DxcResultsetTable>
|
|
217
|
+
<hr />
|
|
218
|
+
</ExampleContainer>
|
|
219
|
+
</>
|
|
220
|
+
);
|
|
221
|
+
|
|
222
|
+
const ResultsetTableAsc = () => (
|
|
223
|
+
<ExampleContainer>
|
|
224
|
+
<Title title="Ascendant sorting" theme="light" level={4} />
|
|
225
|
+
<DxcResultsetTable columns={columnsSortable} rows={rowsSortable}></DxcResultsetTable>
|
|
226
|
+
</ExampleContainer>
|
|
227
|
+
);
|
|
228
|
+
|
|
229
|
+
export const AscendentSorting = ResultsetTableAsc.bind({});
|
|
230
|
+
AscendentSorting.play = async ({ canvasElement }) => {
|
|
231
|
+
const canvas = within(canvasElement);
|
|
232
|
+
await userEvent.click(canvas.queryByText("Name"));
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
const ResultsetTableDesc = () => (
|
|
236
|
+
<ExampleContainer>
|
|
237
|
+
<Title title="Descendant sorting" theme="light" level={4} />
|
|
238
|
+
<DxcResultsetTable columns={columnsSortable} rows={rowsSortable}></DxcResultsetTable>
|
|
239
|
+
</ExampleContainer>
|
|
240
|
+
);
|
|
241
|
+
|
|
242
|
+
export const DescendantSorting = ResultsetTableDesc.bind({});
|
|
243
|
+
DescendantSorting.play = async ({ canvasElement }) => {
|
|
244
|
+
const canvas = within(canvasElement);
|
|
245
|
+
await userEvent.click(canvas.queryByText("Name"));
|
|
246
|
+
await userEvent.click(canvas.queryByText("Name"));
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
const ResultsetTableMiddle = () => (
|
|
250
|
+
<ExampleContainer>
|
|
251
|
+
<Title title="Middle page" theme="light" level={4} />
|
|
252
|
+
<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={2}></DxcResultsetTable>
|
|
253
|
+
</ExampleContainer>
|
|
254
|
+
);
|
|
255
|
+
|
|
256
|
+
export const MiddlePage = ResultsetTableMiddle.bind({});
|
|
257
|
+
MiddlePage.play = async ({ canvasElement }) => {
|
|
258
|
+
const canvas = within(canvasElement);
|
|
259
|
+
const nextButton = canvas.getAllByRole("button")[2];
|
|
260
|
+
await userEvent.click(nextButton);
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
const ResultsetTableLast = () => (
|
|
264
|
+
<ExampleContainer>
|
|
265
|
+
<Title title="Last page" theme="light" level={4} />
|
|
266
|
+
<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={2}></DxcResultsetTable>
|
|
267
|
+
</ExampleContainer>
|
|
268
|
+
);
|
|
269
|
+
|
|
270
|
+
export const LastPage = ResultsetTableLast.bind({});
|
|
271
|
+
LastPage.play = async ({ canvasElement }) => {
|
|
272
|
+
const canvas = within(canvasElement);
|
|
273
|
+
const nextButton = canvas.getAllByRole("button")[3];
|
|
274
|
+
await userEvent.click(nextButton);
|
|
275
|
+
};
|