@dxc-technology/halstack-react 0.0.0-dfcca07 → 0.0.0-dfd09f9
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/ThemeContext.d.ts +10 -0
- package/ThemeContext.js +26 -29
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +13 -45
- 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 +14 -16
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.js +2 -2
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +1 -1
- package/badge/types.d.ts +4 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +2 -2
- package/box/Box.test.js +18 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +11 -19
- package/button/Button.stories.tsx +6 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +3 -7
- package/card/Card.js +1 -1
- 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 +33 -32
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +10 -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 +59 -265
- package/date-input/DateInput.js +54 -46
- 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 +8 -35
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +13 -35
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +5 -14
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +148 -69
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +3 -3
- package/file-input/types.d.ts +32 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +28 -111
- 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 +3 -3
- package/footer/types.d.ts +5 -9
- package/header/Header.js +22 -46
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- 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 +84 -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 +10 -0
- package/layout/ApplicationLayout.js +14 -31
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.js +8 -16
- package/link/Link.stories.tsx +6 -1
- package/link/Link.test.js +91 -0
- package/link/types.d.ts +5 -9
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +11 -8
- package/main.js +62 -38
- 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 +16 -9
- package/package.json +6 -3
- package/paginator/Paginator.js +2 -8
- package/paginator/Paginator.test.js +266 -0
- package/password-input/PasswordInput.js +15 -16
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +13 -10
- package/progress-bar/ProgressBar.js +4 -4
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +64 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.js +2 -2
- package/radio/Radio.test.js +71 -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 +280 -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 +6 -3
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/resultsetTable/types.d.ts +1 -1
- package/row/Row.d.ts +3 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- package/row/types.d.ts +28 -0
- package/row/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 +148 -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 +107 -317
- package/select/Select.stories.tsx +91 -81
- package/select/Select.test.js +2057 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.js +2 -2
- package/sidenav/Sidenav.stories.tsx +18 -1
- package/sidenav/Sidenav.test.js +56 -0
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +4 -3
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +21 -8
- package/switch/Switch.stories.tsx +7 -7
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +4 -0
- 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 +8 -11
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +27 -15
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +16 -23
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/TextInput.js +46 -36
- package/text-input/TextInput.stories.tsx +34 -16
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +18 -11
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +26 -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 +15 -17
- 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/useTheme.d.ts +2 -0
- package/useTheme.js +1 -1
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +81 -22
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +13 -23
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +8 -8
- 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/select/index.d.ts +0 -131
- 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,213 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Margin = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type SVG = React.SVGProps<SVGSVGElement>;
|
|
10
|
+
declare type OptionGroup = {
|
|
11
|
+
/**
|
|
12
|
+
* Label of the group to be shown in the select's listbox.
|
|
13
|
+
*/
|
|
14
|
+
label: string;
|
|
15
|
+
/**
|
|
16
|
+
* List of the grouped options.
|
|
17
|
+
*/
|
|
18
|
+
options: Option[];
|
|
19
|
+
};
|
|
20
|
+
declare type Option = {
|
|
21
|
+
/**
|
|
22
|
+
* Element used as the icon that will be placed before the option label.
|
|
23
|
+
* It can be a url of an image or an inline SVG. If the url option
|
|
24
|
+
* is the chosen one, take into account that the component's
|
|
25
|
+
* color styling tokens will not be applied to the image.
|
|
26
|
+
*/
|
|
27
|
+
icon?: string | SVG;
|
|
28
|
+
/**
|
|
29
|
+
* Label of the option to be shown in the select's listbox.
|
|
30
|
+
*/
|
|
31
|
+
label: string;
|
|
32
|
+
/**
|
|
33
|
+
* Value of the option. It should be unique and
|
|
34
|
+
* not an empty string, which is reserved to the empty option added
|
|
35
|
+
* by optional prop.
|
|
36
|
+
*/
|
|
37
|
+
value: string;
|
|
38
|
+
};
|
|
39
|
+
declare type CommonProps = {
|
|
40
|
+
/**
|
|
41
|
+
* Text to be placed above the select.
|
|
42
|
+
*/
|
|
43
|
+
label?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Name attribute of the input element. This attribute will allow users
|
|
46
|
+
* to find the component's value during the submit event. In this event,
|
|
47
|
+
* the component's value will always be a regular string, for both single
|
|
48
|
+
* and multiple selection modes, been in the first one a single option
|
|
49
|
+
* value and in the multiple variant more than one option value,
|
|
50
|
+
* separated by commas.
|
|
51
|
+
*/
|
|
52
|
+
name?: string;
|
|
53
|
+
/**
|
|
54
|
+
* An array of objects representing the selectable options.
|
|
55
|
+
*/
|
|
56
|
+
options: Option[] | OptionGroup[];
|
|
57
|
+
/**
|
|
58
|
+
* Helper text to be placed above the select.
|
|
59
|
+
*/
|
|
60
|
+
helperText?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Text to be put as placeholder of the select.
|
|
63
|
+
*/
|
|
64
|
+
placeholder?: string;
|
|
65
|
+
/**
|
|
66
|
+
* If true, the component will be disabled.
|
|
67
|
+
*/
|
|
68
|
+
disabled?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* If true, the select will be optional, showing '(Optional)'
|
|
71
|
+
* next to the label and adding a default first option with an empty string as value,
|
|
72
|
+
* been the placeholder (if defined) its label. Otherwise, the field will be
|
|
73
|
+
* considered required and an error will be passed as a parameter to the
|
|
74
|
+
* OnBlur and onChange functions if an option wasn't selected.
|
|
75
|
+
*/
|
|
76
|
+
optional?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* If true, enables search functionality.
|
|
79
|
+
*/
|
|
80
|
+
searchable?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* If it is a defined value and also a truthy string, the component will
|
|
83
|
+
* change its appearance, showing the error below the select component.
|
|
84
|
+
* If the defined value is an empty string, it will reserve a space below
|
|
85
|
+
* the component for a future error, but it would not change its look. In
|
|
86
|
+
* case of being undefined or null, both the appearance and the space for
|
|
87
|
+
* the error message would not be modified.
|
|
88
|
+
*/
|
|
89
|
+
error?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
92
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
93
|
+
*/
|
|
94
|
+
margin?: Space | Margin;
|
|
95
|
+
/**
|
|
96
|
+
* Size of the component.
|
|
97
|
+
*/
|
|
98
|
+
size?: "small" | "medium" | "large" | "fillParent";
|
|
99
|
+
/**
|
|
100
|
+
* Value of the tabindex attribute.
|
|
101
|
+
*/
|
|
102
|
+
tabIndex?: number;
|
|
103
|
+
};
|
|
104
|
+
declare type SingleSelect = CommonProps & {
|
|
105
|
+
/**
|
|
106
|
+
* If true, the select component will support multiple selected options.
|
|
107
|
+
* In that case, value will be an array of strings with each selected
|
|
108
|
+
* option value.
|
|
109
|
+
*/
|
|
110
|
+
multiple?: false;
|
|
111
|
+
/**
|
|
112
|
+
* Initial value of the select, only when it is uncontrolled.
|
|
113
|
+
*/
|
|
114
|
+
defaultValue?: string;
|
|
115
|
+
/**
|
|
116
|
+
* Value of the select. If undefined, the component will be uncontrolled
|
|
117
|
+
* and the value will be managed internally by the component.
|
|
118
|
+
*/
|
|
119
|
+
value?: string;
|
|
120
|
+
/**
|
|
121
|
+
* This function will be called when the user selects an option.
|
|
122
|
+
* An object including the current value and the error (if the value entered is not valid)
|
|
123
|
+
* will be passed to this function. If there is no error, error will not be defined.
|
|
124
|
+
*/
|
|
125
|
+
onChange?: (val: {
|
|
126
|
+
value: string;
|
|
127
|
+
error?: string;
|
|
128
|
+
}) => void;
|
|
129
|
+
/**
|
|
130
|
+
* This function will be called when the select loses the focus. An
|
|
131
|
+
* object including the value and the error (if the value
|
|
132
|
+
* selected is not valid) will be passed to this function. If there is no error,
|
|
133
|
+
* error will not be defined.
|
|
134
|
+
*/
|
|
135
|
+
onBlur?: (val: {
|
|
136
|
+
value: string;
|
|
137
|
+
error?: string;
|
|
138
|
+
}) => void;
|
|
139
|
+
};
|
|
140
|
+
declare type MultipleSelect = CommonProps & {
|
|
141
|
+
/**
|
|
142
|
+
* If true, the select component will support multiple selected options.
|
|
143
|
+
* In that case, value will be an array of strings with each selected
|
|
144
|
+
* option value.
|
|
145
|
+
*/
|
|
146
|
+
multiple: true;
|
|
147
|
+
/**
|
|
148
|
+
* Initial value of the select, only when it is uncontrolled.
|
|
149
|
+
*/
|
|
150
|
+
defaultValue?: string[];
|
|
151
|
+
/**
|
|
152
|
+
* Value of the select. If undefined, the component will be uncontrolled
|
|
153
|
+
* and the value will be managed internally by the component.
|
|
154
|
+
*/
|
|
155
|
+
value?: string[];
|
|
156
|
+
/**
|
|
157
|
+
* This function will be called when the user selects an option.
|
|
158
|
+
* An object including the current selected values and the error (if the value entered is not valid)
|
|
159
|
+
* will be passed to this function. If there is no error, error will be null.
|
|
160
|
+
*/
|
|
161
|
+
onChange?: (val: {
|
|
162
|
+
value: string[];
|
|
163
|
+
error?: string;
|
|
164
|
+
}) => void;
|
|
165
|
+
/**
|
|
166
|
+
* This function will be called when the select loses the focus. An
|
|
167
|
+
* object including the selected values and the error (if the value
|
|
168
|
+
* selected is not valid) will be passed to this function. If there is no error,
|
|
169
|
+
* error will be null.
|
|
170
|
+
*/
|
|
171
|
+
onBlur?: (val: {
|
|
172
|
+
value: string[];
|
|
173
|
+
error?: string;
|
|
174
|
+
}) => void;
|
|
175
|
+
};
|
|
176
|
+
declare type Props = SingleSelect | MultipleSelect;
|
|
177
|
+
/**
|
|
178
|
+
* Single option of the select component.
|
|
179
|
+
*/
|
|
180
|
+
export declare type OptionProps = {
|
|
181
|
+
id: string;
|
|
182
|
+
option: Option;
|
|
183
|
+
onClick: (option: Option) => void;
|
|
184
|
+
multiple: boolean;
|
|
185
|
+
visualFocused: boolean;
|
|
186
|
+
isGroupedOption?: boolean;
|
|
187
|
+
isLastOption: boolean;
|
|
188
|
+
isSelected: boolean;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Listbox from the select component.
|
|
192
|
+
*/
|
|
193
|
+
export declare type ListboxProps = {
|
|
194
|
+
id: string;
|
|
195
|
+
currentValue: string | string[];
|
|
196
|
+
options: Option[] | OptionGroup[];
|
|
197
|
+
visualFocusIndex: number;
|
|
198
|
+
lastOptionIndex: number;
|
|
199
|
+
multiple: boolean;
|
|
200
|
+
optional: boolean;
|
|
201
|
+
optionalItem: Option;
|
|
202
|
+
searchable: boolean;
|
|
203
|
+
handleOptionOnClick: (option: Option) => void;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Reference to the listbox component.
|
|
207
|
+
*/
|
|
208
|
+
export declare type ListboxRefType = HTMLUListElement;
|
|
209
|
+
/**
|
|
210
|
+
* Reference to the select component.
|
|
211
|
+
*/
|
|
212
|
+
export declare type RefType = HTMLDivElement;
|
|
213
|
+
export default Props;
|
package/select/types.js
ADDED
package/sidenav/Sidenav.js
CHANGED
|
@@ -17,9 +17,9 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
17
17
|
|
|
18
18
|
var _variables = require("../common/variables.js");
|
|
19
19
|
|
|
20
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
20
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
21
21
|
|
|
22
|
-
var _BackgroundColorContext = require("../BackgroundColorContext
|
|
22
|
+
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
23
23
|
|
|
24
24
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
25
25
|
|
|
@@ -143,7 +143,24 @@ export const Chromatic = () => (
|
|
|
143
143
|
gravida enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare,
|
|
144
144
|
malesuada urna eu, fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam
|
|
145
145
|
sit amet maximus augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo.
|
|
146
|
-
Praesent quis nunc dignissim, pharetra neque molestie, molestie lectus.
|
|
146
|
+
Praesent quis nunc dignissim, pharetra neque molestie, molestie lectus. Lorem ipsum dolor sit amet,
|
|
147
|
+
consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna, placerat sit amet felis
|
|
148
|
+
eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec congue
|
|
149
|
+
laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus tincidunt. Vestibulum
|
|
150
|
+
cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus eros aliquam erat, ut
|
|
151
|
+
efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida enim. Donec rhoncus
|
|
152
|
+
aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu, fringilla mauris.
|
|
153
|
+
Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus augue. Vivamus erat
|
|
154
|
+
sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc dignissim, pharetra
|
|
155
|
+
neque molestie, molestie lectus.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas
|
|
156
|
+
luctus porttitor. Donec massa magna, placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum
|
|
157
|
+
dolor sit amet, consectetur adipiscing elit. Donec congue laoreet orci, nec elementum dolor consequat quis.
|
|
158
|
+
Curabitur rhoncus justo sed dapibus tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna
|
|
159
|
+
ullamcorper facilisis Jia Le, risus eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo,
|
|
160
|
+
dignissim sit amet dolor ut, congue gravida enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae.
|
|
161
|
+
Nunc sit amet elit ornare, malesuada urna eu, fringilla mauris. Vivamus bibendum turpis est, id elementum
|
|
162
|
+
purus euismod sit amet. Etiam sit amet maximus augue. Vivamus erat sapien, ultricies fringilla tellus id,
|
|
163
|
+
condimentum blandit justo. Praesent quis nunc dignissim, pharetra neque molestie, molestie lectus.
|
|
147
164
|
</p>
|
|
148
165
|
</DxcSidenav>
|
|
149
166
|
</StyledContainer>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Sidenav = _interopRequireDefault(require("./Sidenav"));
|
|
10
|
+
|
|
11
|
+
var navContent = /*#__PURE__*/_react["default"].createElement("p", null, "nav-content-test");
|
|
12
|
+
|
|
13
|
+
describe("Sidenav component tests", function () {
|
|
14
|
+
test("Sidenav renders nav content", function () {
|
|
15
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, navContent)),
|
|
16
|
+
getByText = _render.getByText;
|
|
17
|
+
|
|
18
|
+
expect(getByText("nav-content-test")).toBeTruthy();
|
|
19
|
+
});
|
|
20
|
+
test("Sidenav renders nav and page content in mobile version", function () {
|
|
21
|
+
//425 is mobile width
|
|
22
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
23
|
+
configurable: true,
|
|
24
|
+
value: 425
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, navContent)),
|
|
28
|
+
getByText = _render2.getByText;
|
|
29
|
+
|
|
30
|
+
expect(getByText("nav-content-test")).toBeTruthy();
|
|
31
|
+
});
|
|
32
|
+
test("Sidenav renders compound components", function () {
|
|
33
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Title, null, "test-title"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Subtitle, null, "test-subtitle"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
34
|
+
href: "#"
|
|
35
|
+
}, "test-link"))),
|
|
36
|
+
getByText = _render3.getByText;
|
|
37
|
+
|
|
38
|
+
expect(getByText("test-title")).toBeTruthy();
|
|
39
|
+
expect(getByText("test-subtitle")).toBeTruthy();
|
|
40
|
+
expect(getByText("test-link")).toBeTruthy();
|
|
41
|
+
});
|
|
42
|
+
test("Sidenav link onClick", function () {
|
|
43
|
+
var onClick = jest.fn();
|
|
44
|
+
|
|
45
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
46
|
+
onClick: onClick
|
|
47
|
+
}, "test-link"))),
|
|
48
|
+
getByText = _render4.getByText;
|
|
49
|
+
|
|
50
|
+
var link = getByText("test-link");
|
|
51
|
+
|
|
52
|
+
_react2.fireEvent.click(link);
|
|
53
|
+
|
|
54
|
+
expect(onClick).toHaveBeenCalled();
|
|
55
|
+
});
|
|
56
|
+
});
|
package/slider/Slider.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import SliderPropsType from "./types";
|
|
3
|
-
declare const DxcSlider: ({ label, name, value, helperText, minValue, maxValue, step, showLimitsValues, showInput, disabled, marks, onChange, onDragEnd, labelFormatCallback, margin, size, }: SliderPropsType) => JSX.Element;
|
|
3
|
+
declare const DxcSlider: ({ label, name, defaultValue, value, helperText, minValue, maxValue, step, showLimitsValues, showInput, disabled, marks, onChange, onDragEnd, labelFormatCallback, margin, size, }: SliderPropsType) => JSX.Element;
|
|
4
4
|
export default DxcSlider;
|
package/slider/Slider.js
CHANGED
|
@@ -27,9 +27,9 @@ var _variables = require("../common/variables.js");
|
|
|
27
27
|
|
|
28
28
|
var _utils = require("../common/utils.js");
|
|
29
29
|
|
|
30
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
31
31
|
|
|
32
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext
|
|
32
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
33
33
|
|
|
34
34
|
var _uuid = require("uuid");
|
|
35
35
|
|
|
@@ -44,6 +44,7 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
44
44
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
45
45
|
_ref$name = _ref.name,
|
|
46
46
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
47
|
+
defaultValue = _ref.defaultValue,
|
|
47
48
|
value = _ref.value,
|
|
48
49
|
_ref$helperText = _ref.helperText,
|
|
49
50
|
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
@@ -68,7 +69,7 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
68
69
|
_ref$size = _ref.size,
|
|
69
70
|
size = _ref$size === void 0 ? "fillParent" : _ref$size;
|
|
70
71
|
|
|
71
|
-
var _useState = (0, _react.useState)(0),
|
|
72
|
+
var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
|
|
72
73
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
73
74
|
innerValue = _useState2[0],
|
|
74
75
|
setInnerValue = _useState2[1];
|
|
@@ -37,7 +37,7 @@ export const Chromatic = () => (
|
|
|
37
37
|
label="Slider"
|
|
38
38
|
helperText="Help message"
|
|
39
39
|
disabled
|
|
40
|
-
|
|
40
|
+
defaultValue={40}
|
|
41
41
|
minValue={0}
|
|
42
42
|
maxValue={50}
|
|
43
43
|
showLimitsValues
|
|
@@ -49,16 +49,16 @@ export const Chromatic = () => (
|
|
|
49
49
|
<Title title="Variants" theme="light" level={2} />
|
|
50
50
|
<ExampleContainer>
|
|
51
51
|
<Title title="Continuous slider" theme="light" level={4} />
|
|
52
|
-
<DxcSlider
|
|
52
|
+
<DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
|
|
53
53
|
</ExampleContainer>
|
|
54
54
|
<ExampleContainer>
|
|
55
55
|
<Title title="Discrete slider" theme="light" level={4} />
|
|
56
|
-
<DxcSlider
|
|
56
|
+
<DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
|
|
57
57
|
</ExampleContainer>
|
|
58
58
|
<ExampleContainer>
|
|
59
59
|
<Title title="Discrete slider with input" theme="light" level={4} />
|
|
60
60
|
<DxcSlider
|
|
61
|
-
|
|
61
|
+
defaultValue={20}
|
|
62
62
|
minValue={0}
|
|
63
63
|
maxValue={50}
|
|
64
64
|
label="Slider"
|
|
@@ -94,7 +94,7 @@ export const Chromatic = () => (
|
|
|
94
94
|
label="Slider"
|
|
95
95
|
helperText="Help message"
|
|
96
96
|
disabled
|
|
97
|
-
|
|
97
|
+
defaultValue={40}
|
|
98
98
|
minValue={0}
|
|
99
99
|
maxValue={50}
|
|
100
100
|
showLimitsValues
|
|
@@ -105,16 +105,16 @@ export const Chromatic = () => (
|
|
|
105
105
|
</ExampleContainer>
|
|
106
106
|
<ExampleContainer>
|
|
107
107
|
<Title title="Continuous slider" theme="dark" level={4} />
|
|
108
|
-
<DxcSlider
|
|
108
|
+
<DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
|
|
109
109
|
</ExampleContainer>
|
|
110
110
|
<ExampleContainer>
|
|
111
111
|
<Title title="Discrete slider" theme="dark" level={4} />
|
|
112
|
-
<DxcSlider
|
|
112
|
+
<DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
|
|
113
113
|
</ExampleContainer>
|
|
114
114
|
<ExampleContainer>
|
|
115
115
|
<Title title="Discrete slider with input" theme="dark" level={4} />
|
|
116
116
|
<DxcSlider
|
|
117
|
-
|
|
117
|
+
defaultValue={20}
|
|
118
118
|
minValue={0}
|
|
119
119
|
maxValue={50}
|
|
120
120
|
label="Slider"
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Slider = _interopRequireDefault(require("./Slider"));
|
|
10
|
+
|
|
11
|
+
describe("Slider component tests", function () {
|
|
12
|
+
test("Slider renders with correct text", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
14
|
+
minValue: 0,
|
|
15
|
+
maxValue: 100,
|
|
16
|
+
showLimitsValues: true
|
|
17
|
+
})),
|
|
18
|
+
getByText = _render.getByText;
|
|
19
|
+
|
|
20
|
+
expect(getByText("0")).toBeTruthy();
|
|
21
|
+
expect(getByText("100")).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
test("Slider renders with correct initial value when it is uncontrolled", function () {
|
|
24
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
25
|
+
defaultValue: 30,
|
|
26
|
+
minValue: 0,
|
|
27
|
+
maxValue: 100,
|
|
28
|
+
showLimitsValues: true,
|
|
29
|
+
showInput: true
|
|
30
|
+
})),
|
|
31
|
+
getByRole = _render2.getByRole;
|
|
32
|
+
|
|
33
|
+
var slider = getByRole("slider");
|
|
34
|
+
var input = getByRole("textbox");
|
|
35
|
+
expect(slider.getAttribute("aria-valuenow")).toBe("30");
|
|
36
|
+
expect(input.value).toBe("30");
|
|
37
|
+
});
|
|
38
|
+
test("Calls correct function onChange in controlled slider", function () {
|
|
39
|
+
var onChange = jest.fn();
|
|
40
|
+
|
|
41
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
42
|
+
minValue: 0,
|
|
43
|
+
maxValue: 100,
|
|
44
|
+
onChange: onChange,
|
|
45
|
+
showLimitsValues: true,
|
|
46
|
+
value: 13,
|
|
47
|
+
showInput: true
|
|
48
|
+
})),
|
|
49
|
+
getByRole = _render3.getByRole;
|
|
50
|
+
|
|
51
|
+
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
|
|
52
|
+
expect(getByRole("textbox").value).toBe("13");
|
|
53
|
+
(0, _react2.act)(function () {
|
|
54
|
+
_react2.fireEvent.change(getByRole("textbox"), {
|
|
55
|
+
target: {
|
|
56
|
+
value: 25
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
expect(onChange).toHaveBeenCalledWith(25);
|
|
61
|
+
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
|
|
62
|
+
expect(getByRole("textbox").value).toBe("13");
|
|
63
|
+
});
|
|
64
|
+
test("Calls correct function onChange in uncontrolled slider", function () {
|
|
65
|
+
var onChange = jest.fn();
|
|
66
|
+
|
|
67
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
68
|
+
minValue: 0,
|
|
69
|
+
maxValue: 100,
|
|
70
|
+
onChange: onChange,
|
|
71
|
+
showLimitsValues: true,
|
|
72
|
+
showInput: true
|
|
73
|
+
})),
|
|
74
|
+
getByRole = _render4.getByRole;
|
|
75
|
+
|
|
76
|
+
(0, _react2.act)(function () {
|
|
77
|
+
_react2.fireEvent.change(getByRole("textbox"), {
|
|
78
|
+
target: {
|
|
79
|
+
value: 25
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
expect(onChange).toHaveBeenCalledWith(25);
|
|
84
|
+
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("25");
|
|
85
|
+
expect(getByRole("textbox").value).toBe("25");
|
|
86
|
+
});
|
|
87
|
+
test("Disabled slider have disabled input", function () {
|
|
88
|
+
var onChange = jest.fn();
|
|
89
|
+
|
|
90
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
91
|
+
minValue: 0,
|
|
92
|
+
maxValue: 100,
|
|
93
|
+
onChange: onChange,
|
|
94
|
+
showLimitsValues: true,
|
|
95
|
+
disabled: true,
|
|
96
|
+
showInput: true,
|
|
97
|
+
value: 13
|
|
98
|
+
})),
|
|
99
|
+
getByRole = _render5.getByRole;
|
|
100
|
+
|
|
101
|
+
(0, _react2.act)(function () {
|
|
102
|
+
_react2.fireEvent.change(getByRole("textbox"), {
|
|
103
|
+
target: {
|
|
104
|
+
value: 25
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
expect(getByRole("textbox").hasAttribute("disabled")).toBeTruthy();
|
|
109
|
+
expect(getByRole("textbox").value).toBe("13");
|
|
110
|
+
});
|
|
111
|
+
test("Calls correct function onDragEnd", function () {
|
|
112
|
+
var onDragEnd = jest.fn();
|
|
113
|
+
|
|
114
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
115
|
+
minValue: 0,
|
|
116
|
+
maxValue: 100,
|
|
117
|
+
showLimitsValues: true,
|
|
118
|
+
showInput: true,
|
|
119
|
+
onDragEnd: onDragEnd,
|
|
120
|
+
value: 25
|
|
121
|
+
})),
|
|
122
|
+
getByRole = _render6.getByRole;
|
|
123
|
+
|
|
124
|
+
(0, _react2.act)(function () {
|
|
125
|
+
_react2.fireEvent.mouseDown(getByRole("slider"));
|
|
126
|
+
|
|
127
|
+
_react2.fireEvent.mouseUp(getByRole("slider"));
|
|
128
|
+
});
|
|
129
|
+
expect(onDragEnd).toHaveBeenCalled();
|
|
130
|
+
});
|
|
131
|
+
test("Calls correct function labelFormatCallback", function () {
|
|
132
|
+
var labelFormatCallback = jest.fn(function (x) {
|
|
133
|
+
return "".concat(x, "$");
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
137
|
+
minValue: 0,
|
|
138
|
+
maxValue: 100,
|
|
139
|
+
showLimitsValues: true,
|
|
140
|
+
showInput: true,
|
|
141
|
+
value: 25,
|
|
142
|
+
labelFormatCallback: labelFormatCallback
|
|
143
|
+
})),
|
|
144
|
+
getByText = _render7.getByText;
|
|
145
|
+
|
|
146
|
+
expect(getByText("0$")).toBeTruthy();
|
|
147
|
+
expect(getByText("100$")).toBeTruthy();
|
|
148
|
+
expect(labelFormatCallback).toHaveBeenCalledTimes(2);
|
|
149
|
+
});
|
|
150
|
+
});
|
package/slider/types.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ declare type Props = {
|
|
|
14
14
|
* Name attribute of the input element.
|
|
15
15
|
*/
|
|
16
16
|
name?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Initial value of the slider, only when it is uncontrolled.
|
|
19
|
+
*/
|
|
20
|
+
defaultValue?: number;
|
|
17
21
|
/**
|
|
18
22
|
* The selected value. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
19
23
|
*/
|
package/spinner/Spinner.js
CHANGED
|
@@ -19,9 +19,9 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
19
19
|
|
|
20
20
|
var _variables = require("../common/variables.js");
|
|
21
21
|
|
|
22
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
22
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
23
|
|
|
24
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext
|
|
24
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
25
25
|
|
|
26
26
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
27
27
|
|
|
@@ -62,6 +62,7 @@ export const Chromatic = () => (
|
|
|
62
62
|
<DxcSpinner margin="xlarge" mode="small" value="75"></DxcSpinner>
|
|
63
63
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
64
64
|
<DxcSpinner margin="xxlarge" mode="small" value="75"></DxcSpinner>
|
|
65
|
+
<hr />
|
|
65
66
|
</ExampleContainer>
|
|
66
67
|
</>
|
|
67
68
|
);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Spinner = _interopRequireDefault(require("./Spinner"));
|
|
10
|
+
|
|
11
|
+
describe("Spinner component tests", function () {
|
|
12
|
+
test("Spinner renders with correct label", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
14
|
+
label: "test-loading"
|
|
15
|
+
})),
|
|
16
|
+
getByText = _render.getByText;
|
|
17
|
+
|
|
18
|
+
expect(getByText("test-loading")).toBeTruthy();
|
|
19
|
+
});
|
|
20
|
+
test("Spinner shows value correctly", function () {
|
|
21
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
22
|
+
label: "test-loading",
|
|
23
|
+
value: 75,
|
|
24
|
+
showValue: true
|
|
25
|
+
})),
|
|
26
|
+
getByText = _render2.getByText;
|
|
27
|
+
|
|
28
|
+
expect(getByText("75%")).toBeTruthy();
|
|
29
|
+
});
|
|
30
|
+
test("Small spinner hides value and label correctly", function () {
|
|
31
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
32
|
+
mode: "small",
|
|
33
|
+
label: "test-loading",
|
|
34
|
+
value: 75,
|
|
35
|
+
showValue: true
|
|
36
|
+
})),
|
|
37
|
+
queryByText = _render3.queryByText;
|
|
38
|
+
|
|
39
|
+
expect(queryByText("test-loading")).toBeFalsy();
|
|
40
|
+
expect(queryByText("75%")).toBeFalsy();
|
|
41
|
+
});
|
|
42
|
+
test("Overlay spinner shows value and label correctly", function () {
|
|
43
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
44
|
+
mode: "overlay",
|
|
45
|
+
label: "test-loading",
|
|
46
|
+
value: 75,
|
|
47
|
+
showValue: true
|
|
48
|
+
})),
|
|
49
|
+
getByText = _render4.getByText;
|
|
50
|
+
|
|
51
|
+
expect(getByText("test-loading")).toBeTruthy();
|
|
52
|
+
expect(getByText("75%")).toBeTruthy();
|
|
53
|
+
});
|
|
54
|
+
test("Get spinner by role", function () {
|
|
55
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
56
|
+
label: "test-loading",
|
|
57
|
+
value: 75,
|
|
58
|
+
showValue: true
|
|
59
|
+
})),
|
|
60
|
+
getByRole = _render5.getByRole;
|
|
61
|
+
|
|
62
|
+
expect(getByRole("progressbar")).toBeTruthy();
|
|
63
|
+
});
|
|
64
|
+
});
|
package/stack/Stack.d.ts
ADDED