@dxc-technology/halstack-react 0.0.0-de7c6b0 → 0.0.0-dec566a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +52 -139
- package/HalstackContext.js +11 -36
- package/README.md +47 -0
- package/accordion/Accordion.js +31 -84
- package/accordion/Accordion.stories.tsx +5 -50
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +29 -118
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +68 -100
- package/button/Button.stories.tsx +33 -132
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +9 -5
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +85 -120
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +41 -24
- package/common/utils.js +2 -8
- package/common/variables.d.ts +52 -139
- package/common/variables.js +63 -157
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +15 -59
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.js +180 -248
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +356 -354
- package/file-input/FileItem.js +14 -41
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -102
- package/footer/Footer.stories.tsx +37 -6
- package/footer/Footer.test.js +21 -33
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -21
- package/grid/Grid.d.ts +1 -1
- package/grid/Grid.js +2 -17
- package/grid/Grid.stories.tsx +38 -38
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +28 -84
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -8
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +29 -66
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -59
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +7 -5
- package/nav-tabs/NavTabs.test.js +38 -44
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +24 -52
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +859 -412
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +30 -28
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +21 -53
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +17 -27
- package/select/Select.js +87 -163
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1946 -1804
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +29 -70
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +17 -33
- package/tabs/Tabs.js +52 -129
- package/tabs/Tabs.stories.tsx +1 -1
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +221 -327
- package/text-input/TextInput.stories.tsx +49 -153
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +67 -109
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +90 -107
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +49 -136
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +7 -7
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/slider/Slider.test.js
CHANGED
|
@@ -1,26 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
4
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
5
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
5
6
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
8
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
|
-
|
|
11
9
|
var _Slider = _interopRequireDefault(require("./Slider.tsx"));
|
|
12
|
-
|
|
10
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
11
|
+
global.globalThis = global;
|
|
12
|
+
global.DOMRect = {
|
|
13
|
+
fromRect: function fromRect() {
|
|
14
|
+
return {
|
|
15
|
+
top: 0,
|
|
16
|
+
left: 0,
|
|
17
|
+
bottom: 0,
|
|
18
|
+
right: 0,
|
|
19
|
+
width: 0,
|
|
20
|
+
height: 0
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
25
|
+
function ResizeObserver() {
|
|
26
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
27
|
+
}
|
|
28
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
29
|
+
key: "observe",
|
|
30
|
+
value: function observe() {}
|
|
31
|
+
}, {
|
|
32
|
+
key: "unobserve",
|
|
33
|
+
value: function unobserve() {}
|
|
34
|
+
}, {
|
|
35
|
+
key: "disconnect",
|
|
36
|
+
value: function disconnect() {}
|
|
37
|
+
}]);
|
|
38
|
+
return ResizeObserver;
|
|
39
|
+
}();
|
|
13
40
|
describe("Slider component tests", function () {
|
|
14
41
|
test("Slider renders with correct text and label id", function () {
|
|
15
42
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
43
|
+
label: "label",
|
|
44
|
+
minValue: 0,
|
|
45
|
+
maxValue: 100,
|
|
46
|
+
showLimitsValues: true
|
|
47
|
+
})),
|
|
48
|
+
getByText = _render.getByText,
|
|
49
|
+
getByRole = _render.getByRole;
|
|
24
50
|
expect(getByText("0")).toBeTruthy();
|
|
25
51
|
expect(getByText("100")).toBeTruthy();
|
|
26
52
|
var sliderId = getByText("label").getAttribute("id");
|
|
@@ -29,14 +55,13 @@ describe("Slider component tests", function () {
|
|
|
29
55
|
});
|
|
30
56
|
test("Slider renders with correct initial value when it is uncontrolled", function () {
|
|
31
57
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
58
|
+
defaultValue: 30,
|
|
59
|
+
minValue: 0,
|
|
60
|
+
maxValue: 100,
|
|
61
|
+
showLimitsValues: true,
|
|
62
|
+
showInput: true
|
|
63
|
+
})),
|
|
64
|
+
getByRole = _render2.getByRole;
|
|
40
65
|
var slider = getByRole("slider");
|
|
41
66
|
var input = getByRole("textbox");
|
|
42
67
|
expect(slider.getAttribute("aria-valuenow")).toBe("30");
|
|
@@ -44,44 +69,38 @@ describe("Slider component tests", function () {
|
|
|
44
69
|
});
|
|
45
70
|
test("Slider correct limit values", function () {
|
|
46
71
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
72
|
+
defaultValue: 125,
|
|
73
|
+
minValue: 30,
|
|
74
|
+
maxValue: 125,
|
|
75
|
+
showLimitsValues: true
|
|
76
|
+
})),
|
|
77
|
+
getByRole = _render3.getByRole,
|
|
78
|
+
getByText = _render3.getByText;
|
|
55
79
|
var slider = getByRole("slider");
|
|
56
80
|
expect(slider.getAttribute("aria-valuemin")).toBe("30");
|
|
57
81
|
expect(slider.getAttribute("aria-valuemax")).toBe("125");
|
|
58
|
-
|
|
59
82
|
_userEvent["default"].tab();
|
|
60
|
-
|
|
61
83
|
_react2.fireEvent.keyDown(slider, {
|
|
62
84
|
key: "ArrowRight",
|
|
63
85
|
code: "ArrowRight",
|
|
64
86
|
keyCode: 39,
|
|
65
87
|
charCode: 39
|
|
66
88
|
});
|
|
67
|
-
|
|
68
89
|
expect(slider.getAttribute("aria-valuenow")).toBe("125");
|
|
69
90
|
expect(getByText("30")).toBeTruthy();
|
|
70
91
|
expect(getByText("125")).toBeTruthy();
|
|
71
92
|
});
|
|
72
93
|
test("Calls correct function onChange in controlled slider", function () {
|
|
73
94
|
var onChange = jest.fn();
|
|
74
|
-
|
|
75
95
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
96
|
+
minValue: 0,
|
|
97
|
+
maxValue: 100,
|
|
98
|
+
onChange: onChange,
|
|
99
|
+
showLimitsValues: true,
|
|
100
|
+
value: 13,
|
|
101
|
+
showInput: true
|
|
102
|
+
})),
|
|
103
|
+
getByRole = _render4.getByRole;
|
|
85
104
|
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
|
|
86
105
|
expect(getByRole("textbox").value).toBe("13");
|
|
87
106
|
(0, _react2.act)(function () {
|
|
@@ -97,16 +116,14 @@ describe("Slider component tests", function () {
|
|
|
97
116
|
});
|
|
98
117
|
test("Calls correct function onChange in uncontrolled slider", function () {
|
|
99
118
|
var onChange = jest.fn();
|
|
100
|
-
|
|
101
119
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
120
|
+
minValue: 0,
|
|
121
|
+
maxValue: 100,
|
|
122
|
+
onChange: onChange,
|
|
123
|
+
showLimitsValues: true,
|
|
124
|
+
showInput: true
|
|
125
|
+
})),
|
|
126
|
+
getByRole = _render5.getByRole;
|
|
110
127
|
(0, _react2.act)(function () {
|
|
111
128
|
_react2.fireEvent.change(getByRole("textbox"), {
|
|
112
129
|
target: {
|
|
@@ -120,18 +137,16 @@ describe("Slider component tests", function () {
|
|
|
120
137
|
});
|
|
121
138
|
test("Disabled slider have disabled input and slider", function () {
|
|
122
139
|
var onChange = jest.fn();
|
|
123
|
-
|
|
124
140
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
141
|
+
minValue: 0,
|
|
142
|
+
maxValue: 100,
|
|
143
|
+
onChange: onChange,
|
|
144
|
+
showLimitsValues: true,
|
|
145
|
+
disabled: true,
|
|
146
|
+
showInput: true,
|
|
147
|
+
value: 13
|
|
148
|
+
})),
|
|
149
|
+
getByRole = _render6.getByRole;
|
|
135
150
|
(0, _react2.act)(function () {
|
|
136
151
|
_react2.fireEvent.change(getByRole("textbox"), {
|
|
137
152
|
target: {
|
|
@@ -145,15 +160,13 @@ describe("Slider component tests", function () {
|
|
|
145
160
|
});
|
|
146
161
|
test("Calls correct function onDragEnd when it is uncontrolled", function () {
|
|
147
162
|
var onDragEnd = jest.fn();
|
|
148
|
-
|
|
149
163
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
164
|
+
minValue: 0,
|
|
165
|
+
maxValue: 150,
|
|
166
|
+
onDragEnd: onDragEnd,
|
|
167
|
+
showInput: true
|
|
168
|
+
})),
|
|
169
|
+
getByRole = _render7.getByRole;
|
|
157
170
|
var slider = getByRole("slider");
|
|
158
171
|
(0, _react2.act)(function () {
|
|
159
172
|
_react2.fireEvent.mouseDown(slider);
|
|
@@ -169,16 +182,14 @@ describe("Slider component tests", function () {
|
|
|
169
182
|
});
|
|
170
183
|
test("Calls correct function onDragEnd when it is controlled", function () {
|
|
171
184
|
var onDragEnd = jest.fn();
|
|
172
|
-
|
|
173
185
|
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
186
|
+
minValue: 0,
|
|
187
|
+
maxValue: 150,
|
|
188
|
+
value: 50,
|
|
189
|
+
onDragEnd: onDragEnd,
|
|
190
|
+
showInput: true
|
|
191
|
+
})),
|
|
192
|
+
getByRole = _render8.getByRole;
|
|
182
193
|
var slider = getByRole("slider");
|
|
183
194
|
(0, _react2.act)(function () {
|
|
184
195
|
_react2.fireEvent.mouseDown(slider);
|
|
@@ -197,46 +208,39 @@ describe("Slider component tests", function () {
|
|
|
197
208
|
var labelFormatCallback = jest.fn(function (x) {
|
|
198
209
|
return "".concat(x, "$");
|
|
199
210
|
});
|
|
200
|
-
|
|
201
211
|
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
212
|
+
minValue: 0,
|
|
213
|
+
maxValue: 100,
|
|
214
|
+
showLimitsValues: true,
|
|
215
|
+
showInput: true,
|
|
216
|
+
value: 25,
|
|
217
|
+
labelFormatCallback: labelFormatCallback
|
|
218
|
+
})),
|
|
219
|
+
getByText = _render9.getByText;
|
|
211
220
|
expect(getByText("0$")).toBeTruthy();
|
|
212
221
|
expect(getByText("100$")).toBeTruthy();
|
|
213
222
|
expect(labelFormatCallback).toHaveBeenCalledTimes(2);
|
|
214
223
|
});
|
|
215
224
|
test("Change value correctly to 0 from external function", function () {
|
|
216
225
|
var onChange = jest.fn();
|
|
217
|
-
|
|
218
226
|
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
227
|
+
minValue: 0,
|
|
228
|
+
maxValue: 100,
|
|
229
|
+
onChange: onChange,
|
|
230
|
+
showLimitsValues: true,
|
|
231
|
+
value: 13,
|
|
232
|
+
showInput: true
|
|
233
|
+
})),
|
|
234
|
+
rerender = _render10.rerender,
|
|
235
|
+
getByRole = _render10.getByRole;
|
|
229
236
|
var slider = getByRole("slider");
|
|
230
|
-
|
|
231
237
|
_userEvent["default"].tab();
|
|
232
|
-
|
|
233
238
|
_react2.fireEvent.keyDown(slider, {
|
|
234
239
|
key: "ArrowRight",
|
|
235
240
|
code: "ArrowRight",
|
|
236
241
|
keyCode: 39,
|
|
237
242
|
charCode: 39
|
|
238
243
|
});
|
|
239
|
-
|
|
240
244
|
rerender( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
241
245
|
minValue: 0,
|
|
242
246
|
maxValue: 100,
|
package/slider/types.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
|
6
6
|
right?: Space;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
type Props = {
|
|
9
9
|
/**
|
|
10
10
|
* Text to be placed above the slider.
|
|
11
11
|
*/
|
|
@@ -82,5 +82,5 @@ declare type Props = {
|
|
|
82
82
|
/**
|
|
83
83
|
* Reference to the component.
|
|
84
84
|
*/
|
|
85
|
-
export
|
|
85
|
+
export type RefType = HTMLDivElement;
|
|
86
86
|
export default Props;
|
package/spinner/Spinner.js
CHANGED
|
@@ -1,45 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
18
12
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
|
-
|
|
20
13
|
var _variables = require("../common/variables");
|
|
21
|
-
|
|
22
14
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
|
-
|
|
24
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
25
|
-
|
|
26
15
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
-
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
32
18
|
var DxcSpinner = function DxcSpinner(_ref) {
|
|
33
19
|
var _ref$label = _ref.label,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
20
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
21
|
+
value = _ref.value,
|
|
22
|
+
_ref$showValue = _ref.showValue,
|
|
23
|
+
showValue = _ref$showValue === void 0 ? false : _ref$showValue,
|
|
24
|
+
_ref$mode = _ref.mode,
|
|
25
|
+
mode = _ref$mode === void 0 ? "large" : _ref$mode,
|
|
26
|
+
margin = _ref.margin;
|
|
41
27
|
var colorsTheme = (0, _useTheme["default"])();
|
|
42
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
43
28
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
44
29
|
theme: colorsTheme.spinner
|
|
45
30
|
}, /*#__PURE__*/_react["default"].createElement(DXCSpinner, {
|
|
@@ -70,7 +55,6 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
70
55
|
cx: "70",
|
|
71
56
|
cy: "70",
|
|
72
57
|
r: "65",
|
|
73
|
-
backgroundType: backgroundType,
|
|
74
58
|
mode: mode,
|
|
75
59
|
isDeterminated: true,
|
|
76
60
|
value: value
|
|
@@ -81,7 +65,6 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
81
65
|
cx: "8",
|
|
82
66
|
cy: "8",
|
|
83
67
|
r: "6",
|
|
84
|
-
backgroundType: backgroundType,
|
|
85
68
|
mode: mode,
|
|
86
69
|
isDeterminated: true,
|
|
87
70
|
value: value
|
|
@@ -94,7 +77,6 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
94
77
|
cx: "70",
|
|
95
78
|
cy: "70",
|
|
96
79
|
r: "65",
|
|
97
|
-
backgroundType: backgroundType,
|
|
98
80
|
mode: mode,
|
|
99
81
|
isDeterminated: false,
|
|
100
82
|
value: value
|
|
@@ -105,31 +87,24 @@ var DxcSpinner = function DxcSpinner(_ref) {
|
|
|
105
87
|
cx: "8",
|
|
106
88
|
cy: "8",
|
|
107
89
|
r: "6",
|
|
108
|
-
backgroundType: backgroundType,
|
|
109
90
|
mode: mode,
|
|
110
91
|
isDeterminated: false,
|
|
111
92
|
value: value
|
|
112
93
|
}))), mode !== "small" && /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, /*#__PURE__*/_react["default"].createElement(SpinnerLabel, {
|
|
113
|
-
backgroundType: backgroundType,
|
|
114
94
|
mode: mode
|
|
115
95
|
}, label), (value || value === 0) && showValue && /*#__PURE__*/_react["default"].createElement(SpinnerProgress, {
|
|
116
96
|
value: value,
|
|
117
|
-
backgroundType: backgroundType,
|
|
118
97
|
mode: mode,
|
|
119
98
|
showValue: showValue
|
|
120
99
|
}, value, "%")))));
|
|
121
100
|
};
|
|
122
|
-
|
|
123
|
-
var determinatedValue = function determinatedValue(value, strokeDashArray) {
|
|
101
|
+
var determinateValue = function determinateValue(value, strokeDashArray) {
|
|
124
102
|
var val = 0;
|
|
125
|
-
|
|
126
103
|
if (value >= 0 && value <= 100) {
|
|
127
104
|
val = strokeDashArray * (1 - value / 100);
|
|
128
105
|
}
|
|
129
|
-
|
|
130
106
|
return val;
|
|
131
107
|
};
|
|
132
|
-
|
|
133
108
|
var DXCSpinner = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n display: ", ";\n position: ", ";\n top: ", ";\n left: ", ";\n justify-content: ", ";\n align-items: ", ";\n z-index: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
134
109
|
return props.mode === "overlay" ? "100vh" : "";
|
|
135
110
|
}, function (props) {
|
|
@@ -159,23 +134,18 @@ var DXCSpinner = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
159
134
|
}, function (props) {
|
|
160
135
|
return props.mode != "overlay" ? props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "" : "";
|
|
161
136
|
});
|
|
162
|
-
|
|
163
137
|
var SpinnerContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n height: ", ";\n width: ", ";\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n @keyframes spinner-svg {\n 0% {\n transform: rotateZ(0deg);\n }\n 100% {\n transform: rotateZ(360deg);\n }\n }\n @keyframes svg-circle-large {\n 0% {\n stroke-dashoffset: 400;\n transform: rotate(0);\n }\n\n 50% {\n stroke-dashoffset: 75;\n transform: rotate(45deg);\n }\n\n 100% {\n stroke-dashoffset: 400;\n transform: rotate(360deg);\n }\n }\n @keyframes svg-circle-small {\n 0% {\n stroke-dashoffset: 35;\n transform: rotate(0);\n }\n\n 50% {\n stroke-dashoffset: 8;\n transform: rotate(45deg);\n }\n\n 100% {\n stroke-dashoffset: 35;\n transform: rotate(360deg);\n }\n }\n"])), function (props) {
|
|
164
138
|
return props.mode === "small" ? "16px" : "140px";
|
|
165
139
|
}, function (props) {
|
|
166
140
|
return props.mode === "small" ? "16px" : "140px";
|
|
167
141
|
});
|
|
168
|
-
|
|
169
142
|
var BackOverlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100vw;\n height: 100vh;\n opacity: 1;\n transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n position: fixed;\n top: 0;\n left: 0;\n background-color: ", ";\n opacity: ", ";\n"])), function (props) {
|
|
170
143
|
return "".concat(props.theme.overlayBackgroundColor);
|
|
171
144
|
}, function (props) {
|
|
172
145
|
return "".concat(props.theme.overlayOpacity);
|
|
173
146
|
});
|
|
174
|
-
|
|
175
147
|
var BackgroundSpinner = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n"])));
|
|
176
|
-
|
|
177
148
|
var SVGBackground = _styledComponents["default"].svg(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n"])));
|
|
178
|
-
|
|
179
149
|
var CircleBackground = _styledComponents["default"].circle(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n animation: none;\n fill: transparent;\n stroke: ", ";\n stroke-dasharray: ", ";\n stroke-linecap: initial;\n stroke-width: ", ";\n transform-origin: 50% 50%;\n vector-effect: non-scaling-stroke;\n"])), function (props) {
|
|
180
150
|
return "".concat(props.theme.totalCircleColor);
|
|
181
151
|
}, function (props) {
|
|
@@ -183,17 +153,14 @@ var CircleBackground = _styledComponents["default"].circle(_templateObject6 || (
|
|
|
183
153
|
}, function (props) {
|
|
184
154
|
return props.mode !== "small" ? "8.5px" : "2px";
|
|
185
155
|
});
|
|
186
|
-
|
|
187
156
|
var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n"])));
|
|
188
|
-
|
|
189
157
|
var SVGSpinner = _styledComponents["default"].svg(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n transform: rotate(-90deg);\n top: 0;\n left: 0;\n transform-origin: center;\n overflow: visible;\n animation: ", ";\n"])), function (props) {
|
|
190
158
|
return !props.isDeterminated ? "1.4s linear infinite both spinner-svg" : "";
|
|
191
159
|
});
|
|
192
|
-
|
|
193
160
|
var CircleSpinner = _styledComponents["default"].circle(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n fill: transparent;\n stroke-linecap: initial;\n vector-effect: non-scaling-stroke;\n animation: ", ";\n stroke: ", ";\n transform-origin: ", ";\n stroke-dasharray: ", ";\n stroke-width: ", ";\n stroke-dashoffset: ", ";\n"])), function (props) {
|
|
194
161
|
return props.isDeterminated ? "none" : props.mode !== "small" ? "1.4s ease-in-out infinite both svg-circle-large" : "1.4s ease-in-out infinite both svg-circle-small";
|
|
195
162
|
}, function (props) {
|
|
196
|
-
return props.
|
|
163
|
+
return props.mode === "overlay" ? props.theme.trackCircleColorOverlay : props.theme.trackCircleColor;
|
|
197
164
|
}, function (props) {
|
|
198
165
|
return !props.isDeterminated ? "50% 50%" : "";
|
|
199
166
|
}, function (props) {
|
|
@@ -201,11 +168,9 @@ var CircleSpinner = _styledComponents["default"].circle(_templateObject9 || (_te
|
|
|
201
168
|
}, function (props) {
|
|
202
169
|
return props.mode !== "small" ? "8.5px" : "2px";
|
|
203
170
|
}, function (props) {
|
|
204
|
-
return props.isDeterminated ? props.mode !== "small" ?
|
|
171
|
+
return props.isDeterminated ? props.mode !== "small" ? determinateValue(props.value, 409) : determinateValue(props.value, 38) : "";
|
|
205
172
|
});
|
|
206
|
-
|
|
207
173
|
var LabelsContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n margin: 0 auto;\n position: absolute;\n text-align: center;\n width: 110px;\n"])));
|
|
208
|
-
|
|
209
174
|
var SpinnerLabel = _styledComponents["default"].p(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n text-align: ", ";\n letter-spacing: ", ";\n"])), function (props) {
|
|
210
175
|
return props.mode === "overlay" ? props.theme.overlayLabelFontFamily : props.theme.labelFontFamily;
|
|
211
176
|
}, function (props) {
|
|
@@ -215,13 +180,12 @@ var SpinnerLabel = _styledComponents["default"].p(_templateObject11 || (_templat
|
|
|
215
180
|
}, function (props) {
|
|
216
181
|
return props.mode === "overlay" ? props.theme.overlayLabelFontStyle : props.theme.labelFontStyle;
|
|
217
182
|
}, function (props) {
|
|
218
|
-
return props.mode === "overlay" ? props.theme.overlayLabelFontColor : props.
|
|
183
|
+
return props.mode === "overlay" ? props.theme.overlayLabelFontColor : props.theme.labelFontColor;
|
|
219
184
|
}, function (props) {
|
|
220
185
|
return props.mode === "overlay" ? props.theme.overlayLabelTextAlign : props.theme.labelTextAlign;
|
|
221
186
|
}, function (props) {
|
|
222
187
|
return props.mode === "overlay" ? props.theme.overlayLabelLetterSpacing : props.theme.labelLetterSpacing;
|
|
223
188
|
});
|
|
224
|
-
|
|
225
189
|
var SpinnerProgress = _styledComponents["default"].p(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n text-align: ", ";\n letter-spacing: ", ";\n"])), function (props) {
|
|
226
190
|
return props.value && props.showValue === true && "block" || "none";
|
|
227
191
|
}, function (props) {
|
|
@@ -233,12 +197,10 @@ var SpinnerProgress = _styledComponents["default"].p(_templateObject12 || (_temp
|
|
|
233
197
|
}, function (props) {
|
|
234
198
|
return props.mode === "overlay" ? props.theme.overlayProgressValueFontStyle : props.theme.progressValueFontStyle;
|
|
235
199
|
}, function (props) {
|
|
236
|
-
return props.mode === "overlay" ? props.theme.overlayProgressValueFontColor : props.
|
|
200
|
+
return props.mode === "overlay" ? props.theme.overlayProgressValueFontColor : props.theme.progressValueFontColor;
|
|
237
201
|
}, function (props) {
|
|
238
202
|
return props.mode === "overlay" ? props.theme.overlayProgressValueTextAlign : props.theme.progressValueTextAlign;
|
|
239
203
|
}, function (props) {
|
|
240
204
|
return props.mode === "overlay" ? props.theme.overlayProgressValueLetterSpacing : props.theme.progressValueLetterSpacing;
|
|
241
205
|
});
|
|
242
|
-
|
|
243
|
-
var _default = DxcSpinner;
|
|
244
|
-
exports["default"] = _default;
|
|
206
|
+
var _default = exports["default"] = DxcSpinner;
|
package/spinner/Spinner.test.js
CHANGED
|
@@ -1,64 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
6
|
var _Spinner = _interopRequireDefault(require("./Spinner.tsx"));
|
|
10
|
-
|
|
11
7
|
describe("Spinner component tests", function () {
|
|
12
8
|
test("Spinner renders with correct label", function () {
|
|
13
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
label: "test-loading"
|
|
11
|
+
})),
|
|
12
|
+
getByText = _render.getByText;
|
|
18
13
|
expect(getByText("test-loading")).toBeTruthy();
|
|
19
14
|
});
|
|
20
15
|
test("Spinner shows value correctly", function () {
|
|
21
16
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
label: "test-loading",
|
|
18
|
+
value: 75,
|
|
19
|
+
showValue: true
|
|
20
|
+
})),
|
|
21
|
+
getByText = _render2.getByText;
|
|
28
22
|
expect(getByText("75%")).toBeTruthy();
|
|
29
23
|
});
|
|
30
24
|
test("Small spinner hides value and label correctly", function () {
|
|
31
25
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
mode: "small",
|
|
27
|
+
label: "test-loading",
|
|
28
|
+
value: 75,
|
|
29
|
+
showValue: true
|
|
30
|
+
})),
|
|
31
|
+
queryByText = _render3.queryByText;
|
|
39
32
|
expect(queryByText("test-loading")).toBeFalsy();
|
|
40
33
|
expect(queryByText("75%")).toBeFalsy();
|
|
41
34
|
});
|
|
42
35
|
test("Overlay spinner shows value and label correctly", function () {
|
|
43
36
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
37
|
+
mode: "overlay",
|
|
38
|
+
label: "test-loading",
|
|
39
|
+
value: 75,
|
|
40
|
+
showValue: true
|
|
41
|
+
})),
|
|
42
|
+
getByText = _render4.getByText;
|
|
51
43
|
expect(getByText("test-loading")).toBeTruthy();
|
|
52
44
|
expect(getByText("75%")).toBeTruthy();
|
|
53
45
|
});
|
|
54
46
|
test("Get spinner by role", function () {
|
|
55
47
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
48
|
+
label: "test-loading",
|
|
49
|
+
value: 75,
|
|
50
|
+
showValue: true
|
|
51
|
+
})),
|
|
52
|
+
getByRole = _render5.getByRole;
|
|
62
53
|
expect(getByRole("progressbar")).toBeTruthy();
|
|
63
54
|
});
|
|
64
55
|
});
|
package/spinner/types.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
|
6
6
|
right?: Space;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
type Props = {
|
|
9
9
|
/**
|
|
10
10
|
* Text to be placed inside the spinner.
|
|
11
11
|
*/
|