@dxc-technology/halstack-react 0.0.0-da224ae → 0.0.0-da4b2be
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 +2 -5
- package/HalstackContext.d.ts +1336 -0
- package/HalstackContext.js +335 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +118 -142
- package/accordion/Accordion.stories.tsx +395 -0
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +9 -8
- package/accordion-group/AccordionGroup.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +34 -76
- package/accordion-group/AccordionGroup.stories.tsx +251 -0
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +15 -8
- package/alert/Alert.js +11 -12
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +92 -0
- package/alert/types.d.ts +1 -1
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -4
- package/badge/types.d.ts +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +23 -55
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +0 -15
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +61 -85
- package/button/Button.stories.tsx +163 -14
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- package/card/Card.js +35 -40
- package/card/Card.stories.tsx +200 -0
- package/card/Card.test.js +50 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +5 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +108 -111
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +13 -5
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +37 -118
- package/chip/Chip.stories.tsx +123 -30
- package/chip/Chip.test.js +54 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1482 -0
- package/common/variables.js +1100 -1316
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +174 -266
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +835 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +67 -9
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +69 -103
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +369 -0
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +248 -277
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +586 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +28 -17
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +183 -168
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +50 -81
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +34 -117
- package/footer/Footer.stories.tsx +228 -0
- package/footer/Footer.test.js +97 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -4
- package/footer/types.d.ts +23 -18
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +3 -2
- package/header/Header.js +110 -131
- package/header/Header.stories.tsx +315 -0
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +5 -2
- package/heading/Heading.js +2 -2
- package/heading/Heading.stories.tsx +54 -0
- 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 +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +72 -136
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +64 -89
- package/link/Link.stories.tsx +199 -16
- package/link/Link.test.js +81 -0
- package/link/types.d.ts +7 -27
- package/main.d.ts +13 -12
- package/main.js +68 -54
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.js +14 -24
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +542 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +22 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +22 -57
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +318 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +23 -19
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +29 -19
- package/progress-bar/ProgressBar.js +63 -57
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +110 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +356 -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 +156 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +281 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +54 -133
- package/resultsetTable/ResultsetTable.stories.tsx +300 -0
- package/resultsetTable/ResultsetTable.test.js +325 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +202 -401
- package/select/Select.stories.tsx +600 -201
- package/select/Select.test.js +2228 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +148 -46
- package/sidenav/Sidenav.stories.tsx +282 -0
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +124 -99
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +8 -0
- package/spinner/Spinner.js +20 -26
- package/spinner/Spinner.stories.jsx +53 -26
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +153 -70
- package/switch/Switch.stories.tsx +54 -43
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +10 -2
- package/table/Table.js +6 -6
- package/table/Table.stories.jsx +81 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +362 -112
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +350 -0
- package/tabs/types.d.ts +39 -18
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +25 -37
- package/tag/Tag.stories.tsx +38 -28
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +236 -388
- package/text-input/TextInput.stories.tsx +569 -0
- package/text-input/TextInput.test.js +1723 -0
- package/text-input/types.d.ts +197 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +41 -82
- package/textarea/Textarea.stories.jsx +96 -15
- package/textarea/Textarea.test.js +435 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +24 -49
- package/toggle-group/ToggleGroup.stories.tsx +69 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1235 -0
- package/useTheme.js +3 -3
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +113 -59
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +10 -10
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -32
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/file-input/index.d.ts +0 -81
- package/footer/Footer.stories.jsx +0 -151
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
- /package/{radio → badge}/types.js +0 -0
package/wizard/Wizard.js
CHANGED
|
@@ -9,21 +9,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
17
|
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
19
|
|
|
20
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
21
|
|
|
22
|
-
var _variables = require("../common/variables
|
|
22
|
+
var _variables = require("../common/variables");
|
|
23
23
|
|
|
24
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
25
|
-
|
|
26
|
-
var _Icons = require("./Icons");
|
|
24
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
25
|
|
|
28
26
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
29
27
|
|
|
@@ -31,9 +29,64 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
31
29
|
|
|
32
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; }
|
|
33
31
|
|
|
32
|
+
var icons = {
|
|
33
|
+
validIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
34
|
+
id: "check_circle_black_18dp",
|
|
35
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
36
|
+
width: "18",
|
|
37
|
+
height: "18",
|
|
38
|
+
viewBox: "0 0 18 18"
|
|
39
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
40
|
+
id: "Path_2946",
|
|
41
|
+
"data-name": "Path 2946",
|
|
42
|
+
d: "M0,0H18V18H0Z",
|
|
43
|
+
fill: "none"
|
|
44
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
45
|
+
id: "Path_2947",
|
|
46
|
+
"data-name": "Path 2947",
|
|
47
|
+
d: "M9.986,4a5.986,5.986,0,1,0,5.986,5.986A5.994,5.994,0,0,0,9.986,4Zm-1.5,9.727L5.5,10.734,6.551,9.679l1.938,1.93L13.42,6.679l1.055,1.063Z",
|
|
48
|
+
transform: "translate(-0.986 -0.986)",
|
|
49
|
+
fill: "#eafaef",
|
|
50
|
+
opacity: "0.999"
|
|
51
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
52
|
+
id: "Path_2948",
|
|
53
|
+
"data-name": "Path 2948",
|
|
54
|
+
d: "M9.493,2a7.493,7.493,0,1,0,7.493,7.493A7.5,7.5,0,0,0,9.493,2Zm0,13.487a5.994,5.994,0,1,1,5.994-5.994A6,6,0,0,1,9.493,15.487Zm3.439-9.306L7.994,11.119,6.054,9.186,5,10.242l3,3,5.994-5.994Z",
|
|
55
|
+
transform: "translate(-0.493 -0.493)",
|
|
56
|
+
fill: "#24a148"
|
|
57
|
+
})),
|
|
58
|
+
invalidIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
59
|
+
id: "highlight_off_black_18dp",
|
|
60
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
61
|
+
width: "18",
|
|
62
|
+
height: "18",
|
|
63
|
+
viewBox: "0 0 18 18"
|
|
64
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
65
|
+
id: "Path_2943",
|
|
66
|
+
"data-name": "Path 2943",
|
|
67
|
+
d: "M0,0H18V18H0Z",
|
|
68
|
+
fill: "none"
|
|
69
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
70
|
+
id: "Path_2944",
|
|
71
|
+
"data-name": "Path 2944",
|
|
72
|
+
d: "M10,4a6,6,0,1,0,6,6A6.01,6.01,0,0,0,10,4Zm3,7.945L11.945,13,10,11.06,8.059,13,7,11.945,8.944,10,7,8.059,8.059,7,10,8.944,11.945,7,13,8.059,11.06,10Z",
|
|
73
|
+
transform: "translate(-1.002 -1.002)",
|
|
74
|
+
fill: "#ffe6e9"
|
|
75
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
76
|
+
id: "Path_2945",
|
|
77
|
+
"data-name": "Path 2945",
|
|
78
|
+
d: "M11.444,6.5,9.5,8.443,7.558,6.5,6.5,7.558,8.443,9.5,6.5,11.444,7.558,12.5,9.5,10.558,11.444,12.5,12.5,11.444,10.558,9.5,12.5,7.558ZM9.5,2A7.5,7.5,0,1,0,17,9.5,7.494,7.494,0,0,0,9.5,2Zm0,13.5a6,6,0,1,1,6-6A6.009,6.009,0,0,1,9.5,15.5Z",
|
|
79
|
+
transform: "translate(-0.501 -0.501)",
|
|
80
|
+
fill: "#d0011b"
|
|
81
|
+
}))
|
|
82
|
+
};
|
|
83
|
+
|
|
34
84
|
var DxcWizard = function DxcWizard(_ref) {
|
|
85
|
+
var _ref2;
|
|
86
|
+
|
|
35
87
|
var _ref$mode = _ref.mode,
|
|
36
88
|
mode = _ref$mode === void 0 ? "horizontal" : _ref$mode,
|
|
89
|
+
defaultCurrentStep = _ref.defaultCurrentStep,
|
|
37
90
|
currentStep = _ref.currentStep,
|
|
38
91
|
onStepClick = _ref.onStepClick,
|
|
39
92
|
steps = _ref.steps,
|
|
@@ -41,7 +94,7 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
41
94
|
_ref$tabIndex = _ref.tabIndex,
|
|
42
95
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
43
96
|
|
|
44
|
-
var _useState = (0, _react.useState)(currentStep
|
|
97
|
+
var _useState = (0, _react.useState)((_ref2 = currentStep !== null && currentStep !== void 0 ? currentStep : defaultCurrentStep) !== null && _ref2 !== void 0 ? _ref2 : 0),
|
|
45
98
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
46
99
|
innerCurrent = _useState2[0],
|
|
47
100
|
setInnerCurrentStep = _useState2[1];
|
|
@@ -63,48 +116,49 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
63
116
|
theme: colorsTheme.wizard
|
|
64
117
|
}, /*#__PURE__*/_react["default"].createElement(StepsContainer, {
|
|
65
118
|
mode: mode,
|
|
66
|
-
margin: margin
|
|
119
|
+
margin: margin,
|
|
120
|
+
role: "group"
|
|
67
121
|
}, steps === null || steps === void 0 ? void 0 : steps.map(function (step, i) {
|
|
68
122
|
return /*#__PURE__*/_react["default"].createElement(StepContainer, {
|
|
69
123
|
key: "step".concat(i),
|
|
70
124
|
mode: mode,
|
|
71
125
|
lastStep: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1
|
|
72
126
|
}, /*#__PURE__*/_react["default"].createElement(Step, {
|
|
73
|
-
tabIndex: tabIndex,
|
|
74
127
|
onClick: function onClick() {
|
|
75
|
-
|
|
128
|
+
handleStepClick(i);
|
|
76
129
|
},
|
|
77
|
-
mode: mode,
|
|
78
130
|
disabled: step.disabled,
|
|
131
|
+
mode: mode,
|
|
79
132
|
first: i === 0,
|
|
80
|
-
last: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1
|
|
81
|
-
|
|
133
|
+
last: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1,
|
|
134
|
+
"aria-current": renderedCurrent === i ? "step" : "false",
|
|
135
|
+
tabIndex: tabIndex
|
|
136
|
+
}, /*#__PURE__*/_react["default"].createElement(StepHeader, {
|
|
137
|
+
validityIcon: step.valid !== undefined
|
|
138
|
+
}, /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
82
139
|
current: i === renderedCurrent,
|
|
83
140
|
visited: i < renderedCurrent,
|
|
84
141
|
disabled: step.disabled
|
|
85
|
-
}, step.icon ? /*#__PURE__*/_react["default"].createElement(StepIconContainer, {
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
}) : /*#__PURE__*/_react["default"].createElement(Number, {
|
|
90
|
-
disabled: step.disabled,
|
|
91
|
-
current: i === renderedCurrent
|
|
92
|
-
}, i + 1)), step.valid !== undefined ? step.valid ? /*#__PURE__*/_react["default"].createElement(ValidityIconContainer, null, _Icons.validIcon) : /*#__PURE__*/_react["default"].createElement(ValidityIconContainer, null, _Icons.invalidIcon) : ""), step.label || step.description ? /*#__PURE__*/_react["default"].createElement(InfoContainer, null, step.label ? /*#__PURE__*/_react["default"].createElement(Label, {
|
|
142
|
+
}, step.icon ? /*#__PURE__*/_react["default"].createElement(StepIconContainer, null, typeof step.icon === "string" ? /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
143
|
+
src: step.icon
|
|
144
|
+
}) : step.icon) : /*#__PURE__*/_react["default"].createElement(Number, null, i + 1)), step.valid !== undefined && (step.valid ? /*#__PURE__*/_react["default"].createElement(ValidityIconContainer, null, icons.validIcon) : /*#__PURE__*/_react["default"].createElement(ValidityIconContainer, null, icons.invalidIcon))), (step.label || step.description) && /*#__PURE__*/_react["default"].createElement(InfoContainer, null, step.label && /*#__PURE__*/_react["default"].createElement(Label, {
|
|
145
|
+
current: i === renderedCurrent,
|
|
93
146
|
disabled: step.disabled,
|
|
94
147
|
visited: i <= innerCurrent
|
|
95
|
-
}, step.label)
|
|
148
|
+
}, step.label), step.description && /*#__PURE__*/_react["default"].createElement(Description, {
|
|
149
|
+
current: i === renderedCurrent,
|
|
96
150
|
disabled: step.disabled,
|
|
97
151
|
visited: i <= innerCurrent
|
|
98
|
-
}, step.description)
|
|
152
|
+
}, step.description))), i === steps.length - 1 ? "" : /*#__PURE__*/_react["default"].createElement(StepSeparator, {
|
|
99
153
|
mode: mode
|
|
100
154
|
}));
|
|
101
155
|
})));
|
|
102
156
|
};
|
|
103
157
|
|
|
104
|
-
var StepsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display:
|
|
158
|
+
var StepsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n ", ";\n font-family: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
105
159
|
return props.mode === "vertical" ? "column" : "row";
|
|
106
160
|
}, function (props) {
|
|
107
|
-
return props.mode === "vertical"
|
|
161
|
+
return props.mode === "vertical" && "height: 500px";
|
|
108
162
|
}, function (props) {
|
|
109
163
|
return props.theme.fontFamily;
|
|
110
164
|
}, function (props) {
|
|
@@ -120,16 +174,16 @@ var StepsContainer = _styledComponents["default"].div(_templateObject || (_templ
|
|
|
120
174
|
});
|
|
121
175
|
|
|
122
176
|
var StepContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n ", "\n flex-grow: ", ";\n flex-direction: ", ";\n ", "\n"])), function (props) {
|
|
123
|
-
return props.mode
|
|
177
|
+
return props.mode !== "vertical" && "align-items: center;";
|
|
124
178
|
}, function (props) {
|
|
125
179
|
return props.lastStep ? "0" : "1";
|
|
126
180
|
}, function (props) {
|
|
127
181
|
return props.mode === "vertical" ? "column" : "row";
|
|
128
182
|
}, function (props) {
|
|
129
|
-
return props.mode === "vertical"
|
|
183
|
+
return props.mode === "vertical" && "width: fit-content;";
|
|
130
184
|
});
|
|
131
185
|
|
|
132
|
-
var Step = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
186
|
+
var Step = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border: none;\n border-radius: 0.25rem;\n background: inherit;\n margin: ", ";\n\n padding: 0px;\n ", ";\n\n &:hover {\n ", ";\n }\n &:focus {\n outline: 2px solid ", ";\n }\n"])), function (props) {
|
|
133
187
|
return props.first ? props.mode === "vertical" ? "0 0 24px 0" : "0 24px 0 0" : props.last ? props.mode === "vertical" ? "24px 0 0 0" : "0 0 0 24px" : props.mode === "vertical" ? "24px 0" : "0 24px";
|
|
134
188
|
}, function (props) {
|
|
135
189
|
return props.disabled ? "cursor: not-allowed" : "";
|
|
@@ -139,42 +193,44 @@ var Step = _styledComponents["default"].button(_templateObject3 || (_templateObj
|
|
|
139
193
|
return props.theme.focusColor;
|
|
140
194
|
});
|
|
141
195
|
|
|
142
|
-
var StepHeader = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n
|
|
196
|
+
var StepHeader = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n ", "\n"])), function (props) {
|
|
197
|
+
return props.validityIcon && "padding-bottom: 4px;";
|
|
198
|
+
});
|
|
143
199
|
|
|
144
|
-
var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n\n ", "\n ", ";\n\n border-radius: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n"])), function (props) {
|
|
145
|
-
return props.disabled ? props.theme.
|
|
200
|
+
var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n\n ", "\n ", ";\n\n border-radius: ", ";\n\n display: flex;\n justify-content: center;\n align-items: center;\n"])), function (props) {
|
|
201
|
+
return props.disabled ? props.theme.disabledStepWidth : props.current ? props.theme.selectedStepWidth : props.theme.stepWidth;
|
|
146
202
|
}, function (props) {
|
|
147
|
-
return props.disabled ? props.theme.
|
|
203
|
+
return props.disabled ? props.theme.disabledStepHeight : props.current ? props.theme.selectedStepHeight : props.theme.stepHeight;
|
|
148
204
|
}, function (props) {
|
|
149
|
-
return "\n ".concat(
|
|
205
|
+
return "\n ".concat(props.disabled ? "border: ".concat(props.theme.disabledStepBorderThickness, " ").concat(props.theme.disabledStepBorderStyle, " ").concat(props.theme.disabledStepBorderColor, ";") : props.current ? "border: ".concat(props.theme.selectedStepBorderThickness, " ").concat(props.theme.selectedStepBorderStyle, " ").concat(props.theme.selectedStepBorderColor, ";") : props.visited ? "border: ".concat(props.theme.stepBorderThickness, " ").concat(props.theme.stepBorderStyle, " ").concat(props.theme.visitedStepBorderColor, ";") : "border: ".concat(props.theme.stepBorderThickness, " ").concat(props.theme.stepBorderStyle, " ").concat(props.theme.unvisitedStepBorderColor, ";"), "\n background: ").concat(props.disabled ? "".concat(props.theme.disabledStepBackgroundColor) : props.current ? "".concat(props.theme.selectedStepBackgroundColor) : !props.visited ? "".concat(props.theme.unvisitedStepBackgroundColor) : "".concat(props.theme.visitedStepBackgroundColor), ";\n ");
|
|
150
206
|
}, function (props) {
|
|
151
|
-
return props.disabled ? "color: ".concat(props.theme.
|
|
207
|
+
return props.disabled ? "color: ".concat(props.theme.disabledStepFontColor, ";") : "color: ".concat(props.current ? props.theme.selectedStepFontColor : !props.visited ? props.theme.unvisitedStepFontColor : props.theme.visitedStepFontColor, ";");
|
|
152
208
|
}, function (props) {
|
|
153
|
-
return !props.current && !props.disabled ? props.theme.
|
|
209
|
+
return !props.current && !props.disabled ? props.theme.stepBorderRadius : props.current ? props.theme.selectedStepBorderRadius : props.disabled ? props.theme.disabledStepBorderRadius : "";
|
|
154
210
|
});
|
|
155
211
|
|
|
156
212
|
var Icon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n"])), function (props) {
|
|
157
|
-
return props.theme.
|
|
213
|
+
return props.theme.stepIconSize;
|
|
158
214
|
}, function (props) {
|
|
159
|
-
return props.theme.
|
|
215
|
+
return props.theme.stepIconSize;
|
|
160
216
|
});
|
|
161
217
|
|
|
162
218
|
var StepIconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n overflow: hidden;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
163
|
-
return props.theme.
|
|
219
|
+
return props.theme.stepIconSize;
|
|
164
220
|
}, function (props) {
|
|
165
|
-
return props.theme.
|
|
221
|
+
return props.theme.stepIconSize;
|
|
166
222
|
});
|
|
167
223
|
|
|
168
224
|
var Number = _styledComponents["default"].p(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n opacity: 1;\n margin: 0px 0px 0px 1px;\n"])), function (props) {
|
|
169
|
-
return props.theme.
|
|
225
|
+
return props.theme.stepFontSize;
|
|
170
226
|
}, function (props) {
|
|
171
|
-
return props.theme.
|
|
227
|
+
return props.theme.stepFontFamily;
|
|
172
228
|
}, function (props) {
|
|
173
|
-
return props.theme.
|
|
229
|
+
return props.theme.stepFontStyle;
|
|
174
230
|
}, function (props) {
|
|
175
|
-
return props.theme.
|
|
231
|
+
return props.theme.stepFontWeight;
|
|
176
232
|
}, function (props) {
|
|
177
|
-
return props.theme.
|
|
233
|
+
return props.theme.stepFontTracking;
|
|
178
234
|
});
|
|
179
235
|
|
|
180
236
|
var ValidityIconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n width: 18px;\n height: 18px;\n position: absolute;\n top: 22.5px;\n left: 22.5px;\n"])));
|
|
@@ -192,37 +248,35 @@ var Label = _styledComponents["default"].p(_templateObject11 || (_templateObject
|
|
|
192
248
|
}, function (props) {
|
|
193
249
|
return props.theme.labelFontWeight;
|
|
194
250
|
}, function (props) {
|
|
195
|
-
return props.theme.
|
|
251
|
+
return props.theme.labelFontTracking;
|
|
196
252
|
}, function (props) {
|
|
197
|
-
return props.disabled ? "color: ".concat(props.theme.
|
|
253
|
+
return props.disabled ? "color: ".concat(props.theme.disabledLabelFontColor, ";") : "color: ".concat(!props.visited ? props.theme.unvisitedLabelFontColor : props.current ? props.theme.selectedLabelFontColor : props.theme.visitedLabelFontColor, ";");
|
|
198
254
|
}, function (props) {
|
|
199
255
|
return props.theme.labelFontTextTransform;
|
|
200
256
|
});
|
|
201
257
|
|
|
202
258
|
var Description = _styledComponents["default"].p(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n ", ";\n margin: 0;\n"])), function (props) {
|
|
203
|
-
return props.theme.
|
|
259
|
+
return props.theme.helperTextTextAlign;
|
|
204
260
|
}, function (props) {
|
|
205
|
-
return props.theme.
|
|
261
|
+
return props.theme.helperTextFontFamily;
|
|
206
262
|
}, function (props) {
|
|
207
|
-
return props.theme.
|
|
263
|
+
return props.theme.helperTextFontSize;
|
|
208
264
|
}, function (props) {
|
|
209
|
-
return props.theme.
|
|
265
|
+
return props.theme.helperTextFontStyle;
|
|
210
266
|
}, function (props) {
|
|
211
|
-
return props.theme.
|
|
267
|
+
return props.theme.helperTextFontWeight;
|
|
212
268
|
}, function (props) {
|
|
213
|
-
return props.theme.
|
|
269
|
+
return props.theme.helperTextFontTracking;
|
|
214
270
|
}, function (props) {
|
|
215
|
-
return props.theme.
|
|
271
|
+
return props.theme.helperTextFontTextTransform;
|
|
216
272
|
}, function (props) {
|
|
217
|
-
return props.disabled ? "color: ".concat(props.theme.
|
|
273
|
+
return props.disabled ? "color: ".concat(props.theme.disabledHelperTextFontColor, ";") : "color: ".concat(!props.visited ? props.theme.unvisitedHelperTextFontColor : props.current ? props.theme.selectedHelperTextFontColor : props.theme.visitedHelperTextFontColor, ";");
|
|
218
274
|
});
|
|
219
275
|
|
|
220
|
-
var StepSeparator = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
221
|
-
return props.mode === "horizontal" ? "" : "0";
|
|
222
|
-
}, function (props) {
|
|
223
|
-
return props.mode === "horizontal" ? "0" : "";
|
|
276
|
+
var StepSeparator = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n ", "\n border: ", ";\n opacity: 1;\n flex-grow: 1;\n"])), function (props) {
|
|
277
|
+
return props.mode === "horizontal" ? "height: 0;" : "width: 0;";
|
|
224
278
|
}, function (props) {
|
|
225
|
-
return props.mode === "vertical"
|
|
279
|
+
return props.mode === "vertical" && "margin: 0 18px;";
|
|
226
280
|
}, function (props) {
|
|
227
281
|
return "".concat(props.theme.separatorBorderStyle, " ").concat(props.theme.separatorBorderThickness, " ").concat(props.theme.separatorColor);
|
|
228
282
|
});
|
|
@@ -3,29 +3,25 @@ import DxcWizard from "./Wizard";
|
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import { userEvent, within } from "@storybook/testing-library";
|
|
6
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
7
|
|
|
7
8
|
export default {
|
|
8
9
|
title: "Wizard",
|
|
9
10
|
component: DxcWizard,
|
|
10
11
|
};
|
|
11
12
|
|
|
12
|
-
const favoriteSVG = (
|
|
13
|
-
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
<path d="M0 0h24v24H0z" fill="none" />
|
|
25
|
-
<path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z" />
|
|
26
|
-
</svg>
|
|
27
|
-
);
|
|
28
|
-
};
|
|
13
|
+
const favoriteSVG = (
|
|
14
|
+
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
15
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
16
|
+
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
|
|
17
|
+
</svg>
|
|
18
|
+
);
|
|
19
|
+
const largeIcon = (
|
|
20
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
|
|
21
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
22
|
+
<path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z" />
|
|
23
|
+
</svg>
|
|
24
|
+
);
|
|
29
25
|
|
|
30
26
|
const stepWithLabel = [
|
|
31
27
|
{
|
|
@@ -137,19 +133,41 @@ const stepLargeIcons = [
|
|
|
137
133
|
},
|
|
138
134
|
];
|
|
139
135
|
|
|
136
|
+
const opinionatedTheme = {
|
|
137
|
+
wizard: {
|
|
138
|
+
baseColor: "#5f249f",
|
|
139
|
+
fontColor: "#000000",
|
|
140
|
+
selectedStepFontColor: "#ffffff",
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
|
|
140
144
|
export const Chromatic = () => (
|
|
141
145
|
<>
|
|
142
146
|
<ExampleContainer>
|
|
143
147
|
<Title title="Current step in the third step, labels and description" theme="light" level={4} />
|
|
144
|
-
<DxcWizard
|
|
148
|
+
<DxcWizard defaultCurrentStep={2} steps={stepWithLabelDescription}></DxcWizard>
|
|
149
|
+
</ExampleContainer>
|
|
150
|
+
<ExampleContainer>
|
|
145
151
|
<Title title="With long description in horizontal" theme="light" level={4} />
|
|
146
152
|
<DxcWizard steps={stepWithLongDescription}></DxcWizard>
|
|
153
|
+
</ExampleContainer>
|
|
154
|
+
<ExampleContainer>
|
|
147
155
|
<Title title="With long description in vertical" theme="light" level={4} />
|
|
148
156
|
<DxcWizard mode="vertical" steps={stepWithLongDescription}></DxcWizard>
|
|
157
|
+
</ExampleContainer>
|
|
158
|
+
<ExampleContainer>
|
|
149
159
|
<Title title="Disabled steps" theme="light" level={4} />
|
|
150
160
|
<DxcWizard steps={stepDisabled}></DxcWizard>
|
|
161
|
+
</ExampleContainer>
|
|
162
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
163
|
+
<Title title="Focused steps" theme="light" level={4} />
|
|
164
|
+
<DxcWizard steps={stepIcons}></DxcWizard>
|
|
165
|
+
</ExampleContainer>
|
|
166
|
+
<ExampleContainer>
|
|
151
167
|
<Title title="With icons" theme="light" level={4} />
|
|
152
168
|
<DxcWizard steps={stepIcons}></DxcWizard>
|
|
169
|
+
</ExampleContainer>
|
|
170
|
+
<ExampleContainer>
|
|
153
171
|
<Title title="With large icons" theme="light" level={4} />
|
|
154
172
|
<DxcWizard steps={stepLargeIcons}></DxcWizard>
|
|
155
173
|
</ExampleContainer>
|
|
@@ -211,10 +229,21 @@ export const Chromatic = () => (
|
|
|
211
229
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
212
230
|
<DxcWizard mode="vertical" margin="xxlarge" steps={stepWithLabel}></DxcWizard>
|
|
213
231
|
</ExampleContainer>
|
|
232
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
233
|
+
<ExampleContainer>
|
|
234
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
235
|
+
<DxcWizard defaultCurrentStep={2} steps={stepWithLabelDescription}></DxcWizard>
|
|
236
|
+
</HalstackProvider>
|
|
237
|
+
</ExampleContainer>
|
|
214
238
|
</>
|
|
215
239
|
);
|
|
216
240
|
|
|
217
|
-
const WizardSelected = () =>
|
|
241
|
+
const WizardSelected = () => (
|
|
242
|
+
<ExampleContainer>
|
|
243
|
+
<Title title="Clicked step" theme="light" level={4} />
|
|
244
|
+
<DxcWizard steps={stepWithLabel} mode="vertical"></DxcWizard>
|
|
245
|
+
</ExampleContainer>
|
|
246
|
+
);
|
|
218
247
|
|
|
219
248
|
export const WizardStepActived = WizardSelected.bind({});
|
|
220
249
|
WizardStepActived.play = async ({ canvasElement }) => {
|
|
@@ -0,0 +1,141 @@
|
|
|
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 _Wizard = _interopRequireDefault(require("./Wizard.tsx"));
|
|
10
|
+
|
|
11
|
+
describe("Wizard components tests", function () {
|
|
12
|
+
test("Wizard renders with correct steps", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
14
|
+
steps: [{
|
|
15
|
+
label: "first-step"
|
|
16
|
+
}, {
|
|
17
|
+
label: "second-step"
|
|
18
|
+
}]
|
|
19
|
+
})),
|
|
20
|
+
getByText = _render.getByText,
|
|
21
|
+
getAllByRole = _render.getAllByRole;
|
|
22
|
+
|
|
23
|
+
var steps = getAllByRole("button");
|
|
24
|
+
expect(getByText("first-step")).toBeTruthy();
|
|
25
|
+
expect(getByText("second-step")).toBeTruthy();
|
|
26
|
+
expect(steps[0].getAttribute("aria-current")).toBe("step");
|
|
27
|
+
expect(steps[1].getAttribute("aria-current")).toBe("false");
|
|
28
|
+
});
|
|
29
|
+
test("Wizard renders with initially selected step", function () {
|
|
30
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
31
|
+
defaultCurrentStep: 1,
|
|
32
|
+
steps: [{
|
|
33
|
+
label: "first-step"
|
|
34
|
+
}, {
|
|
35
|
+
label: "second-step"
|
|
36
|
+
}]
|
|
37
|
+
})),
|
|
38
|
+
getAllByRole = _render2.getAllByRole;
|
|
39
|
+
|
|
40
|
+
var steps = getAllByRole("button");
|
|
41
|
+
expect(steps[1].getAttribute("aria-current")).toBe("step");
|
|
42
|
+
});
|
|
43
|
+
test("Click on step text", function () {
|
|
44
|
+
var onClick = jest.fn();
|
|
45
|
+
|
|
46
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
47
|
+
onStepClick: onClick,
|
|
48
|
+
steps: [{
|
|
49
|
+
label: "first-step"
|
|
50
|
+
}]
|
|
51
|
+
})),
|
|
52
|
+
getByText = _render3.getByText;
|
|
53
|
+
|
|
54
|
+
var step = getByText("first-step");
|
|
55
|
+
|
|
56
|
+
_react2.fireEvent.click(step);
|
|
57
|
+
|
|
58
|
+
expect(onClick).toHaveBeenCalled();
|
|
59
|
+
});
|
|
60
|
+
test("Click on step description", function () {
|
|
61
|
+
var onClick = jest.fn();
|
|
62
|
+
|
|
63
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
64
|
+
onStepClick: onClick,
|
|
65
|
+
steps: [{
|
|
66
|
+
label: "first-step",
|
|
67
|
+
description: "step-description"
|
|
68
|
+
}]
|
|
69
|
+
})),
|
|
70
|
+
getByText = _render4.getByText;
|
|
71
|
+
|
|
72
|
+
var step = getByText("step-description");
|
|
73
|
+
|
|
74
|
+
_react2.fireEvent.click(step);
|
|
75
|
+
|
|
76
|
+
expect(onClick).toHaveBeenCalled();
|
|
77
|
+
});
|
|
78
|
+
test("Click on step number", function () {
|
|
79
|
+
var onClick = jest.fn();
|
|
80
|
+
|
|
81
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
82
|
+
onStepClick: onClick,
|
|
83
|
+
steps: [{
|
|
84
|
+
label: "first-step"
|
|
85
|
+
}]
|
|
86
|
+
})),
|
|
87
|
+
getByText = _render5.getByText;
|
|
88
|
+
|
|
89
|
+
var step = getByText("1");
|
|
90
|
+
|
|
91
|
+
_react2.fireEvent.click(step);
|
|
92
|
+
|
|
93
|
+
expect(onClick).toHaveBeenCalled();
|
|
94
|
+
});
|
|
95
|
+
test("Click on disable step", function () {
|
|
96
|
+
var onClick = jest.fn();
|
|
97
|
+
|
|
98
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
99
|
+
onStepClick: onClick,
|
|
100
|
+
steps: [{
|
|
101
|
+
label: "first-step"
|
|
102
|
+
}, {
|
|
103
|
+
label: "second-step",
|
|
104
|
+
disabled: true
|
|
105
|
+
}]
|
|
106
|
+
})),
|
|
107
|
+
getByText = _render6.getByText;
|
|
108
|
+
|
|
109
|
+
var step = getByText("second-step");
|
|
110
|
+
|
|
111
|
+
_react2.fireEvent.click(step);
|
|
112
|
+
|
|
113
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
114
|
+
});
|
|
115
|
+
test("Controlled wizard function is called", function () {
|
|
116
|
+
var onClick = jest.fn(function (i) {
|
|
117
|
+
return i;
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
121
|
+
currentStep: 0,
|
|
122
|
+
onStepClick: onClick,
|
|
123
|
+
steps: [{
|
|
124
|
+
label: "first-step"
|
|
125
|
+
}, {
|
|
126
|
+
label: "second-step"
|
|
127
|
+
}]
|
|
128
|
+
})),
|
|
129
|
+
getAllByRole = _render7.getAllByRole;
|
|
130
|
+
|
|
131
|
+
var steps = getAllByRole("button");
|
|
132
|
+
|
|
133
|
+
_react2.fireEvent.click(steps[1]);
|
|
134
|
+
|
|
135
|
+
_react2.fireEvent.click(steps[0]);
|
|
136
|
+
|
|
137
|
+
expect(onClick).toHaveBeenCalledTimes(2);
|
|
138
|
+
expect(onClick).toHaveBeenNthCalledWith(1, 1);
|
|
139
|
+
expect(onClick).toHaveBeenNthCalledWith(2, 0);
|
|
140
|
+
});
|
|
141
|
+
});
|
package/wizard/types.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ declare type Margin = {
|
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type SVG = React.
|
|
10
|
-
declare type
|
|
9
|
+
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
export declare type StepProps = {
|
|
11
11
|
/**
|
|
12
12
|
* Step label.
|
|
13
13
|
*/
|
|
@@ -17,13 +17,9 @@ declare type Step = {
|
|
|
17
17
|
*/
|
|
18
18
|
description?: string;
|
|
19
19
|
/**
|
|
20
|
-
* Element used as the icon
|
|
20
|
+
* Element or path used as the icon displayed in the step.
|
|
21
21
|
*/
|
|
22
|
-
icon?: SVG;
|
|
23
|
-
/**
|
|
24
|
-
* @deprecated URL of the icon to be displayed in the step.
|
|
25
|
-
*/
|
|
26
|
-
iconSrc?: string;
|
|
22
|
+
icon?: string | SVG;
|
|
27
23
|
/**
|
|
28
24
|
* Whether the step is disabled or not.
|
|
29
25
|
*/
|
|
@@ -39,7 +35,11 @@ declare type Props = {
|
|
|
39
35
|
*/
|
|
40
36
|
mode?: "horizontal" | "vertical";
|
|
41
37
|
/**
|
|
42
|
-
*
|
|
38
|
+
* Initially selected step, only when it is uncontrolled.
|
|
39
|
+
*/
|
|
40
|
+
defaultCurrentStep?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Defines which step is marked as the current. The numeration starts at 0.
|
|
43
43
|
*/
|
|
44
44
|
currentStep?: number;
|
|
45
45
|
/**
|
|
@@ -50,7 +50,7 @@ declare type Props = {
|
|
|
50
50
|
/**
|
|
51
51
|
* An array of objects representing the steps.
|
|
52
52
|
*/
|
|
53
|
-
steps: [
|
|
53
|
+
steps: StepProps[];
|
|
54
54
|
/**
|
|
55
55
|
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
56
56
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|