@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-ca55cbe
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 +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1329 -5
- package/HalstackContext.js +117 -77
- package/accordion/Accordion.js +118 -110
- package/accordion/Accordion.stories.tsx +104 -16
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +2 -1
- package/accordion-group/AccordionGroup.js +4 -23
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +21 -46
- package/accordion-group/types.d.ts +8 -1
- package/alert/Alert.js +4 -6
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +4 -6
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +1 -0
- 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 +11 -0
- package/button/Button.js +52 -73
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +5 -5
- package/card/Card.js +12 -13
- package/card/Card.stories.tsx +12 -13
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +94 -101
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +18 -26
- package/chip/Chip.stories.tsx +96 -9
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- 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 +1009 -1118
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- 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 +51 -0
- package/dialog/Dialog.js +80 -69
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -249
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- 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 +23 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +174 -220
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +17 -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/footer/Footer.js +6 -8
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- 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/header/Header.d.ts +3 -2
- package/header/Header.js +89 -89
- package/header/Header.stories.tsx +152 -9
- package/header/Header.test.js +2 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +1 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +1 -1
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +38 -66
- package/layout/ApplicationLayout.stories.tsx +80 -44
- package/layout/types.d.ts +18 -29
- package/link/Link.js +4 -4
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +3 -3
- package/main.d.ts +7 -9
- package/main.js +33 -49
- package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +40 -22
- package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
- package/number-input/NumberInput.test.js +44 -8
- package/package.json +17 -21
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +7 -15
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +78 -39
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.test.js +14 -13
- package/progress-bar/ProgressBar.js +60 -54
- package/progress-bar/ProgressBar.stories.jsx +38 -3
- package/progress-bar/ProgressBar.test.js +68 -23
- package/quick-nav/QuickNav.js +25 -20
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +23 -22
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +33 -16
- package/select/Option.js +11 -24
- package/select/Select.js +92 -71
- package/select/Select.stories.tsx +513 -136
- package/select/Select.test.js +413 -305
- package/select/types.d.ts +3 -6
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +139 -48
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +137 -70
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.js +358 -108
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +13 -3
- package/tag/Tag.js +8 -10
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +40 -11
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +198 -295
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +736 -725
- package/text-input/types.d.ts +22 -3
- package/textarea/Textarea.js +3 -4
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/toggle-group/ToggleGroup.js +7 -4
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- 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 +1234 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.js +10 -17
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/common/RequiredComponent.js +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{row → flex}/types.js +0 -0
- /package/{stack → grid}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.js +0 -0
package/useTheme.js
CHANGED
package/useTranslatedLabels.d.ts
CHANGED
|
@@ -1,2 +1,85 @@
|
|
|
1
|
-
declare const useTranslatedLabels: () =>
|
|
1
|
+
declare const useTranslatedLabels: () => {
|
|
2
|
+
formFields?: Partial<{
|
|
3
|
+
optionalLabel: string;
|
|
4
|
+
requiredSelectionErrorMessage: string;
|
|
5
|
+
requiredValueErrorMessage: string;
|
|
6
|
+
formatRequestedErrorMessage: string;
|
|
7
|
+
lengthErrorMessage: (minLength?: number, maxLength?: number) => string;
|
|
8
|
+
logoAlternativeText: string;
|
|
9
|
+
}>;
|
|
10
|
+
applicationLayout?: Partial<{
|
|
11
|
+
visibilityToggleTitle: string;
|
|
12
|
+
}>;
|
|
13
|
+
alert?: Partial<{
|
|
14
|
+
infoTitleText: string;
|
|
15
|
+
successTitleText: string;
|
|
16
|
+
warningTitleText: string;
|
|
17
|
+
errorTitleText: string;
|
|
18
|
+
}>;
|
|
19
|
+
dateInput?: Partial<{
|
|
20
|
+
invalidDateErrorMessage: string;
|
|
21
|
+
}>;
|
|
22
|
+
dialog?: Partial<{
|
|
23
|
+
closeIconAriaLabel: string;
|
|
24
|
+
}>;
|
|
25
|
+
fileInput?: Partial<{
|
|
26
|
+
fileSizeGreaterThanErrorMessage: string;
|
|
27
|
+
fileSizeLessThanErrorMessage: string;
|
|
28
|
+
multipleButtonLabelDefault: string;
|
|
29
|
+
singleButtonLabelDefault: string;
|
|
30
|
+
dropAreaButtonLabelDefault: string;
|
|
31
|
+
multipleDropAreaLabelDefault: string;
|
|
32
|
+
singleDropAreaLabelDefault: string;
|
|
33
|
+
deleteFileActionTitle: string;
|
|
34
|
+
}>;
|
|
35
|
+
footer?: Partial<{
|
|
36
|
+
copyrightText: (year: number) => string;
|
|
37
|
+
}>;
|
|
38
|
+
header?: Partial<{
|
|
39
|
+
closeIcon: string;
|
|
40
|
+
hamburguerTitle: string;
|
|
41
|
+
}>;
|
|
42
|
+
numberInput?: Partial<{
|
|
43
|
+
valueGreaterThanOrEqualToErrorMessage: (value: number) => string;
|
|
44
|
+
valueLessThanOrEqualToErrorMessage: (value: number) => string;
|
|
45
|
+
decrementValueTitle: string;
|
|
46
|
+
incrementValueTitle: string;
|
|
47
|
+
}>;
|
|
48
|
+
paginator?: Partial<{
|
|
49
|
+
itemsPerPageText: string;
|
|
50
|
+
minToMaxOfText: (minNumberOfItems: number, maxNumberOfItems: number, totalItems: number) => string;
|
|
51
|
+
goToPageText: string;
|
|
52
|
+
pageOfText: (pageNumber: number, totalPagesNumber: number) => string;
|
|
53
|
+
}>;
|
|
54
|
+
passwordInput?: Partial<{
|
|
55
|
+
inputShowPasswordTitle: string;
|
|
56
|
+
inputHidePasswordTitle: string;
|
|
57
|
+
}>;
|
|
58
|
+
quickNav?: Partial<{
|
|
59
|
+
contentTitle: string;
|
|
60
|
+
}>;
|
|
61
|
+
radioGroup?: Partial<{
|
|
62
|
+
optionalItemLabelDefault: string;
|
|
63
|
+
}>;
|
|
64
|
+
select?: Partial<{
|
|
65
|
+
noMatchesErrorMessage: string;
|
|
66
|
+
actionClearSelectionTitle: string;
|
|
67
|
+
actionClearSearchTitle: string;
|
|
68
|
+
}>;
|
|
69
|
+
tabs?: Partial<{
|
|
70
|
+
scrollLeft: string;
|
|
71
|
+
scrollRight: string;
|
|
72
|
+
}>;
|
|
73
|
+
textInput?: Partial<{
|
|
74
|
+
clearFieldActionTitle: string;
|
|
75
|
+
searchingMessage: string;
|
|
76
|
+
fetchingDataErrorMessage: string;
|
|
77
|
+
}>;
|
|
78
|
+
calendar?: Partial<{
|
|
79
|
+
daysShort: string[];
|
|
80
|
+
months: string[];
|
|
81
|
+
previousMonthTitle: string;
|
|
82
|
+
nextMonthTitle: string;
|
|
83
|
+
}>;
|
|
84
|
+
};
|
|
2
85
|
export default useTranslatedLabels;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare type TypographyContextProps = {
|
|
3
|
+
as?: keyof HTMLElementTagNameMap;
|
|
4
|
+
display?: string;
|
|
5
|
+
fontFamily?: string;
|
|
6
|
+
fontSize?: string;
|
|
7
|
+
fontStyle?: string;
|
|
8
|
+
fontWeight?: string;
|
|
9
|
+
letterSpacing?: string;
|
|
10
|
+
lineHeight?: string;
|
|
11
|
+
textAlign?: string;
|
|
12
|
+
color?: string;
|
|
13
|
+
textDecoration?: string;
|
|
14
|
+
textOverflow?: string;
|
|
15
|
+
whiteSpace?: string;
|
|
16
|
+
};
|
|
17
|
+
declare type BaseTypographyProps = TypographyContextProps & {
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
};
|
|
20
|
+
declare const BaseTypography: ({ as, display, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign, color, textDecoration, textOverflow, whiteSpace, children, }: BaseTypographyProps) => JSX.Element;
|
|
21
|
+
export default BaseTypography;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _templateObject;
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
23
|
+
|
|
24
|
+
var TypographyContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
25
|
+
|
|
26
|
+
var BaseTypography = function BaseTypography(_ref) {
|
|
27
|
+
var as = _ref.as,
|
|
28
|
+
display = _ref.display,
|
|
29
|
+
fontFamily = _ref.fontFamily,
|
|
30
|
+
fontSize = _ref.fontSize,
|
|
31
|
+
fontStyle = _ref.fontStyle,
|
|
32
|
+
fontWeight = _ref.fontWeight,
|
|
33
|
+
letterSpacing = _ref.letterSpacing,
|
|
34
|
+
lineHeight = _ref.lineHeight,
|
|
35
|
+
textAlign = _ref.textAlign,
|
|
36
|
+
color = _ref.color,
|
|
37
|
+
textDecoration = _ref.textDecoration,
|
|
38
|
+
textOverflow = _ref.textOverflow,
|
|
39
|
+
whiteSpace = _ref.whiteSpace,
|
|
40
|
+
children = _ref.children;
|
|
41
|
+
var componentContext = (0, _react.useContext)(TypographyContext);
|
|
42
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
43
|
+
var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14;
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
as: (_ref2 = as !== null && as !== void 0 ? as : componentContext === null || componentContext === void 0 ? void 0 : componentContext.as) !== null && _ref2 !== void 0 ? _ref2 : "span",
|
|
47
|
+
display: (_ref3 = display !== null && display !== void 0 ? display : componentContext === null || componentContext === void 0 ? void 0 : componentContext.display) !== null && _ref3 !== void 0 ? _ref3 : "inline",
|
|
48
|
+
fontFamily: (_ref4 = fontFamily !== null && fontFamily !== void 0 ? fontFamily : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontFamily) !== null && _ref4 !== void 0 ? _ref4 : "Open Sans, sans-serif",
|
|
49
|
+
fontSize: (_ref5 = fontSize !== null && fontSize !== void 0 ? fontSize : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontSize) !== null && _ref5 !== void 0 ? _ref5 : "1rem",
|
|
50
|
+
fontStyle: (_ref6 = fontStyle !== null && fontStyle !== void 0 ? fontStyle : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontStyle) !== null && _ref6 !== void 0 ? _ref6 : "normal",
|
|
51
|
+
fontWeight: (_ref7 = fontWeight !== null && fontWeight !== void 0 ? fontWeight : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontWeight) !== null && _ref7 !== void 0 ? _ref7 : "400",
|
|
52
|
+
letterSpacing: (_ref8 = letterSpacing !== null && letterSpacing !== void 0 ? letterSpacing : componentContext === null || componentContext === void 0 ? void 0 : componentContext.letterSpacing) !== null && _ref8 !== void 0 ? _ref8 : "0em",
|
|
53
|
+
lineHeight: (_ref9 = lineHeight !== null && lineHeight !== void 0 ? lineHeight : componentContext === null || componentContext === void 0 ? void 0 : componentContext.lineHeight) !== null && _ref9 !== void 0 ? _ref9 : "1.5em",
|
|
54
|
+
textAlign: (_ref10 = textAlign !== null && textAlign !== void 0 ? textAlign : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textAlign) !== null && _ref10 !== void 0 ? _ref10 : "left",
|
|
55
|
+
color: (_ref11 = color !== null && color !== void 0 ? color : componentContext === null || componentContext === void 0 ? void 0 : componentContext.color) !== null && _ref11 !== void 0 ? _ref11 : "#000000",
|
|
56
|
+
textDecoration: (_ref12 = textDecoration !== null && textDecoration !== void 0 ? textDecoration : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textDecoration) !== null && _ref12 !== void 0 ? _ref12 : "none",
|
|
57
|
+
textOverflow: (_ref13 = textOverflow !== null && textOverflow !== void 0 ? textOverflow : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textOverflow) !== null && _ref13 !== void 0 ? _ref13 : "unset",
|
|
58
|
+
whiteSpace: (_ref14 = whiteSpace !== null && whiteSpace !== void 0 ? whiteSpace : componentContext === null || componentContext === void 0 ? void 0 : componentContext.whiteSpace) !== null && _ref14 !== void 0 ? _ref14 : "normal"
|
|
59
|
+
};
|
|
60
|
+
}, [as, display, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign, color, textDecoration, textOverflow, whiteSpace]);
|
|
61
|
+
return /*#__PURE__*/_react["default"].createElement(TypographyContext.Provider, {
|
|
62
|
+
value: contextValue
|
|
63
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledTypography, contextValue, children));
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var StyledTypography = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n line-height: ", ";\n text-align: ", ";\n text-decoration: ", ";\n text-overflow: ", ";\n white-space: ", ";\n overflow: ", ";\n margin: 0;\n"])), function (_ref15) {
|
|
67
|
+
var display = _ref15.display;
|
|
68
|
+
return display;
|
|
69
|
+
}, function (_ref16) {
|
|
70
|
+
var color = _ref16.color;
|
|
71
|
+
return color;
|
|
72
|
+
}, function (_ref17) {
|
|
73
|
+
var fontFamily = _ref17.fontFamily;
|
|
74
|
+
return fontFamily;
|
|
75
|
+
}, function (_ref18) {
|
|
76
|
+
var fontSize = _ref18.fontSize;
|
|
77
|
+
return fontSize;
|
|
78
|
+
}, function (_ref19) {
|
|
79
|
+
var fontStyle = _ref19.fontStyle;
|
|
80
|
+
return fontStyle;
|
|
81
|
+
}, function (_ref20) {
|
|
82
|
+
var fontWeight = _ref20.fontWeight;
|
|
83
|
+
return fontWeight;
|
|
84
|
+
}, function (_ref21) {
|
|
85
|
+
var letterSpacing = _ref21.letterSpacing;
|
|
86
|
+
return letterSpacing;
|
|
87
|
+
}, function (_ref22) {
|
|
88
|
+
var lineHeight = _ref22.lineHeight;
|
|
89
|
+
return lineHeight;
|
|
90
|
+
}, function (_ref23) {
|
|
91
|
+
var textAlign = _ref23.textAlign;
|
|
92
|
+
return textAlign;
|
|
93
|
+
}, function (_ref24) {
|
|
94
|
+
var textDecoration = _ref24.textDecoration;
|
|
95
|
+
return textDecoration;
|
|
96
|
+
}, function (_ref25) {
|
|
97
|
+
var textOverflow = _ref25.textOverflow;
|
|
98
|
+
return textOverflow;
|
|
99
|
+
}, function (_ref26) {
|
|
100
|
+
var whiteSpace = _ref26.whiteSpace;
|
|
101
|
+
return whiteSpace;
|
|
102
|
+
}, function (_ref27) {
|
|
103
|
+
var textOverflow = _ref27.textOverflow;
|
|
104
|
+
return textOverflow !== "unset" ? "hidden" : "visible";
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
var _default = BaseTypography;
|
|
108
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Traps the focus inside the children of the component. It will focus the first focusable element when the component is mounted.
|
|
4
|
+
* When the focus is on the last focusable element and the user tries to focus the next element, it will focus the first element.
|
|
5
|
+
* When the focus is on the first focusable element and the user tries to focus the previous element, it will focus the last element.
|
|
6
|
+
* The focus can't be moved outside the children unless the children are removed from the DOM (for example, a Dialog, a Modal, etc).
|
|
7
|
+
* @param children: React.ReactNode
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
declare const FocusLock: ({ children }: {
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
}) => JSX.Element;
|
|
13
|
+
export default FocusLock;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
19
|
+
|
|
20
|
+
var not = {
|
|
21
|
+
inert: ":not([inert]):not([inert] *)",
|
|
22
|
+
negTabIndex: ':not([tabindex^="-"])',
|
|
23
|
+
disabled: ":not(:disabled)"
|
|
24
|
+
};
|
|
25
|
+
var focusableQuery = ["a[href]".concat(not.inert).concat(not.negTabIndex), "area[href]".concat(not.inert).concat(not.negTabIndex), "input:not([type=\"hidden\"])".concat(not.inert).concat(not.negTabIndex).concat(not.disabled), "select".concat(not.inert).concat(not.negTabIndex).concat(not.disabled), "textarea".concat(not.inert).concat(not.negTabIndex).concat(not.disabled), "button".concat(not.inert).concat(not.negTabIndex).concat(not.disabled), "details".concat(not.inert, " > summary:first-of-type").concat(not.negTabIndex), "iframe".concat(not.inert).concat(not.negTabIndex), "audio[controls]".concat(not.inert).concat(not.negTabIndex), "video[controls]".concat(not.inert).concat(not.negTabIndex), "[contenteditable]".concat(not.inert).concat(not.negTabIndex), "[tabindex]".concat(not.inert).concat(not.negTabIndex).concat(not.disabled)].join(",");
|
|
26
|
+
|
|
27
|
+
var getFocusableElements = function getFocusableElements(container) {
|
|
28
|
+
return Array.prototype.slice.call(container.querySelectorAll(focusableQuery)).filter(function (element) {
|
|
29
|
+
return element.getAttribute("aria-hidden") !== "true" && window.getComputedStyle(element).display !== "none" && window.getComputedStyle(element).visibility !== "hidden";
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* This function will try to focus the element and return true if it was able to receive the focus.
|
|
34
|
+
* Even if the element is focusable (passes any of the conditions of our selector), there is the possibility
|
|
35
|
+
* that the element may not be focusable at all.
|
|
36
|
+
* @param element: HTMLElement
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
var attempFocus = function attempFocus(element) {
|
|
42
|
+
element === null || element === void 0 ? void 0 : element.focus();
|
|
43
|
+
return document.activeElement === element;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* @param element: HTMLElement
|
|
47
|
+
* @returns boolean: true if element is contained inside a Radix Portal, false otherwise.
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
var radixPortalContains = function radixPortalContains(activeElement) {
|
|
52
|
+
var radixPortals = document.querySelectorAll("[data-radix-portal]");
|
|
53
|
+
return Array.prototype.slice.call(radixPortals).some(function (portal) {
|
|
54
|
+
return portal.contains(activeElement);
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Custom hook that returns an array of focusable elements inside a container.
|
|
59
|
+
* @param ref: React.MutableRefObject<HTMLDivElement>
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
var useFocusableElements = function useFocusableElements(ref) {
|
|
65
|
+
var _useState = (0, _react.useState)(),
|
|
66
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
67
|
+
focusableElements = _useState2[0],
|
|
68
|
+
setFocusableElements = _useState2[1];
|
|
69
|
+
|
|
70
|
+
(0, _react.useEffect)(function () {
|
|
71
|
+
if (ref.current != null) {
|
|
72
|
+
setFocusableElements(getFocusableElements(ref.current));
|
|
73
|
+
var observer = new MutationObserver(function () {
|
|
74
|
+
setFocusableElements(getFocusableElements(ref.current));
|
|
75
|
+
});
|
|
76
|
+
observer.observe(ref.current, {
|
|
77
|
+
childList: true,
|
|
78
|
+
subtree: true,
|
|
79
|
+
attributes: true
|
|
80
|
+
});
|
|
81
|
+
return function () {
|
|
82
|
+
observer.disconnect();
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}, []);
|
|
86
|
+
return focusableElements;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Traps the focus inside the children of the component. It will focus the first focusable element when the component is mounted.
|
|
90
|
+
* When the focus is on the last focusable element and the user tries to focus the next element, it will focus the first element.
|
|
91
|
+
* When the focus is on the first focusable element and the user tries to focus the previous element, it will focus the last element.
|
|
92
|
+
* The focus can't be moved outside the children unless the children are removed from the DOM (for example, a Dialog, a Modal, etc).
|
|
93
|
+
* @param children: React.ReactNode
|
|
94
|
+
* @returns
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
var FocusLock = function FocusLock(_ref) {
|
|
99
|
+
var children = _ref.children;
|
|
100
|
+
var childrenContainerRef = (0, _react.useRef)();
|
|
101
|
+
var focusableElements = useFocusableElements(childrenContainerRef);
|
|
102
|
+
var focusFirst = (0, _react.useCallback)(function () {
|
|
103
|
+
var _childrenContainerRef;
|
|
104
|
+
|
|
105
|
+
if ((focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) === 0) (_childrenContainerRef = childrenContainerRef.current) === null || _childrenContainerRef === void 0 ? void 0 : _childrenContainerRef.focus();else if ((focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) > 0) for (var i = 0; i < focusableElements.length; i++) {
|
|
106
|
+
if (attempFocus(focusableElements[i])) return;
|
|
107
|
+
}
|
|
108
|
+
}, [focusableElements]);
|
|
109
|
+
|
|
110
|
+
var focusLast = function focusLast() {
|
|
111
|
+
for (var i = focusableElements.length - 1; i >= 0; i--) {
|
|
112
|
+
if (attempFocus(focusableElements[i])) return;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var focusLock = function focusLock(event) {
|
|
117
|
+
if (event.key === "Tab") focusableElements.length === 0 && event.preventDefault();else if (event.key === "Tab" && event.key === "Shift") focusableElements.length === 0 && event.preventDefault();
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
(0, _react.useEffect)(function () {
|
|
121
|
+
var _childrenContainerRef2;
|
|
122
|
+
|
|
123
|
+
if (!((_childrenContainerRef2 = childrenContainerRef.current) !== null && _childrenContainerRef2 !== void 0 && _childrenContainerRef2.contains(document.activeElement)) && !radixPortalContains(document.activeElement)) focusFirst();
|
|
124
|
+
}, [focusFirst]);
|
|
125
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
126
|
+
onFocus: focusLast,
|
|
127
|
+
tabIndex: 0
|
|
128
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
129
|
+
onKeyDown: focusLock,
|
|
130
|
+
ref: childrenContainerRef,
|
|
131
|
+
tabIndex: (focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) === 0 ? 0 : -1
|
|
132
|
+
}, children), /*#__PURE__*/_react["default"].createElement("div", {
|
|
133
|
+
onFocus: focusFirst,
|
|
134
|
+
tabIndex: 0
|
|
135
|
+
}));
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
var _default = FocusLock;
|
|
139
|
+
exports["default"] = _default;
|
package/wizard/Wizard.js
CHANGED
|
@@ -19,7 +19,7 @@ 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
24
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
25
|
|
|
@@ -139,14 +139,9 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
139
139
|
current: i === renderedCurrent,
|
|
140
140
|
visited: i < renderedCurrent,
|
|
141
141
|
disabled: step.disabled
|
|
142
|
-
}, step.icon ? /*#__PURE__*/_react["default"].createElement(StepIconContainer, {
|
|
143
|
-
disabled: step.disabled
|
|
144
|
-
}, typeof step.icon === "string" ? /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
142
|
+
}, step.icon ? /*#__PURE__*/_react["default"].createElement(StepIconContainer, null, typeof step.icon === "string" ? /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
145
143
|
src: step.icon
|
|
146
|
-
}) : step.icon) : /*#__PURE__*/_react["default"].createElement(Number, {
|
|
147
|
-
disabled: step.disabled,
|
|
148
|
-
current: i === renderedCurrent
|
|
149
|
-
}, 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, {
|
|
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, {
|
|
150
145
|
current: i === renderedCurrent,
|
|
151
146
|
disabled: step.disabled,
|
|
152
147
|
visited: i <= innerCurrent
|
|
@@ -160,7 +155,7 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
160
155
|
})));
|
|
161
156
|
};
|
|
162
157
|
|
|
163
|
-
var StepsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content:
|
|
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) {
|
|
164
159
|
return props.mode === "vertical" ? "column" : "row";
|
|
165
160
|
}, function (props) {
|
|
166
161
|
return props.mode === "vertical" && "height: 500px";
|
|
@@ -179,16 +174,16 @@ var StepsContainer = _styledComponents["default"].div(_templateObject || (_templ
|
|
|
179
174
|
});
|
|
180
175
|
|
|
181
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) {
|
|
182
|
-
return props.mode
|
|
177
|
+
return props.mode !== "vertical" && "align-items: center;";
|
|
183
178
|
}, function (props) {
|
|
184
179
|
return props.lastStep ? "0" : "1";
|
|
185
180
|
}, function (props) {
|
|
186
181
|
return props.mode === "vertical" ? "column" : "row";
|
|
187
182
|
}, function (props) {
|
|
188
|
-
return props.mode === "vertical"
|
|
183
|
+
return props.mode === "vertical" && "width: fit-content;";
|
|
189
184
|
});
|
|
190
185
|
|
|
191
|
-
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) {
|
|
192
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";
|
|
193
188
|
}, function (props) {
|
|
194
189
|
return props.disabled ? "cursor: not-allowed" : "";
|
|
@@ -278,12 +273,10 @@ var Description = _styledComponents["default"].p(_templateObject12 || (_template
|
|
|
278
273
|
return props.disabled ? "color: ".concat(props.theme.disabledHelperTextFontColor, ";") : "color: ".concat(!props.visited ? props.theme.unvisitedHelperTextFontColor : props.current ? props.theme.selectedHelperTextFontColor : props.theme.visitedHelperTextFontColor, ";");
|
|
279
274
|
});
|
|
280
275
|
|
|
281
|
-
var StepSeparator = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
282
|
-
return props.mode === "horizontal" ? "" : "0";
|
|
283
|
-
}, function (props) {
|
|
284
|
-
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;";
|
|
285
278
|
}, function (props) {
|
|
286
|
-
return props.mode === "vertical"
|
|
279
|
+
return props.mode === "vertical" && "margin: 0 18px;";
|
|
287
280
|
}, function (props) {
|
|
288
281
|
return "".concat(props.theme.separatorBorderStyle, " ").concat(props.theme.separatorBorderThickness, " ").concat(props.theme.separatorColor);
|
|
289
282
|
});
|
|
@@ -3,6 +3,7 @@ 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",
|
|
@@ -36,6 +37,7 @@ const stepWithLabel = [
|
|
|
36
37
|
label: "Forth step",
|
|
37
38
|
},
|
|
38
39
|
];
|
|
40
|
+
|
|
39
41
|
const stepWithLabelDescription = [
|
|
40
42
|
{
|
|
41
43
|
label: "First step",
|
|
@@ -56,6 +58,7 @@ const stepWithLabelDescription = [
|
|
|
56
58
|
valid: false,
|
|
57
59
|
},
|
|
58
60
|
];
|
|
61
|
+
|
|
59
62
|
const stepWithLongDescription = [
|
|
60
63
|
{
|
|
61
64
|
label: "First step",
|
|
@@ -73,6 +76,7 @@ const stepWithLongDescription = [
|
|
|
73
76
|
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. ",
|
|
74
77
|
},
|
|
75
78
|
];
|
|
79
|
+
|
|
76
80
|
const stepDisabled = [
|
|
77
81
|
{
|
|
78
82
|
label: "First step",
|
|
@@ -98,6 +102,7 @@ const stepDisabled = [
|
|
|
98
102
|
disabled: true,
|
|
99
103
|
},
|
|
100
104
|
];
|
|
105
|
+
|
|
101
106
|
const stepIcons = [
|
|
102
107
|
{
|
|
103
108
|
label: "First step",
|
|
@@ -112,6 +117,7 @@ const stepIcons = [
|
|
|
112
117
|
icon: favoriteSVG,
|
|
113
118
|
},
|
|
114
119
|
];
|
|
120
|
+
|
|
115
121
|
const stepLargeIcons = [
|
|
116
122
|
{
|
|
117
123
|
label: "First step",
|
|
@@ -127,19 +133,41 @@ const stepLargeIcons = [
|
|
|
127
133
|
},
|
|
128
134
|
];
|
|
129
135
|
|
|
136
|
+
const opinionatedTheme = {
|
|
137
|
+
wizard: {
|
|
138
|
+
baseColor: "#5f249f",
|
|
139
|
+
fontColor: "#000000",
|
|
140
|
+
selectedStepFontColor: "#ffffff",
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
|
|
130
144
|
export const Chromatic = () => (
|
|
131
145
|
<>
|
|
132
146
|
<ExampleContainer>
|
|
133
147
|
<Title title="Current step in the third step, labels and description" theme="light" level={4} />
|
|
134
148
|
<DxcWizard defaultCurrentStep={2} steps={stepWithLabelDescription}></DxcWizard>
|
|
149
|
+
</ExampleContainer>
|
|
150
|
+
<ExampleContainer>
|
|
135
151
|
<Title title="With long description in horizontal" theme="light" level={4} />
|
|
136
152
|
<DxcWizard steps={stepWithLongDescription}></DxcWizard>
|
|
153
|
+
</ExampleContainer>
|
|
154
|
+
<ExampleContainer>
|
|
137
155
|
<Title title="With long description in vertical" theme="light" level={4} />
|
|
138
156
|
<DxcWizard mode="vertical" steps={stepWithLongDescription}></DxcWizard>
|
|
157
|
+
</ExampleContainer>
|
|
158
|
+
<ExampleContainer>
|
|
139
159
|
<Title title="Disabled steps" theme="light" level={4} />
|
|
140
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>
|
|
141
167
|
<Title title="With icons" theme="light" level={4} />
|
|
142
168
|
<DxcWizard steps={stepIcons}></DxcWizard>
|
|
169
|
+
</ExampleContainer>
|
|
170
|
+
<ExampleContainer>
|
|
143
171
|
<Title title="With large icons" theme="light" level={4} />
|
|
144
172
|
<DxcWizard steps={stepLargeIcons}></DxcWizard>
|
|
145
173
|
</ExampleContainer>
|
|
@@ -201,10 +229,21 @@ export const Chromatic = () => (
|
|
|
201
229
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
202
230
|
<DxcWizard mode="vertical" margin="xxlarge" steps={stepWithLabel}></DxcWizard>
|
|
203
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>
|
|
204
238
|
</>
|
|
205
239
|
);
|
|
206
240
|
|
|
207
|
-
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
|
+
);
|
|
208
247
|
|
|
209
248
|
export const WizardStepActived = WizardSelected.bind({});
|
|
210
249
|
WizardStepActived.play = async ({ canvasElement }) => {
|
package/wizard/Wizard.test.js
CHANGED
|
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
6
6
|
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
|
|
9
|
-
var _Wizard = _interopRequireDefault(require("./Wizard"));
|
|
9
|
+
var _Wizard = _interopRequireDefault(require("./Wizard.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("Wizard components tests", function () {
|
|
12
12
|
test("Wizard renders with correct steps", function () {
|
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.SVGProps<SVGSVGElement>;
|
|
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
|
*/
|
|
@@ -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.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
-
|
|
16
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
|
|
18
|
-
var _templateObject;
|
|
19
|
-
|
|
20
|
-
var DxcRequired = function DxcRequired(_ref) {
|
|
21
|
-
var _ref$theme = _ref.theme,
|
|
22
|
-
theme = _ref$theme === void 0 ? "light" : _ref$theme;
|
|
23
|
-
return /*#__PURE__*/_react["default"].createElement(RequiredSpan, null, "*");
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
var RequiredSpan = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: #d0011b;\n margin-right: 1px;\n cursor: default;\n"])));
|
|
27
|
-
|
|
28
|
-
DxcRequired.propTypes = {
|
|
29
|
-
theme: _propTypes["default"].oneOf(["dark", "light"])
|
|
30
|
-
};
|
|
31
|
-
var _default = DxcRequired;
|
|
32
|
-
exports["default"] = _default;
|
package/list/List.d.ts
DELETED