@dxc-technology/halstack-react 0.0.0-eca8a89 → 0.0.0-ecc45e2
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.js +0 -1
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +13 -45
- package/accordion/Accordion.stories.tsx +20 -13
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +7 -7
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +14 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +7 -7
- package/alert/Alert.js +4 -1
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +5 -3
- 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 +22 -32
- 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 +57 -80
- 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 +24 -27
- 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 +43 -39
- 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 +1 -1
- package/chip/Chip.js +16 -54
- package/chip/Chip.stories.tsx +6 -8
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +7 -15
- package/common/variables.js +267 -337
- package/date-input/DateInput.js +62 -48
- 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 +48 -51
- 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 +29 -18
- package/file-input/FileInput.js +111 -39
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +7 -5
- 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.js +24 -99
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +1 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- 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 +16 -6
- package/layout/ApplicationLayout.js +71 -125
- package/layout/ApplicationLayout.stories.tsx +83 -93
- 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 +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +60 -85
- 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 +11 -15
- package/main.js +53 -79
- package/number-input/NumberInput.js +11 -18
- 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 +17 -38
- 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 +7 -4
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- 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.js +5 -2
- package/resultsetTable/ResultsetTable.stories.tsx +7 -8
- package/resultsetTable/ResultsetTable.test.js +348 -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 +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 +146 -366
- 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 +184 -52
- 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 +5 -4
- 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 +1 -1
- 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 +127 -55
- package/switch/Switch.stories.tsx +21 -43
- package/switch/Switch.test.js +212 -0
- package/switch/types.d.ts +9 -6
- 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 +16 -18
- 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 +17 -27
- 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 +80 -105
- package/text-input/TextInput.stories.tsx +35 -18
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +32 -13
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +19 -56
- 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 +12 -14
- package/toggle-group/ToggleGroup.stories.tsx +27 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +46 -25
- 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.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 +111 -57
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +33 -24
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +12 -11
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- 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/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/list/List.d.ts +0 -7
- package/list/List.js +0 -37
- package/list/List.stories.tsx +0 -70
- 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/row/Row.d.ts +0 -11
- package/row/Row.js +0 -124
- package/row/Row.stories.tsx +0 -223
- package/select/index.d.ts +0 -131
- package/stack/Stack.d.ts +0 -10
- package/stack/Stack.js +0 -94
- package/stack/Stack.stories.tsx +0 -150
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/textarea/index.d.ts +0 -127
- 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;
|
|
@@ -185,7 +185,8 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
|
|
|
185
185
|
onClick: function onClick() {
|
|
186
186
|
return column.isSortable && changeSorting(index);
|
|
187
187
|
},
|
|
188
|
-
tabIndex: column.isSortable ? tabIndex : -1
|
|
188
|
+
tabIndex: column.isSortable ? tabIndex : -1,
|
|
189
|
+
isSortable: column.isSortable
|
|
189
190
|
}, /*#__PURE__*/_react["default"].createElement(TitleDiv, {
|
|
190
191
|
isSortable: column.isSortable
|
|
191
192
|
}, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, getIconForSortableColumn(index))));
|
|
@@ -227,8 +228,10 @@ var TitleDiv = _styledComponents["default"].div(_templateObject5 || (_templateOb
|
|
|
227
228
|
|
|
228
229
|
var TableHeader = _styledComponents["default"].th(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
229
230
|
|
|
230
|
-
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) {
|
|
231
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;";
|
|
232
235
|
});
|
|
233
236
|
|
|
234
237
|
var HeaderRow = _styledComponents["default"].thead(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 60px;\n"])));
|
|
@@ -10,14 +10,12 @@ export default {
|
|
|
10
10
|
component: DxcResultsetTable,
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
const deleteIcon = (
|
|
14
|
-
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
);
|
|
20
|
-
};
|
|
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
|
+
);
|
|
21
19
|
|
|
22
20
|
const columns = [{ displayValue: "Id" }, { displayValue: "Name" }, { displayValue: "City" }];
|
|
23
21
|
|
|
@@ -216,6 +214,7 @@ export const Chromatic = () => (
|
|
|
216
214
|
<ExampleContainer>
|
|
217
215
|
<Title title="Xxlarge" theme="light" level={4} />
|
|
218
216
|
<DxcResultsetTable columns={columns} rows={rows} margin={"xxlarge"}></DxcResultsetTable>
|
|
217
|
+
<hr />
|
|
219
218
|
</ExampleContainer>
|
|
220
219
|
</>
|
|
221
220
|
);
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
6
|
+
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _react2 = require("@testing-library/react");
|
|
12
|
+
|
|
13
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
14
|
+
|
|
15
|
+
var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable"));
|
|
16
|
+
|
|
17
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
18
|
+
global.globalThis = global;
|
|
19
|
+
|
|
20
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
21
|
+
function ResizeObserver(cb) {
|
|
22
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
23
|
+
this.cb = cb;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
27
|
+
key: "observe",
|
|
28
|
+
value: function observe() {
|
|
29
|
+
this.cb([{
|
|
30
|
+
borderBoxSize: {
|
|
31
|
+
inlineSize: 0,
|
|
32
|
+
blockSize: 0
|
|
33
|
+
}
|
|
34
|
+
}]);
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
key: "unobserve",
|
|
38
|
+
value: function unobserve() {}
|
|
39
|
+
}]);
|
|
40
|
+
return ResizeObserver;
|
|
41
|
+
}();
|
|
42
|
+
|
|
43
|
+
global.DOMRect = {
|
|
44
|
+
fromRect: function fromRect() {
|
|
45
|
+
return {
|
|
46
|
+
top: 0,
|
|
47
|
+
left: 0,
|
|
48
|
+
bottom: 0,
|
|
49
|
+
right: 0,
|
|
50
|
+
width: 0,
|
|
51
|
+
height: 0
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
var columns = [{
|
|
56
|
+
displayValue: "Id",
|
|
57
|
+
isSortable: false
|
|
58
|
+
}, {
|
|
59
|
+
displayValue: "Name",
|
|
60
|
+
isSortable: true
|
|
61
|
+
}, {
|
|
62
|
+
displayValue: "City",
|
|
63
|
+
isSortable: false
|
|
64
|
+
}];
|
|
65
|
+
var rows = [[{
|
|
66
|
+
displayValue: "001",
|
|
67
|
+
sortValue: "001"
|
|
68
|
+
}, {
|
|
69
|
+
displayValue: "Peter",
|
|
70
|
+
sortValue: "Peter"
|
|
71
|
+
}, {
|
|
72
|
+
displayValue: "Oviedo",
|
|
73
|
+
sortValue: "Oviedo"
|
|
74
|
+
}], [{
|
|
75
|
+
displayValue: "002",
|
|
76
|
+
sortValue: "002"
|
|
77
|
+
}, {
|
|
78
|
+
displayValue: "Louis",
|
|
79
|
+
sortValue: "Louis"
|
|
80
|
+
}, {
|
|
81
|
+
displayValue: "Oviedo",
|
|
82
|
+
sortValue: "Oviedo"
|
|
83
|
+
}, {
|
|
84
|
+
displayValue: ""
|
|
85
|
+
}], [{
|
|
86
|
+
displayValue: "003",
|
|
87
|
+
sortValue: "003"
|
|
88
|
+
}, {
|
|
89
|
+
displayValue: "Lana",
|
|
90
|
+
sortValue: "Lana"
|
|
91
|
+
}, {
|
|
92
|
+
displayValue: "Albacete",
|
|
93
|
+
sortValue: "Albacete"
|
|
94
|
+
}], [{
|
|
95
|
+
displayValue: "004",
|
|
96
|
+
sortValue: "004"
|
|
97
|
+
}, {
|
|
98
|
+
displayValue: "Rick",
|
|
99
|
+
sortValue: "Rick"
|
|
100
|
+
}, {
|
|
101
|
+
displayValue: "Albacete",
|
|
102
|
+
sortValue: "Albacete"
|
|
103
|
+
}], [{
|
|
104
|
+
displayValue: "005",
|
|
105
|
+
sortValue: "005"
|
|
106
|
+
}, {
|
|
107
|
+
displayValue: "Mark",
|
|
108
|
+
sortValue: "Mark"
|
|
109
|
+
}, {
|
|
110
|
+
displayValue: "Madrid",
|
|
111
|
+
sortValue: "Madrid"
|
|
112
|
+
}], [{
|
|
113
|
+
displayValue: "006",
|
|
114
|
+
sortValue: "006"
|
|
115
|
+
}, {
|
|
116
|
+
displayValue: "Cris",
|
|
117
|
+
sortValue: "Cris"
|
|
118
|
+
}, {
|
|
119
|
+
displayValue: "Barcelona",
|
|
120
|
+
sortValue: "Barcelona"
|
|
121
|
+
}, {
|
|
122
|
+
displayValue: ""
|
|
123
|
+
}], [{
|
|
124
|
+
displayValue: "007",
|
|
125
|
+
sortValue: "007"
|
|
126
|
+
}, {
|
|
127
|
+
displayValue: "Susan",
|
|
128
|
+
sortValue: "Susan"
|
|
129
|
+
}, {
|
|
130
|
+
displayValue: "Madrid",
|
|
131
|
+
sortValue: "Madrid"
|
|
132
|
+
}], [{
|
|
133
|
+
displayValue: "008",
|
|
134
|
+
sortValue: "008"
|
|
135
|
+
}, {
|
|
136
|
+
displayValue: "Tina",
|
|
137
|
+
sortValue: "Tina"
|
|
138
|
+
}, {
|
|
139
|
+
displayValue: "Barcelona",
|
|
140
|
+
sortValue: "Barcelona"
|
|
141
|
+
}], [{
|
|
142
|
+
displayValue: "009",
|
|
143
|
+
sortValue: "009"
|
|
144
|
+
}, {
|
|
145
|
+
displayValue: "Kevin",
|
|
146
|
+
sortValue: "Kevin"
|
|
147
|
+
}, {
|
|
148
|
+
displayValue: "Oviedo",
|
|
149
|
+
sortValue: "Oviedo"
|
|
150
|
+
}, {
|
|
151
|
+
displayValue: ""
|
|
152
|
+
}], [{
|
|
153
|
+
displayValue: "010",
|
|
154
|
+
sortValue: "010"
|
|
155
|
+
}, {
|
|
156
|
+
displayValue: "Cosmin",
|
|
157
|
+
sortValue: "Cosmin"
|
|
158
|
+
}, {
|
|
159
|
+
displayValue: "Barcelona",
|
|
160
|
+
sortValue: "Barcelona"
|
|
161
|
+
}, {
|
|
162
|
+
displayValue: ""
|
|
163
|
+
}]];
|
|
164
|
+
var rows2 = [[{
|
|
165
|
+
displayValue: "546",
|
|
166
|
+
sortValue: "465"
|
|
167
|
+
}, {
|
|
168
|
+
displayValue: "OtherValue",
|
|
169
|
+
sortValue: "OtherValue"
|
|
170
|
+
}, {
|
|
171
|
+
displayValue: "OtherValue",
|
|
172
|
+
sortValue: "OtherValue"
|
|
173
|
+
}], [{
|
|
174
|
+
displayValue: "978",
|
|
175
|
+
sortValue: "465"
|
|
176
|
+
}, {
|
|
177
|
+
displayValue: "OtherValue",
|
|
178
|
+
sortValue: "OtherValue"
|
|
179
|
+
}, {
|
|
180
|
+
displayValue: "OtherValue",
|
|
181
|
+
sortValue: "OtherValue"
|
|
182
|
+
}, {
|
|
183
|
+
displayValue: ""
|
|
184
|
+
}], [{
|
|
185
|
+
displayValue: "678",
|
|
186
|
+
sortValue: "344"
|
|
187
|
+
}, {
|
|
188
|
+
displayValue: "OtherValue",
|
|
189
|
+
sortValue: "OtherValue"
|
|
190
|
+
}, {
|
|
191
|
+
displayValue: "OtherValue",
|
|
192
|
+
sortValue: "OtherValue"
|
|
193
|
+
}]];
|
|
194
|
+
describe("ResultsetTable component tests", function () {
|
|
195
|
+
test("ResultsetTable rendered correctly", function () {
|
|
196
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
197
|
+
columns: columns,
|
|
198
|
+
rows: rows,
|
|
199
|
+
itemsPerPage: 3
|
|
200
|
+
})),
|
|
201
|
+
getByText = _render.getByText;
|
|
202
|
+
|
|
203
|
+
expect(getByText("Peter")).toBeTruthy();
|
|
204
|
+
});
|
|
205
|
+
test("Resultsettable shows as many rows as itemsPerPage", function () {
|
|
206
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
207
|
+
columns: columns,
|
|
208
|
+
rows: rows,
|
|
209
|
+
itemsPerPage: 3
|
|
210
|
+
})),
|
|
211
|
+
getAllByRole = _render2.getAllByRole;
|
|
212
|
+
|
|
213
|
+
expect(getAllByRole("row").length - 1).toEqual(3);
|
|
214
|
+
});
|
|
215
|
+
test("Resultsettable shows rows on second page", function () {
|
|
216
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
217
|
+
columns: columns,
|
|
218
|
+
rows: rows,
|
|
219
|
+
itemsPerPage: 3
|
|
220
|
+
})),
|
|
221
|
+
getByText = _render3.getByText,
|
|
222
|
+
getAllByRole = _render3.getAllByRole;
|
|
223
|
+
|
|
224
|
+
expect(getByText("Peter")).toBeTruthy();
|
|
225
|
+
expect(getByText("Louis")).toBeTruthy();
|
|
226
|
+
expect(getByText("Lana")).toBeTruthy();
|
|
227
|
+
expect(getAllByRole("row").length - 1).toEqual(3);
|
|
228
|
+
var nextButton = getAllByRole("button")[2];
|
|
229
|
+
|
|
230
|
+
_react2.fireEvent.click(nextButton);
|
|
231
|
+
|
|
232
|
+
expect(getByText("4 to 6 of 10")).toBeTruthy(); // expect(getByText("Page: 2 of 4")).toBeTruthy();
|
|
233
|
+
|
|
234
|
+
expect(getByText("Rick")).toBeTruthy();
|
|
235
|
+
expect(getByText("Mark")).toBeTruthy();
|
|
236
|
+
expect(getByText("Cris")).toBeTruthy();
|
|
237
|
+
expect(getAllByRole("row").length - 1).toEqual(3);
|
|
238
|
+
});
|
|
239
|
+
test("Resultsettable goToPage works as expected", function () {
|
|
240
|
+
window.HTMLElement.prototype.scrollIntoView = function () {};
|
|
241
|
+
|
|
242
|
+
window.HTMLElement.prototype.scrollTo = function () {};
|
|
243
|
+
|
|
244
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
245
|
+
columns: columns,
|
|
246
|
+
showGoToPage: true,
|
|
247
|
+
rows: rows,
|
|
248
|
+
itemsPerPage: 3
|
|
249
|
+
})),
|
|
250
|
+
getByText = _render4.getByText,
|
|
251
|
+
getAllByRole = _render4.getAllByRole,
|
|
252
|
+
getByRole = _render4.getByRole;
|
|
253
|
+
|
|
254
|
+
expect(getByText("Peter")).toBeTruthy();
|
|
255
|
+
expect(getByText("Louis")).toBeTruthy();
|
|
256
|
+
expect(getByText("Lana")).toBeTruthy();
|
|
257
|
+
expect(getAllByRole("row").length - 1).toEqual(3);
|
|
258
|
+
var goToPageSelect = getAllByRole("button")[2];
|
|
259
|
+
(0, _react2.act)(function () {
|
|
260
|
+
_userEvent["default"].click(goToPageSelect);
|
|
261
|
+
});
|
|
262
|
+
var goToPageOption = getByText("2");
|
|
263
|
+
(0, _react2.act)(function () {
|
|
264
|
+
_userEvent["default"].click(goToPageOption);
|
|
265
|
+
});
|
|
266
|
+
expect(getByText("4 to 6 of 10")).toBeTruthy();
|
|
267
|
+
expect(getByText("Rick")).toBeTruthy();
|
|
268
|
+
expect(getByText("Mark")).toBeTruthy();
|
|
269
|
+
expect(getByText("Cris")).toBeTruthy();
|
|
270
|
+
expect(getAllByRole("row").length - 1).toEqual(3);
|
|
271
|
+
});
|
|
272
|
+
test("Resultsettable going to the last page shows only one row", function () {
|
|
273
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
274
|
+
columns: columns,
|
|
275
|
+
rows: rows,
|
|
276
|
+
itemsPerPage: 3
|
|
277
|
+
})),
|
|
278
|
+
getByText = _render5.getByText,
|
|
279
|
+
getAllByRole = _render5.getAllByRole;
|
|
280
|
+
|
|
281
|
+
var lastButton = getAllByRole("button")[3];
|
|
282
|
+
|
|
283
|
+
_react2.fireEvent.click(lastButton);
|
|
284
|
+
|
|
285
|
+
expect(getByText("10 to 10 of 10")).toBeTruthy();
|
|
286
|
+
expect(getAllByRole("row")).toHaveLength(2);
|
|
287
|
+
expect(getByText("Cosmin")).toBeTruthy();
|
|
288
|
+
});
|
|
289
|
+
test("Resultsettable sort rows by column", function () {
|
|
290
|
+
var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
291
|
+
columns: columns,
|
|
292
|
+
rows: rows,
|
|
293
|
+
itemsPerPage: 3
|
|
294
|
+
}));
|
|
295
|
+
expect(component.queryByText("Peter")).toBeTruthy();
|
|
296
|
+
|
|
297
|
+
_react2.fireEvent.click(component.queryByText("Name"));
|
|
298
|
+
|
|
299
|
+
expect(component.queryByText("Tina")).not.toBeTruthy();
|
|
300
|
+
expect(component.queryByText("Cosmin")).toBeTruthy();
|
|
301
|
+
|
|
302
|
+
_react2.fireEvent.click(component.queryByText("Name"));
|
|
303
|
+
|
|
304
|
+
expect(component.queryByText("Tina")).toBeTruthy();
|
|
305
|
+
expect(component.queryByText("Cosmin")).not.toBeTruthy();
|
|
306
|
+
});
|
|
307
|
+
test("Resultsettable change rows should go to first page", function () {
|
|
308
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
309
|
+
columns: columns,
|
|
310
|
+
rows: rows,
|
|
311
|
+
itemsPerPage: 3
|
|
312
|
+
})),
|
|
313
|
+
queryByText = _render6.queryByText,
|
|
314
|
+
rerender = _render6.rerender;
|
|
315
|
+
|
|
316
|
+
expect(queryByText("Peter")).toBeTruthy();
|
|
317
|
+
rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
318
|
+
columns: columns,
|
|
319
|
+
rows: rows2,
|
|
320
|
+
itemsPerPage: 3
|
|
321
|
+
}));
|
|
322
|
+
expect(queryByText("1 to 3 of 3")).toBeTruthy();
|
|
323
|
+
});
|
|
324
|
+
test("Resultsettable change itemsPerPage should go to first page", function () {
|
|
325
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
326
|
+
columns: columns,
|
|
327
|
+
rows: rows,
|
|
328
|
+
itemsPerPage: 3,
|
|
329
|
+
itemsPerPageOptions: [2, 3]
|
|
330
|
+
})),
|
|
331
|
+
getAllByRole = _render7.getAllByRole,
|
|
332
|
+
queryByText = _render7.queryByText,
|
|
333
|
+
rerender = _render7.rerender;
|
|
334
|
+
|
|
335
|
+
var lastButton = getAllByRole("button")[3];
|
|
336
|
+
|
|
337
|
+
_react2.fireEvent.click(lastButton);
|
|
338
|
+
|
|
339
|
+
expect(getAllByRole("row").length - 1).toEqual(1);
|
|
340
|
+
rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
|
|
341
|
+
columns: columns,
|
|
342
|
+
rows: rows,
|
|
343
|
+
itemsPerPage: 6
|
|
344
|
+
}));
|
|
345
|
+
expect(getAllByRole("row").length - 1).toEqual(6);
|
|
346
|
+
expect(queryByText("Peter")).toBeTruthy();
|
|
347
|
+
});
|
|
348
|
+
});
|
package/select/Icons.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var selectIcons = {
|
|
13
|
+
error: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
14
|
+
role: "img",
|
|
15
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
16
|
+
height: "24px",
|
|
17
|
+
viewBox: "0 0 24 24",
|
|
18
|
+
width: "24px",
|
|
19
|
+
fill: "currentColor"
|
|
20
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
21
|
+
d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
|
|
22
|
+
})),
|
|
23
|
+
arrowUp: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
24
|
+
role: "img",
|
|
25
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
26
|
+
height: "24px",
|
|
27
|
+
viewBox: "0 0 24 24",
|
|
28
|
+
width: "24px",
|
|
29
|
+
fill: "currentColor"
|
|
30
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
31
|
+
d: "M0 0h24v24H0V0z",
|
|
32
|
+
fill: "none"
|
|
33
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
34
|
+
d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
|
|
35
|
+
})),
|
|
36
|
+
arrowDown: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
37
|
+
role: "img",
|
|
38
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
39
|
+
height: "24px",
|
|
40
|
+
viewBox: "0 0 24 24",
|
|
41
|
+
width: "24px",
|
|
42
|
+
fill: "currentColor"
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
44
|
+
d: "M0 0h24v24H0V0z",
|
|
45
|
+
fill: "none"
|
|
46
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
47
|
+
d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
|
|
48
|
+
})),
|
|
49
|
+
clear: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
50
|
+
role: "img",
|
|
51
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
52
|
+
width: "24",
|
|
53
|
+
height: "24",
|
|
54
|
+
viewBox: "0 0 24 24",
|
|
55
|
+
fill: "currentColor"
|
|
56
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
57
|
+
d: "M0 0h24v24H0V0z",
|
|
58
|
+
fill: "none"
|
|
59
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
60
|
+
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
61
|
+
})),
|
|
62
|
+
selected: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
63
|
+
role: "img",
|
|
64
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
65
|
+
height: "24px",
|
|
66
|
+
viewBox: "0 0 24 24",
|
|
67
|
+
width: "24px",
|
|
68
|
+
fill: "currentColor"
|
|
69
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
70
|
+
d: "M0 0h24v24H0z",
|
|
71
|
+
fill: "none"
|
|
72
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
73
|
+
d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
|
|
74
|
+
})),
|
|
75
|
+
searchOff: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
76
|
+
role: "img",
|
|
77
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
78
|
+
height: "24px",
|
|
79
|
+
viewBox: "0 0 24 24",
|
|
80
|
+
width: "24px",
|
|
81
|
+
fill: "currentColor"
|
|
82
|
+
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
83
|
+
fill: "none",
|
|
84
|
+
height: "24",
|
|
85
|
+
width: "24"
|
|
86
|
+
})), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
87
|
+
d: "M15.5,14h-0.79l-0.28-0.27C15.41,12.59,16,11.11,16,9.5C16,5.91,13.09,3,9.5,3C6.08,3,3.28,5.64,3.03,9h2.02 C5.3,6.75,7.18,5,9.5,5C11.99,5,14,7.01,14,9.5S11.99,14,9.5,14c-0.17,0-0.33-0.03-0.5-0.05v2.02C9.17,15.99,9.33,16,9.5,16 c1.61,0,3.09-0.59,4.23-1.57L14,14.71v0.79l5,4.99L20.49,19L15.5,14z"
|
|
88
|
+
}), /*#__PURE__*/_react["default"].createElement("polygon", {
|
|
89
|
+
points: "6.47,10.82 4,13.29 1.53,10.82 0.82,11.53 3.29,14 0.82,16.47 1.53,17.18 4,14.71 6.47,17.18 7.18,16.47 4.71,14 7.18,11.53"
|
|
90
|
+
}))))
|
|
91
|
+
};
|
|
92
|
+
var _default = selectIcons;
|
|
93
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ListboxProps } from "./types";
|
|
3
|
+
declare const _default: React.MemoExoticComponent<({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, getSelectWidth, }: ListboxProps) => JSX.Element>;
|
|
4
|
+
export default _default;
|