@dxc-technology/halstack-react 0.0.0-dfcca07 → 0.0.0-e01c6f9
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 -0
- package/BackgroundColorContext.js +6 -26
- package/HalstackContext.d.ts +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +118 -194
- package/accordion/Accordion.stories.tsx +283 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +12 -23
- package/accordion-group/AccordionGroup.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +39 -108
- package/accordion-group/AccordionGroup.stories.tsx +95 -68
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +18 -23
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +43 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +24 -60
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +9 -20
- package/badge/types.d.ts +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +31 -82
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -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 +64 -123
- package/button/Button.stories.tsx +164 -96
- package/button/Button.test.js +36 -0
- package/button/types.d.ts +12 -12
- package/card/Card.d.ts +1 -1
- package/card/Card.js +59 -103
- package/card/Card.stories.tsx +13 -43
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +145 -183
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +19 -7
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +48 -148
- package/chip/Chip.stories.tsx +123 -30
- package/chip/Chip.test.js +41 -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 +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1381 -0
- package/common/variables.js +1006 -1331
- 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/container/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +175 -313
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +86 -22
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +69 -130
- package/dialog/Dialog.stories.tsx +320 -167
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +18 -25
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +245 -328
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +36 -27
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +267 -299
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +52 -101
- package/file-input/types.d.ts +53 -11
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -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 +60 -201
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +38 -37
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -9
- package/footer/types.d.ts +22 -33
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -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 +4 -3
- package/header/Header.js +100 -204
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +4 -9
- package/header/types.d.ts +5 -19
- package/heading/Heading.js +11 -33
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -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 +83 -184
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -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 +65 -111
- package/link/Link.stories.tsx +159 -52
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +15 -35
- package/main.d.ts +15 -13
- package/main.js +70 -97
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +28 -47
- package/number-input/NumberInput.stories.tsx +44 -28
- package/number-input/NumberInput.test.js +830 -0
- package/number-input/types.d.ts +28 -15
- package/package.json +46 -45
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +35 -98
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +58 -125
- package/password-input/PasswordInput.stories.tsx +3 -35
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +21 -17
- package/progress-bar/ProgressBar.js +66 -92
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -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 +124 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/resultset-table/ResultsetTable.stories.tsx +300 -0
- package/resultset-table/ResultsetTable.test.js +305 -0
- package/{resultsetTable → resultset-table}/types.d.ts +8 -8
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +80 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +227 -511
- package/select/Select.stories.tsx +603 -204
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +132 -72
- package/sidenav/Sidenav.stories.tsx +251 -134
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +149 -181
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +11 -3
- package/spinner/Spinner.js +32 -76
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -115
- package/switch/Switch.stories.tsx +45 -68
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +13 -5
- package/table/Table.js +9 -31
- package/table/{Table.stories.jsx → Table.stories.tsx} +81 -1
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +8 -8
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +318 -147
- package/tabs/Tabs.stories.tsx +122 -17
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +46 -24
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +44 -86
- package/tag/Tag.stories.tsx +38 -28
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +25 -16
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.js +330 -544
- package/text-input/TextInput.stories.tsx +280 -271
- package/text-input/TextInput.test.js +1739 -0
- package/text-input/types.d.ts +71 -25
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +95 -177
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +97 -113
- package/toggle-group/ToggleGroup.stories.tsx +76 -36
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +66 -36
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -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 +1134 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +123 -104
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +14 -14
- 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/card/ice-cream.jpg +0 -0
- 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/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/progress-bar/ProgressBar.stories.jsx +0 -58
- 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/ResultsetTable.js +0 -251
- package/select/index.d.ts +0 -131
- package/slider/Slider.stories.tsx +0 -177
- package/textarea/Textarea.stories.jsx +0 -135
- 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
- /package/{radio → action-icon}/types.js +0 -0
- /package/{resultsetTable → badge}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → bleed/types.js} +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
package/wizard/Wizard.js
CHANGED
|
@@ -1,110 +1,143 @@
|
|
|
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
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
-
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
16
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
25
|
-
|
|
26
|
-
var _Icons = require("./Icons");
|
|
27
|
-
|
|
14
|
+
var _variables = require("../common/variables");
|
|
15
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
28
16
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
17
|
+
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); }
|
|
18
|
+
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; }
|
|
19
|
+
var icons = {
|
|
20
|
+
validIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
21
|
+
id: "check_circle_black_18dp",
|
|
22
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
23
|
+
width: "18",
|
|
24
|
+
height: "18",
|
|
25
|
+
viewBox: "0 0 18 18"
|
|
26
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
27
|
+
id: "Path_2946",
|
|
28
|
+
"data-name": "Path 2946",
|
|
29
|
+
d: "M0,0H18V18H0Z",
|
|
30
|
+
fill: "none"
|
|
31
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
|
+
id: "Path_2947",
|
|
33
|
+
"data-name": "Path 2947",
|
|
34
|
+
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",
|
|
35
|
+
transform: "translate(-0.986 -0.986)",
|
|
36
|
+
fill: "#eafaef",
|
|
37
|
+
opacity: "0.999"
|
|
38
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
39
|
+
id: "Path_2948",
|
|
40
|
+
"data-name": "Path 2948",
|
|
41
|
+
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",
|
|
42
|
+
transform: "translate(-0.493 -0.493)",
|
|
43
|
+
fill: "#24a148"
|
|
44
|
+
})),
|
|
45
|
+
invalidIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
46
|
+
id: "highlight_off_black_18dp",
|
|
47
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
48
|
+
width: "18",
|
|
49
|
+
height: "18",
|
|
50
|
+
viewBox: "0 0 18 18"
|
|
51
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
52
|
+
id: "Path_2943",
|
|
53
|
+
"data-name": "Path 2943",
|
|
54
|
+
d: "M0,0H18V18H0Z",
|
|
55
|
+
fill: "none"
|
|
56
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
57
|
+
id: "Path_2944",
|
|
58
|
+
"data-name": "Path 2944",
|
|
59
|
+
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",
|
|
60
|
+
transform: "translate(-1.002 -1.002)",
|
|
61
|
+
fill: "#ffe6e9"
|
|
62
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
63
|
+
id: "Path_2945",
|
|
64
|
+
"data-name": "Path 2945",
|
|
65
|
+
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",
|
|
66
|
+
transform: "translate(-0.501 -0.501)",
|
|
67
|
+
fill: "#d0011b"
|
|
68
|
+
}))
|
|
69
|
+
};
|
|
34
70
|
var DxcWizard = function DxcWizard(_ref) {
|
|
71
|
+
var _ref2;
|
|
35
72
|
var _ref$mode = _ref.mode,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var _useState = (0, _react.useState)(currentStep
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
73
|
+
mode = _ref$mode === void 0 ? "horizontal" : _ref$mode,
|
|
74
|
+
defaultCurrentStep = _ref.defaultCurrentStep,
|
|
75
|
+
currentStep = _ref.currentStep,
|
|
76
|
+
onStepClick = _ref.onStepClick,
|
|
77
|
+
steps = _ref.steps,
|
|
78
|
+
margin = _ref.margin,
|
|
79
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
80
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
81
|
+
var _useState = (0, _react.useState)((_ref2 = currentStep !== null && currentStep !== void 0 ? currentStep : defaultCurrentStep) !== null && _ref2 !== void 0 ? _ref2 : 0),
|
|
82
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
83
|
+
innerCurrent = _useState2[0],
|
|
84
|
+
setInnerCurrentStep = _useState2[1];
|
|
49
85
|
var renderedCurrent = currentStep == null ? innerCurrent : currentStep;
|
|
50
86
|
var colorsTheme = (0, _useTheme["default"])();
|
|
51
|
-
|
|
52
87
|
var handleStepClick = function handleStepClick(newValue) {
|
|
53
88
|
if (currentStep == null) {
|
|
54
89
|
setInnerCurrentStep(newValue);
|
|
55
90
|
}
|
|
56
|
-
|
|
57
91
|
if (onStepClick) {
|
|
58
92
|
onStepClick(newValue);
|
|
59
93
|
}
|
|
60
94
|
};
|
|
61
|
-
|
|
62
95
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
63
96
|
theme: colorsTheme.wizard
|
|
64
97
|
}, /*#__PURE__*/_react["default"].createElement(StepsContainer, {
|
|
65
98
|
mode: mode,
|
|
66
|
-
margin: margin
|
|
99
|
+
margin: margin,
|
|
100
|
+
role: "group"
|
|
67
101
|
}, steps === null || steps === void 0 ? void 0 : steps.map(function (step, i) {
|
|
68
102
|
return /*#__PURE__*/_react["default"].createElement(StepContainer, {
|
|
69
103
|
key: "step".concat(i),
|
|
70
104
|
mode: mode,
|
|
71
105
|
lastStep: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1
|
|
72
106
|
}, /*#__PURE__*/_react["default"].createElement(Step, {
|
|
73
|
-
tabIndex: tabIndex,
|
|
74
107
|
onClick: function onClick() {
|
|
75
|
-
|
|
108
|
+
handleStepClick(i);
|
|
76
109
|
},
|
|
77
|
-
mode: mode,
|
|
78
110
|
disabled: step.disabled,
|
|
111
|
+
mode: mode,
|
|
79
112
|
first: i === 0,
|
|
80
|
-
last: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1
|
|
81
|
-
|
|
113
|
+
last: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1,
|
|
114
|
+
"aria-current": renderedCurrent === i ? "step" : "false",
|
|
115
|
+
tabIndex: tabIndex
|
|
116
|
+
}, /*#__PURE__*/_react["default"].createElement(StepHeader, {
|
|
117
|
+
validityIcon: step.valid !== undefined
|
|
118
|
+
}, /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
82
119
|
current: i === renderedCurrent,
|
|
83
120
|
visited: i < renderedCurrent,
|
|
84
121
|
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, {
|
|
122
|
+
}, step.icon ? /*#__PURE__*/_react["default"].createElement(StepIconContainer, null, typeof step.icon === "string" ? /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
123
|
+
src: step.icon
|
|
124
|
+
}) : 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, {
|
|
125
|
+
current: i === renderedCurrent,
|
|
93
126
|
disabled: step.disabled,
|
|
94
127
|
visited: i <= innerCurrent
|
|
95
|
-
}, step.label)
|
|
128
|
+
}, step.label), step.description && /*#__PURE__*/_react["default"].createElement(Description, {
|
|
129
|
+
current: i === renderedCurrent,
|
|
96
130
|
disabled: step.disabled,
|
|
97
131
|
visited: i <= innerCurrent
|
|
98
|
-
}, step.description)
|
|
132
|
+
}, step.description))), i === steps.length - 1 ? "" : /*#__PURE__*/_react["default"].createElement(StepSeparator, {
|
|
99
133
|
mode: mode
|
|
100
134
|
}));
|
|
101
135
|
})));
|
|
102
136
|
};
|
|
103
|
-
|
|
104
|
-
var StepsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n justify-content: \"center\";\n ", ";\n font-family: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
137
|
+
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
138
|
return props.mode === "vertical" ? "column" : "row";
|
|
106
139
|
}, function (props) {
|
|
107
|
-
return props.mode === "vertical"
|
|
140
|
+
return props.mode === "vertical" && "height: 500px";
|
|
108
141
|
}, function (props) {
|
|
109
142
|
return props.theme.fontFamily;
|
|
110
143
|
}, function (props) {
|
|
@@ -118,18 +151,16 @@ var StepsContainer = _styledComponents["default"].div(_templateObject || (_templ
|
|
|
118
151
|
}, function (props) {
|
|
119
152
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
120
153
|
});
|
|
121
|
-
|
|
122
154
|
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
|
|
155
|
+
return props.mode !== "vertical" && "align-items: center;";
|
|
124
156
|
}, function (props) {
|
|
125
157
|
return props.lastStep ? "0" : "1";
|
|
126
158
|
}, function (props) {
|
|
127
159
|
return props.mode === "vertical" ? "column" : "row";
|
|
128
160
|
}, function (props) {
|
|
129
|
-
return props.mode === "vertical"
|
|
161
|
+
return props.mode === "vertical" && "width: fit-content;";
|
|
130
162
|
});
|
|
131
|
-
|
|
132
|
-
var Step = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n border: none;\n background: inherit;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n margin: ", ";\n\n padding: 0px;\n ", ";\n\n &:hover {\n ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n"])), function (props) {
|
|
163
|
+
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
164
|
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
165
|
}, function (props) {
|
|
135
166
|
return props.disabled ? "cursor: not-allowed" : "";
|
|
@@ -138,49 +169,43 @@ var Step = _styledComponents["default"].button(_templateObject3 || (_templateObj
|
|
|
138
169
|
}, function (props) {
|
|
139
170
|
return props.theme.focusColor;
|
|
140
171
|
});
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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.
|
|
172
|
+
var StepHeader = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n ", "\n"])), function (props) {
|
|
173
|
+
return props.validityIcon && "padding-bottom: 4px;";
|
|
174
|
+
});
|
|
175
|
+
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) {
|
|
176
|
+
return props.disabled ? props.theme.disabledStepWidth : props.current ? props.theme.selectedStepWidth : props.theme.stepWidth;
|
|
146
177
|
}, function (props) {
|
|
147
|
-
return props.disabled ? props.theme.
|
|
178
|
+
return props.disabled ? props.theme.disabledStepHeight : props.current ? props.theme.selectedStepHeight : props.theme.stepHeight;
|
|
148
179
|
}, function (props) {
|
|
149
|
-
return "\n ".concat(
|
|
180
|
+
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
181
|
}, function (props) {
|
|
151
|
-
return props.disabled ? "color: ".concat(props.theme.
|
|
182
|
+
return props.disabled ? "color: ".concat(props.theme.disabledStepFontColor, ";") : "color: ".concat(props.current ? props.theme.selectedStepFontColor : !props.visited ? props.theme.unvisitedStepFontColor : props.theme.visitedStepFontColor, ";");
|
|
152
183
|
}, function (props) {
|
|
153
|
-
return !props.current && !props.disabled ? props.theme.
|
|
184
|
+
return !props.current && !props.disabled ? props.theme.stepBorderRadius : props.current ? props.theme.selectedStepBorderRadius : props.disabled ? props.theme.disabledStepBorderRadius : "";
|
|
154
185
|
});
|
|
155
|
-
|
|
156
186
|
var Icon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n"])), function (props) {
|
|
157
|
-
return props.theme.
|
|
187
|
+
return props.theme.stepIconSize;
|
|
158
188
|
}, function (props) {
|
|
159
|
-
return props.theme.
|
|
189
|
+
return props.theme.stepIconSize;
|
|
160
190
|
});
|
|
161
|
-
|
|
162
191
|
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.
|
|
192
|
+
return props.theme.stepIconSize;
|
|
164
193
|
}, function (props) {
|
|
165
|
-
return props.theme.
|
|
194
|
+
return props.theme.stepIconSize;
|
|
166
195
|
});
|
|
167
|
-
|
|
168
196
|
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.
|
|
197
|
+
return props.theme.stepFontSize;
|
|
170
198
|
}, function (props) {
|
|
171
|
-
return props.theme.
|
|
199
|
+
return props.theme.stepFontFamily;
|
|
172
200
|
}, function (props) {
|
|
173
|
-
return props.theme.
|
|
201
|
+
return props.theme.stepFontStyle;
|
|
174
202
|
}, function (props) {
|
|
175
|
-
return props.theme.
|
|
203
|
+
return props.theme.stepFontWeight;
|
|
176
204
|
}, function (props) {
|
|
177
|
-
return props.theme.
|
|
205
|
+
return props.theme.stepFontTracking;
|
|
178
206
|
});
|
|
179
|
-
|
|
180
207
|
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"])));
|
|
181
|
-
|
|
182
208
|
var InfoContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 12px;\n"])));
|
|
183
|
-
|
|
184
209
|
var Label = _styledComponents["default"].p(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n ", ";\n text-transform: ", ";\n margin: 0;\n"])), function (props) {
|
|
185
210
|
return props.theme.labelTextAlign;
|
|
186
211
|
}, function (props) {
|
|
@@ -192,40 +217,34 @@ var Label = _styledComponents["default"].p(_templateObject11 || (_templateObject
|
|
|
192
217
|
}, function (props) {
|
|
193
218
|
return props.theme.labelFontWeight;
|
|
194
219
|
}, function (props) {
|
|
195
|
-
return props.theme.
|
|
220
|
+
return props.theme.labelFontTracking;
|
|
196
221
|
}, function (props) {
|
|
197
|
-
return props.disabled ? "color: ".concat(props.theme.
|
|
222
|
+
return props.disabled ? "color: ".concat(props.theme.disabledLabelFontColor, ";") : "color: ".concat(!props.visited ? props.theme.unvisitedLabelFontColor : props.current ? props.theme.selectedLabelFontColor : props.theme.visitedLabelFontColor, ";");
|
|
198
223
|
}, function (props) {
|
|
199
224
|
return props.theme.labelFontTextTransform;
|
|
200
225
|
});
|
|
201
|
-
|
|
202
226
|
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.
|
|
227
|
+
return props.theme.helperTextTextAlign;
|
|
204
228
|
}, function (props) {
|
|
205
|
-
return props.theme.
|
|
229
|
+
return props.theme.helperTextFontFamily;
|
|
206
230
|
}, function (props) {
|
|
207
|
-
return props.theme.
|
|
231
|
+
return props.theme.helperTextFontSize;
|
|
208
232
|
}, function (props) {
|
|
209
|
-
return props.theme.
|
|
233
|
+
return props.theme.helperTextFontStyle;
|
|
210
234
|
}, function (props) {
|
|
211
|
-
return props.theme.
|
|
235
|
+
return props.theme.helperTextFontWeight;
|
|
212
236
|
}, function (props) {
|
|
213
|
-
return props.theme.
|
|
237
|
+
return props.theme.helperTextFontTracking;
|
|
214
238
|
}, function (props) {
|
|
215
|
-
return props.theme.
|
|
239
|
+
return props.theme.helperTextFontTextTransform;
|
|
216
240
|
}, function (props) {
|
|
217
|
-
return props.disabled ? "color: ".concat(props.theme.
|
|
241
|
+
return props.disabled ? "color: ".concat(props.theme.disabledHelperTextFontColor, ";") : "color: ".concat(!props.visited ? props.theme.unvisitedHelperTextFontColor : props.current ? props.theme.selectedHelperTextFontColor : props.theme.visitedHelperTextFontColor, ";");
|
|
218
242
|
});
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return props.mode === "horizontal" ? "" : "0";
|
|
243
|
+
var StepSeparator = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n ", "\n border: ", ";\n opacity: 1;\n flex-grow: 1;\n"])), function (props) {
|
|
244
|
+
return props.mode === "horizontal" ? "height: 0;" : "width: 0;";
|
|
222
245
|
}, function (props) {
|
|
223
|
-
return props.mode === "
|
|
224
|
-
}, function (props) {
|
|
225
|
-
return props.mode === "vertical" ? "margin: 0 18px;" : "";
|
|
246
|
+
return props.mode === "vertical" && "margin: 0 18px;";
|
|
226
247
|
}, function (props) {
|
|
227
248
|
return "".concat(props.theme.separatorBorderStyle, " ").concat(props.theme.separatorBorderThickness, " ").concat(props.theme.separatorColor);
|
|
228
249
|
});
|
|
229
|
-
|
|
230
|
-
var _default = DxcWizard;
|
|
231
|
-
exports["default"] = _default;
|
|
250
|
+
var _default = exports["default"] = DxcWizard;
|
|
@@ -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,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _Wizard = _interopRequireDefault(require("./Wizard.tsx"));
|
|
7
|
+
describe("Wizard components tests", function () {
|
|
8
|
+
test("Wizard renders with correct steps", function () {
|
|
9
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
10
|
+
steps: [{
|
|
11
|
+
label: "first-step"
|
|
12
|
+
}, {
|
|
13
|
+
label: "second-step"
|
|
14
|
+
}]
|
|
15
|
+
})),
|
|
16
|
+
getByText = _render.getByText,
|
|
17
|
+
getAllByRole = _render.getAllByRole;
|
|
18
|
+
var steps = getAllByRole("button");
|
|
19
|
+
expect(getByText("first-step")).toBeTruthy();
|
|
20
|
+
expect(getByText("second-step")).toBeTruthy();
|
|
21
|
+
expect(steps[0].getAttribute("aria-current")).toBe("step");
|
|
22
|
+
expect(steps[1].getAttribute("aria-current")).toBe("false");
|
|
23
|
+
});
|
|
24
|
+
test("Wizard renders with initially selected step", function () {
|
|
25
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
26
|
+
defaultCurrentStep: 1,
|
|
27
|
+
steps: [{
|
|
28
|
+
label: "first-step"
|
|
29
|
+
}, {
|
|
30
|
+
label: "second-step"
|
|
31
|
+
}]
|
|
32
|
+
})),
|
|
33
|
+
getAllByRole = _render2.getAllByRole;
|
|
34
|
+
var steps = getAllByRole("button");
|
|
35
|
+
expect(steps[1].getAttribute("aria-current")).toBe("step");
|
|
36
|
+
});
|
|
37
|
+
test("Click on step text", function () {
|
|
38
|
+
var onClick = jest.fn();
|
|
39
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
40
|
+
onStepClick: onClick,
|
|
41
|
+
steps: [{
|
|
42
|
+
label: "first-step"
|
|
43
|
+
}]
|
|
44
|
+
})),
|
|
45
|
+
getByText = _render3.getByText;
|
|
46
|
+
var step = getByText("first-step");
|
|
47
|
+
_react2.fireEvent.click(step);
|
|
48
|
+
expect(onClick).toHaveBeenCalled();
|
|
49
|
+
});
|
|
50
|
+
test("Click on step description", function () {
|
|
51
|
+
var onClick = jest.fn();
|
|
52
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
53
|
+
onStepClick: onClick,
|
|
54
|
+
steps: [{
|
|
55
|
+
label: "first-step",
|
|
56
|
+
description: "step-description"
|
|
57
|
+
}]
|
|
58
|
+
})),
|
|
59
|
+
getByText = _render4.getByText;
|
|
60
|
+
var step = getByText("step-description");
|
|
61
|
+
_react2.fireEvent.click(step);
|
|
62
|
+
expect(onClick).toHaveBeenCalled();
|
|
63
|
+
});
|
|
64
|
+
test("Click on step number", function () {
|
|
65
|
+
var onClick = jest.fn();
|
|
66
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
67
|
+
onStepClick: onClick,
|
|
68
|
+
steps: [{
|
|
69
|
+
label: "first-step"
|
|
70
|
+
}]
|
|
71
|
+
})),
|
|
72
|
+
getByText = _render5.getByText;
|
|
73
|
+
var step = getByText("1");
|
|
74
|
+
_react2.fireEvent.click(step);
|
|
75
|
+
expect(onClick).toHaveBeenCalled();
|
|
76
|
+
});
|
|
77
|
+
test("Click on disable step", function () {
|
|
78
|
+
var onClick = jest.fn();
|
|
79
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
80
|
+
onStepClick: onClick,
|
|
81
|
+
steps: [{
|
|
82
|
+
label: "first-step"
|
|
83
|
+
}, {
|
|
84
|
+
label: "second-step",
|
|
85
|
+
disabled: true
|
|
86
|
+
}]
|
|
87
|
+
})),
|
|
88
|
+
getByText = _render6.getByText;
|
|
89
|
+
var step = getByText("second-step");
|
|
90
|
+
_react2.fireEvent.click(step);
|
|
91
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
92
|
+
});
|
|
93
|
+
test("Controlled wizard function is called", function () {
|
|
94
|
+
var onClick = jest.fn(function (i) {
|
|
95
|
+
return i;
|
|
96
|
+
});
|
|
97
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
|
|
98
|
+
currentStep: 0,
|
|
99
|
+
onStepClick: onClick,
|
|
100
|
+
steps: [{
|
|
101
|
+
label: "first-step"
|
|
102
|
+
}, {
|
|
103
|
+
label: "second-step"
|
|
104
|
+
}]
|
|
105
|
+
})),
|
|
106
|
+
getAllByRole = _render7.getAllByRole;
|
|
107
|
+
var steps = getAllByRole("button");
|
|
108
|
+
_react2.fireEvent.click(steps[1]);
|
|
109
|
+
_react2.fireEvent.click(steps[0]);
|
|
110
|
+
expect(onClick).toHaveBeenCalledTimes(2);
|
|
111
|
+
expect(onClick).toHaveBeenNthCalledWith(1, 1);
|
|
112
|
+
expect(onClick).toHaveBeenNthCalledWith(2, 0);
|
|
113
|
+
});
|
|
114
|
+
});
|
package/wizard/types.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
export 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
|
*/
|
|
@@ -33,24 +29,28 @@ declare type Step = {
|
|
|
33
29
|
*/
|
|
34
30
|
valid?: boolean;
|
|
35
31
|
};
|
|
36
|
-
|
|
32
|
+
type Props = {
|
|
37
33
|
/**
|
|
38
34
|
* The wizard can be showed in horizontal or vertical.
|
|
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
|
/**
|
|
46
46
|
* This function will be called when the user clicks a step. The step
|
|
47
47
|
* number will be passed as a parameter.
|
|
48
48
|
*/
|
|
49
|
-
onStepClick?: (
|
|
49
|
+
onStepClick?: (currentStep: number) => void;
|
|
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.
|