@dxc-technology/halstack-react 0.0.0-efa7c74 → 0.0.0-f00a97a
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 +15 -47
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +8 -8
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +16 -17
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.js +6 -3
- 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 +24 -34
- 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 +59 -82
- package/button/Button.stories.tsx +15 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- 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 +45 -41
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +8 -4
- 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 +282 -355
- 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 +242 -272
- 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} +1 -22
- 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 +161 -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/types.d.ts +17 -10
- package/package.json +14 -10
- 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 +26 -21
- 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 +1 -1
- package/resultsetTable/ResultsetTable.js +9 -4
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/resultsetTable/types.d.ts +6 -2
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +199 -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 +7 -6
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +187 -0
- package/slider/types.d.ts +4 -0
- 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 +129 -57
- package/switch/Switch.stories.tsx +21 -43
- package/switch/Switch.test.js +212 -0
- package/switch/types.d.ts +9 -6
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +17 -19
- package/tabs/Tabs.stories.tsx +7 -16
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +27 -15
- 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 +18 -28
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +100 -124
- package/text-input/TextInput.stories.tsx +473 -0
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +44 -23
- 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 +1 -1
- package/toggle-group/ToggleGroup.js +15 -17
- package/toggle-group/ToggleGroup.stories.tsx +27 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +47 -26
- 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/select/index.d.ts +0 -131
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/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;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import ResultsetTablePropsType from "./types";
|
|
3
|
-
declare const DxcResultsetTable: ({ columns, rows, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, margin, tabIndex, }: ResultsetTablePropsType) => JSX.Element;
|
|
3
|
+
declare const DxcResultsetTable: ({ columns, rows, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, margin, tabIndex, }: ResultsetTablePropsType) => JSX.Element;
|
|
4
4
|
export default DxcResultsetTable;
|
|
@@ -25,7 +25,7 @@ var _Table = _interopRequireDefault(require("../table/Table"));
|
|
|
25
25
|
|
|
26
26
|
var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
|
|
27
27
|
|
|
28
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
28
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
29
|
|
|
30
30
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
31
31
|
|
|
@@ -113,6 +113,8 @@ var BothArrows = function BothArrows() {
|
|
|
113
113
|
var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
114
114
|
var columns = _ref.columns,
|
|
115
115
|
rows = _ref.rows,
|
|
116
|
+
_ref$showGoToPage = _ref.showGoToPage,
|
|
117
|
+
showGoToPage = _ref$showGoToPage === void 0 ? true : _ref$showGoToPage,
|
|
116
118
|
_ref$itemsPerPage = _ref.itemsPerPage,
|
|
117
119
|
itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
|
|
118
120
|
itemsPerPageOptions = _ref.itemsPerPageOptions,
|
|
@@ -183,7 +185,8 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
183
185
|
onClick: function onClick() {
|
|
184
186
|
return column.isSortable && changeSorting(index);
|
|
185
187
|
},
|
|
186
|
-
tabIndex: column.isSortable ? tabIndex : -1
|
|
188
|
+
tabIndex: column.isSortable ? tabIndex : -1,
|
|
189
|
+
isSortable: column.isSortable
|
|
187
190
|
}, /*#__PURE__*/_react["default"].createElement(TitleDiv, {
|
|
188
191
|
isSortable: column.isSortable
|
|
189
192
|
}, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, getIconForSortableColumn(index))));
|
|
@@ -201,7 +204,7 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
201
204
|
itemsPerPageOptions: itemsPerPageOptions,
|
|
202
205
|
itemsPerPageFunction: itemsPerPageFunction,
|
|
203
206
|
currentPage: page,
|
|
204
|
-
showGoToPage:
|
|
207
|
+
showGoToPage: showGoToPage,
|
|
205
208
|
onPageChange: goToPage,
|
|
206
209
|
tabIndex: tabIndex
|
|
207
210
|
}))));
|
|
@@ -225,8 +228,10 @@ var TitleDiv = _styledComponents["default"].div(_templateObject5 || (_templateOb
|
|
|
225
228
|
|
|
226
229
|
var TableHeader = _styledComponents["default"].th(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
227
230
|
|
|
228
|
-
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) {
|
|
229
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;";
|
|
230
235
|
});
|
|
231
236
|
|
|
232
237
|
var HeaderRow = _styledComponents["default"].thead(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 60px;\n"])));
|
|
@@ -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
|
+
};
|