@dxc-technology/halstack-react 0.0.0-b41d935 → 0.0.0-b4aec06
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1243 -6
- package/HalstackContext.js +126 -111
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +42 -118
- package/accordion/Accordion.stories.tsx +85 -139
- package/accordion/Accordion.test.js +19 -34
- package/accordion/types.d.ts +6 -18
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +29 -77
- package/accordion-group/AccordionGroup.stories.tsx +78 -77
- package/accordion-group/AccordionGroup.test.js +44 -72
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -19
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +31 -124
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +18 -59
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -15
- package/bulleted-list/BulletedList.js +19 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +71 -106
- package/button/Button.stories.tsx +144 -101
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +9 -5
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -12
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +90 -124
- package/checkbox/Checkbox.stories.tsx +68 -54
- package/checkbox/Checkbox.test.js +108 -64
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.js +39 -79
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +16 -31
- package/chip/types.d.ts +4 -4
- 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 +1395 -0
- package/common/variables.js +914 -1156
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +150 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- 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 +72 -15
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +61 -119
- package/dialog/Dialog.stories.tsx +310 -212
- package/dialog/Dialog.test.js +269 -32
- package/dialog/types.d.ts +18 -26
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +84 -153
- package/dropdown/Dropdown.stories.tsx +209 -94
- package/dropdown/Dropdown.test.js +409 -400
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +15 -37
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +193 -262
- package/file-input/FileInput.stories.tsx +86 -3
- package/file-input/FileInput.test.js +356 -395
- package/file-input/FileItem.js +15 -41
- package/file-input/types.d.ts +13 -9
- package/flex/Flex.js +27 -39
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -117
- package/footer/Footer.stories.tsx +55 -21
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -27
- 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 +48 -133
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -22
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +30 -67
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/types.d.ts +5 -6
- package/link/Link.js +25 -46
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +10 -5
- package/main.js +47 -59
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +118 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -414
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +37 -40
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +22 -58
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +252 -225
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +158 -141
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +23 -55
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +15 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +31 -63
- package/radio-group/RadioGroup.js +45 -93
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +505 -471
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +170 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +17 -72
- package/select/Option.js +27 -50
- package/select/Select.js +120 -175
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +1974 -1837
- package/select/types.d.ts +16 -17
- package/sidenav/Icons.d.ts +7 -0
- package/{text-input → sidenav}/Icons.js +10 -23
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +83 -154
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +31 -28
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +77 -134
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.js +31 -75
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +56 -103
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +52 -97
- package/switch/types.d.ts +8 -3
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +651 -0
- package/table/Table.test.js +95 -8
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +26 -45
- package/tabs/Tabs.js +62 -145
- package/tabs/Tabs.stories.tsx +46 -6
- package/tabs/Tabs.test.js +66 -123
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +28 -60
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +35 -25
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +223 -333
- package/text-input/TextInput.stories.tsx +139 -155
- package/text-input/TextInput.test.js +1389 -1404
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +70 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1147 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.js +16 -51
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +9 -10
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -252
- package/resultsetTable/ResultsetTable.test.js +0 -348
- package/slider/Slider.stories.tsx +0 -183
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/NavTabs.d.ts +0 -8
- package/tabs-nav/Tab.js +0 -130
- package/text-input/Icons.d.ts +0 -8
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → container}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/useTheme.js
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = require("react");
|
|
11
|
-
|
|
12
|
-
var _variables = require("./common/variables.js");
|
|
13
|
-
|
|
9
|
+
var _variables = require("./common/variables");
|
|
14
10
|
var _HalstackContext = _interopRequireDefault(require("./HalstackContext"));
|
|
15
|
-
|
|
16
11
|
var useTheme = function useTheme() {
|
|
17
12
|
var colorsTheme = (0, _react.useContext)(_HalstackContext["default"]);
|
|
18
13
|
return colorsTheme || _variables.componentTokens;
|
|
19
14
|
};
|
|
20
|
-
|
|
21
|
-
var _default = useTheme;
|
|
22
|
-
exports["default"] = _default;
|
|
15
|
+
var _default = exports["default"] = useTheme;
|
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;
|
package/useTranslatedLabels.js
CHANGED
|
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _variables = require("./common/variables");
|
|
11
|
-
|
|
12
9
|
var _HalstackContext = require("./HalstackContext");
|
|
13
|
-
|
|
14
10
|
var useTranslatedLabels = function useTranslatedLabels() {
|
|
15
11
|
var labels = (0, _react.useContext)(_HalstackContext.HalstackLanguageContext);
|
|
16
12
|
return labels || _variables.defaultTranslatedComponentLabels;
|
|
17
13
|
};
|
|
18
|
-
|
|
19
|
-
var _default = useTranslatedLabels;
|
|
20
|
-
exports["default"] = _default;
|
|
14
|
+
var _default = exports["default"] = useTranslatedLabels;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
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
|
+
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,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
12
|
+
var _templateObject;
|
|
13
|
+
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); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
|
|
15
|
+
var TypographyContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
16
|
+
var BaseTypography = function BaseTypography(_ref) {
|
|
17
|
+
var as = _ref.as,
|
|
18
|
+
display = _ref.display,
|
|
19
|
+
fontFamily = _ref.fontFamily,
|
|
20
|
+
fontSize = _ref.fontSize,
|
|
21
|
+
fontStyle = _ref.fontStyle,
|
|
22
|
+
fontWeight = _ref.fontWeight,
|
|
23
|
+
letterSpacing = _ref.letterSpacing,
|
|
24
|
+
lineHeight = _ref.lineHeight,
|
|
25
|
+
textAlign = _ref.textAlign,
|
|
26
|
+
color = _ref.color,
|
|
27
|
+
textDecoration = _ref.textDecoration,
|
|
28
|
+
textOverflow = _ref.textOverflow,
|
|
29
|
+
whiteSpace = _ref.whiteSpace,
|
|
30
|
+
children = _ref.children;
|
|
31
|
+
var componentContext = (0, _react.useContext)(TypographyContext);
|
|
32
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
33
|
+
var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14;
|
|
34
|
+
return {
|
|
35
|
+
as: (_ref2 = as !== null && as !== void 0 ? as : componentContext === null || componentContext === void 0 ? void 0 : componentContext.as) !== null && _ref2 !== void 0 ? _ref2 : "span",
|
|
36
|
+
display: (_ref3 = display !== null && display !== void 0 ? display : componentContext === null || componentContext === void 0 ? void 0 : componentContext.display) !== null && _ref3 !== void 0 ? _ref3 : "inline",
|
|
37
|
+
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",
|
|
38
|
+
fontSize: (_ref5 = fontSize !== null && fontSize !== void 0 ? fontSize : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontSize) !== null && _ref5 !== void 0 ? _ref5 : "1rem",
|
|
39
|
+
fontStyle: (_ref6 = fontStyle !== null && fontStyle !== void 0 ? fontStyle : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontStyle) !== null && _ref6 !== void 0 ? _ref6 : "normal",
|
|
40
|
+
fontWeight: (_ref7 = fontWeight !== null && fontWeight !== void 0 ? fontWeight : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontWeight) !== null && _ref7 !== void 0 ? _ref7 : "400",
|
|
41
|
+
letterSpacing: (_ref8 = letterSpacing !== null && letterSpacing !== void 0 ? letterSpacing : componentContext === null || componentContext === void 0 ? void 0 : componentContext.letterSpacing) !== null && _ref8 !== void 0 ? _ref8 : "0em",
|
|
42
|
+
lineHeight: (_ref9 = lineHeight !== null && lineHeight !== void 0 ? lineHeight : componentContext === null || componentContext === void 0 ? void 0 : componentContext.lineHeight) !== null && _ref9 !== void 0 ? _ref9 : "1.5em",
|
|
43
|
+
textAlign: (_ref10 = textAlign !== null && textAlign !== void 0 ? textAlign : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textAlign) !== null && _ref10 !== void 0 ? _ref10 : "left",
|
|
44
|
+
color: (_ref11 = color !== null && color !== void 0 ? color : componentContext === null || componentContext === void 0 ? void 0 : componentContext.color) !== null && _ref11 !== void 0 ? _ref11 : "#000000",
|
|
45
|
+
textDecoration: (_ref12 = textDecoration !== null && textDecoration !== void 0 ? textDecoration : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textDecoration) !== null && _ref12 !== void 0 ? _ref12 : "none",
|
|
46
|
+
textOverflow: (_ref13 = textOverflow !== null && textOverflow !== void 0 ? textOverflow : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textOverflow) !== null && _ref13 !== void 0 ? _ref13 : "unset",
|
|
47
|
+
whiteSpace: (_ref14 = whiteSpace !== null && whiteSpace !== void 0 ? whiteSpace : componentContext === null || componentContext === void 0 ? void 0 : componentContext.whiteSpace) !== null && _ref14 !== void 0 ? _ref14 : "normal"
|
|
48
|
+
};
|
|
49
|
+
}, [as, display, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign, color, textDecoration, textOverflow, whiteSpace]);
|
|
50
|
+
return /*#__PURE__*/_react["default"].createElement(TypographyContext.Provider, {
|
|
51
|
+
value: contextValue
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledTypography, contextValue, children));
|
|
53
|
+
};
|
|
54
|
+
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) {
|
|
55
|
+
var display = _ref15.display;
|
|
56
|
+
return display;
|
|
57
|
+
}, function (_ref16) {
|
|
58
|
+
var color = _ref16.color;
|
|
59
|
+
return color;
|
|
60
|
+
}, function (_ref17) {
|
|
61
|
+
var fontFamily = _ref17.fontFamily;
|
|
62
|
+
return fontFamily;
|
|
63
|
+
}, function (_ref18) {
|
|
64
|
+
var fontSize = _ref18.fontSize;
|
|
65
|
+
return fontSize;
|
|
66
|
+
}, function (_ref19) {
|
|
67
|
+
var fontStyle = _ref19.fontStyle;
|
|
68
|
+
return fontStyle;
|
|
69
|
+
}, function (_ref20) {
|
|
70
|
+
var fontWeight = _ref20.fontWeight;
|
|
71
|
+
return fontWeight;
|
|
72
|
+
}, function (_ref21) {
|
|
73
|
+
var letterSpacing = _ref21.letterSpacing;
|
|
74
|
+
return letterSpacing;
|
|
75
|
+
}, function (_ref22) {
|
|
76
|
+
var lineHeight = _ref22.lineHeight;
|
|
77
|
+
return lineHeight;
|
|
78
|
+
}, function (_ref23) {
|
|
79
|
+
var textAlign = _ref23.textAlign;
|
|
80
|
+
return textAlign;
|
|
81
|
+
}, function (_ref24) {
|
|
82
|
+
var textDecoration = _ref24.textDecoration;
|
|
83
|
+
return textDecoration;
|
|
84
|
+
}, function (_ref25) {
|
|
85
|
+
var textOverflow = _ref25.textOverflow;
|
|
86
|
+
return textOverflow;
|
|
87
|
+
}, function (_ref26) {
|
|
88
|
+
var whiteSpace = _ref26.whiteSpace;
|
|
89
|
+
return whiteSpace;
|
|
90
|
+
}, function (_ref27) {
|
|
91
|
+
var textOverflow = _ref27.textOverflow;
|
|
92
|
+
return textOverflow !== "unset" ? "hidden" : "visible";
|
|
93
|
+
});
|
|
94
|
+
var _default = exports["default"] = BaseTypography;
|
|
@@ -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,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
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); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
|
|
13
|
+
var not = {
|
|
14
|
+
negTabIndex: ':not([tabindex^="-"])',
|
|
15
|
+
disabled: ":not(:disabled)"
|
|
16
|
+
};
|
|
17
|
+
var focusableQuery = ["a[href]".concat(not.negTabIndex), "area[href]".concat(not.negTabIndex), "input:not([type=\"hidden\"])".concat(not.negTabIndex).concat(not.disabled), "select".concat(not.negTabIndex).concat(not.disabled), "textarea".concat(not.negTabIndex).concat(not.disabled), "button".concat(not.negTabIndex).concat(not.disabled), "details > summary:first-of-type".concat(not.negTabIndex), "iframe".concat(not.negTabIndex), "audio[controls]".concat(not.negTabIndex), "video[controls]".concat(not.negTabIndex), "[contenteditable]".concat(not.negTabIndex), "[tabindex]".concat(not.negTabIndex).concat(not.disabled)].join(",");
|
|
18
|
+
var getFocusableElements = function getFocusableElements(container) {
|
|
19
|
+
return Array.prototype.slice.call(container.querySelectorAll(focusableQuery)).filter(function (element) {
|
|
20
|
+
return element.getAttribute("aria-hidden") !== "true" && window.getComputedStyle(element).display !== "none" && window.getComputedStyle(element).visibility !== "hidden";
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* This function will try to focus the element and return true if it was able to receive the focus.
|
|
26
|
+
* Even if the element is focusable (passes any of the conditions of our selector), there is the possibility
|
|
27
|
+
* that the element may not be focusable at all.
|
|
28
|
+
* @param element: HTMLElement
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
var attemptFocus = function attemptFocus(element) {
|
|
32
|
+
element === null || element === void 0 ? void 0 : element.focus();
|
|
33
|
+
return document.activeElement === element;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @param element: HTMLElement
|
|
38
|
+
* @returns boolean: true if element is contained inside a Radix Portal, false otherwise.
|
|
39
|
+
*/
|
|
40
|
+
var radixPortalContains = function radixPortalContains(activeElement) {
|
|
41
|
+
var radixPortals = document.querySelectorAll("[data-radix-portal]");
|
|
42
|
+
var radixPoppers = document.querySelectorAll("[data-radix-popper-content-wrapper]");
|
|
43
|
+
return Array.prototype.slice.call(radixPortals).some(function (portal) {
|
|
44
|
+
return portal.contains(activeElement);
|
|
45
|
+
}) || Array.prototype.slice.call(radixPoppers).some(function (popper) {
|
|
46
|
+
return popper.contains(activeElement);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Custom hook that returns an array of focusable elements inside a container.
|
|
52
|
+
* @param ref: React.MutableRefObject<HTMLDivElement>
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
55
|
+
var useFocusableElements = function useFocusableElements(ref) {
|
|
56
|
+
var _useState = (0, _react.useState)(),
|
|
57
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
58
|
+
focusableElements = _useState2[0],
|
|
59
|
+
setFocusableElements = _useState2[1];
|
|
60
|
+
(0, _react.useEffect)(function () {
|
|
61
|
+
if (ref.current != null) {
|
|
62
|
+
setFocusableElements(getFocusableElements(ref.current));
|
|
63
|
+
var observer = new MutationObserver(function () {
|
|
64
|
+
setFocusableElements(getFocusableElements(ref.current));
|
|
65
|
+
});
|
|
66
|
+
observer.observe(ref.current, {
|
|
67
|
+
childList: true,
|
|
68
|
+
subtree: true,
|
|
69
|
+
attributes: true
|
|
70
|
+
});
|
|
71
|
+
return function () {
|
|
72
|
+
observer.disconnect();
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}, []);
|
|
76
|
+
return focusableElements;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Traps the focus inside the children of the component. It will focus the first focusable element when the component is mounted.
|
|
81
|
+
* When the focus is on the last focusable element and the user tries to focus the next element, it will focus the first element.
|
|
82
|
+
* When the focus is on the first focusable element and the user tries to focus the previous element, it will focus the last element.
|
|
83
|
+
* The focus can't be moved outside the children unless the children are removed from the DOM (for example, a Dialog, a Modal, etc).
|
|
84
|
+
* @param children: React.ReactNode
|
|
85
|
+
* @returns
|
|
86
|
+
*/
|
|
87
|
+
var FocusLock = function FocusLock(_ref) {
|
|
88
|
+
var children = _ref.children;
|
|
89
|
+
var childrenContainerRef = (0, _react.useRef)();
|
|
90
|
+
var focusableElements = useFocusableElements(childrenContainerRef);
|
|
91
|
+
var focusFirst = (0, _react.useCallback)(function () {
|
|
92
|
+
var _childrenContainerRef;
|
|
93
|
+
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) focusableElements.some(function (element) {
|
|
94
|
+
return attemptFocus(element);
|
|
95
|
+
});
|
|
96
|
+
}, [focusableElements]);
|
|
97
|
+
var focusLast = function focusLast() {
|
|
98
|
+
focusableElements.reverse().some(function (element) {
|
|
99
|
+
return attemptFocus(element);
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
var focusLock = function focusLock(event) {
|
|
103
|
+
if (event.key === "Tab") focusableElements.length === 0 && event.preventDefault();
|
|
104
|
+
};
|
|
105
|
+
(0, _react.useEffect)(function () {
|
|
106
|
+
var _childrenContainerRef2;
|
|
107
|
+
if (!((_childrenContainerRef2 = childrenContainerRef.current) !== null && _childrenContainerRef2 !== void 0 && _childrenContainerRef2.contains(document.activeElement)) && !radixPortalContains(document.activeElement)) focusFirst();
|
|
108
|
+
}, [focusFirst]);
|
|
109
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
110
|
+
onFocus: focusLast,
|
|
111
|
+
tabIndex: 0
|
|
112
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
113
|
+
onKeyDown: focusLock,
|
|
114
|
+
ref: childrenContainerRef,
|
|
115
|
+
tabIndex: (focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) === 0 ? 0 : -1,
|
|
116
|
+
style: {
|
|
117
|
+
outline: "none"
|
|
118
|
+
}
|
|
119
|
+
}, children), /*#__PURE__*/_react["default"].createElement("div", {
|
|
120
|
+
onFocus: focusFirst,
|
|
121
|
+
tabIndex: 0
|
|
122
|
+
}));
|
|
123
|
+
};
|
|
124
|
+
var _default = exports["default"] = FocusLock;
|
package/wizard/Wizard.js
CHANGED
|
@@ -1,34 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
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 _variables = require("../common/variables.js");
|
|
23
|
-
|
|
14
|
+
var _variables = require("../common/variables");
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
16
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
-
|
|
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; }
|
|
32
19
|
var icons = {
|
|
33
20
|
validIcon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
34
21
|
id: "check_circle_black_18dp",
|
|
@@ -80,38 +67,31 @@ var icons = {
|
|
|
80
67
|
fill: "#d0011b"
|
|
81
68
|
}))
|
|
82
69
|
};
|
|
83
|
-
|
|
84
70
|
var DxcWizard = function DxcWizard(_ref) {
|
|
85
71
|
var _ref2;
|
|
86
|
-
|
|
87
72
|
var _ref$mode = _ref.mode,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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;
|
|
97
81
|
var _useState = (0, _react.useState)((_ref2 = currentStep !== null && currentStep !== void 0 ? currentStep : defaultCurrentStep) !== null && _ref2 !== void 0 ? _ref2 : 0),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
82
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
83
|
+
innerCurrent = _useState2[0],
|
|
84
|
+
setInnerCurrentStep = _useState2[1];
|
|
102
85
|
var renderedCurrent = currentStep == null ? innerCurrent : currentStep;
|
|
103
86
|
var colorsTheme = (0, _useTheme["default"])();
|
|
104
|
-
|
|
105
87
|
var handleStepClick = function handleStepClick(newValue) {
|
|
106
88
|
if (currentStep == null) {
|
|
107
89
|
setInnerCurrentStep(newValue);
|
|
108
90
|
}
|
|
109
|
-
|
|
110
91
|
if (onStepClick) {
|
|
111
92
|
onStepClick(newValue);
|
|
112
93
|
}
|
|
113
94
|
};
|
|
114
|
-
|
|
115
95
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
116
96
|
theme: colorsTheme.wizard
|
|
117
97
|
}, /*#__PURE__*/_react["default"].createElement(StepsContainer, {
|
|
@@ -154,8 +134,7 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
154
134
|
}));
|
|
155
135
|
})));
|
|
156
136
|
};
|
|
157
|
-
|
|
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\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) {
|
|
159
138
|
return props.mode === "vertical" ? "column" : "row";
|
|
160
139
|
}, function (props) {
|
|
161
140
|
return props.mode === "vertical" && "height: 500px";
|
|
@@ -172,7 +151,6 @@ var StepsContainer = _styledComponents["default"].div(_templateObject || (_templ
|
|
|
172
151
|
}, function (props) {
|
|
173
152
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
174
153
|
});
|
|
175
|
-
|
|
176
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) {
|
|
177
155
|
return props.mode !== "vertical" && "align-items: center;";
|
|
178
156
|
}, function (props) {
|
|
@@ -182,7 +160,6 @@ var StepContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
182
160
|
}, function (props) {
|
|
183
161
|
return props.mode === "vertical" && "width: fit-content;";
|
|
184
162
|
});
|
|
185
|
-
|
|
186
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) {
|
|
187
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";
|
|
188
165
|
}, function (props) {
|
|
@@ -192,11 +169,9 @@ var Step = _styledComponents["default"].button(_templateObject3 || (_templateObj
|
|
|
192
169
|
}, function (props) {
|
|
193
170
|
return props.theme.focusColor;
|
|
194
171
|
});
|
|
195
|
-
|
|
196
172
|
var StepHeader = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n ", "\n"])), function (props) {
|
|
197
173
|
return props.validityIcon && "padding-bottom: 4px;";
|
|
198
174
|
});
|
|
199
|
-
|
|
200
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) {
|
|
201
176
|
return props.disabled ? props.theme.disabledStepWidth : props.current ? props.theme.selectedStepWidth : props.theme.stepWidth;
|
|
202
177
|
}, function (props) {
|
|
@@ -208,19 +183,16 @@ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
208
183
|
}, function (props) {
|
|
209
184
|
return !props.current && !props.disabled ? props.theme.stepBorderRadius : props.current ? props.theme.selectedStepBorderRadius : props.disabled ? props.theme.disabledStepBorderRadius : "";
|
|
210
185
|
});
|
|
211
|
-
|
|
212
186
|
var Icon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n"])), function (props) {
|
|
213
187
|
return props.theme.stepIconSize;
|
|
214
188
|
}, function (props) {
|
|
215
189
|
return props.theme.stepIconSize;
|
|
216
190
|
});
|
|
217
|
-
|
|
218
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) {
|
|
219
192
|
return props.theme.stepIconSize;
|
|
220
193
|
}, function (props) {
|
|
221
194
|
return props.theme.stepIconSize;
|
|
222
195
|
});
|
|
223
|
-
|
|
224
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) {
|
|
225
197
|
return props.theme.stepFontSize;
|
|
226
198
|
}, function (props) {
|
|
@@ -232,11 +204,8 @@ var Number = _styledComponents["default"].p(_templateObject8 || (_templateObject
|
|
|
232
204
|
}, function (props) {
|
|
233
205
|
return props.theme.stepFontTracking;
|
|
234
206
|
});
|
|
235
|
-
|
|
236
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"])));
|
|
237
|
-
|
|
238
208
|
var InfoContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 12px;\n"])));
|
|
239
|
-
|
|
240
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) {
|
|
241
210
|
return props.theme.labelTextAlign;
|
|
242
211
|
}, function (props) {
|
|
@@ -254,7 +223,6 @@ var Label = _styledComponents["default"].p(_templateObject11 || (_templateObject
|
|
|
254
223
|
}, function (props) {
|
|
255
224
|
return props.theme.labelFontTextTransform;
|
|
256
225
|
});
|
|
257
|
-
|
|
258
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) {
|
|
259
227
|
return props.theme.helperTextTextAlign;
|
|
260
228
|
}, function (props) {
|
|
@@ -272,7 +240,6 @@ var Description = _styledComponents["default"].p(_templateObject12 || (_template
|
|
|
272
240
|
}, function (props) {
|
|
273
241
|
return props.disabled ? "color: ".concat(props.theme.disabledHelperTextFontColor, ";") : "color: ".concat(!props.visited ? props.theme.unvisitedHelperTextFontColor : props.current ? props.theme.selectedHelperTextFontColor : props.theme.visitedHelperTextFontColor, ";");
|
|
274
242
|
});
|
|
275
|
-
|
|
276
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) {
|
|
277
244
|
return props.mode === "horizontal" ? "height: 0;" : "width: 0;";
|
|
278
245
|
}, function (props) {
|
|
@@ -280,6 +247,4 @@ var StepSeparator = _styledComponents["default"].div(_templateObject13 || (_temp
|
|
|
280
247
|
}, function (props) {
|
|
281
248
|
return "".concat(props.theme.separatorBorderStyle, " ").concat(props.theme.separatorBorderThickness, " ").concat(props.theme.separatorColor);
|
|
282
249
|
});
|
|
283
|
-
|
|
284
|
-
var _default = DxcWizard;
|
|
285
|
-
exports["default"] = _default;
|
|
250
|
+
var _default = exports["default"] = DxcWizard;
|
|
@@ -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,6 +133,14 @@ 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>
|
|
@@ -215,6 +229,12 @@ export const Chromatic = () => (
|
|
|
215
229
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
216
230
|
<DxcWizard mode="vertical" margin="xxlarge" steps={stepWithLabel}></DxcWizard>
|
|
217
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>
|
|
218
238
|
</>
|
|
219
239
|
);
|
|
220
240
|
|