@dxc-technology/halstack-react 0.0.0-da90bf9 → 0.0.0-da9270d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -0
- package/BackgroundColorContext.js +8 -24
- package/HalstackContext.d.ts +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +120 -291
- package/accordion/Accordion.stories.tsx +283 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +57 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +8 -0
- package/accordion-group/AccordionGroup.js +57 -142
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +67 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +55 -204
- package/alert/Alert.stories.tsx +198 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +15 -30
- package/badge/types.d.ts +5 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +35 -116
- package/box/Box.stories.tsx +119 -0
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +32 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +67 -185
- package/button/Button.stories.tsx +344 -0
- package/button/Button.test.js +36 -0
- package/button/types.d.ts +57 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +60 -194
- package/card/Card.stories.tsx +171 -0
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +62 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +147 -231
- package/checkbox/Checkbox.stories.tsx +222 -0
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +72 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +50 -194
- package/chip/Chip.stories.tsx +214 -0
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1381 -0
- package/common/variables.js +1006 -1319
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +179 -356
- package/date-input/DateInput.stories.tsx +285 -0
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +164 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +70 -184
- package/dialog/Dialog.stories.tsx +365 -0
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +36 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +247 -457
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +98 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +297 -462
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +61 -213
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +64 -360
- package/footer/Footer.stories.tsx +152 -0
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +16 -21
- package/footer/types.d.ts +58 -0
- package/footer/types.js +5 -0
- 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 +8 -0
- package/header/Header.js +122 -372
- package/header/Header.stories.tsx +251 -0
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +9 -39
- package/header/types.d.ts +33 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +31 -124
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +85 -278
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -0
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +67 -189
- package/link/Link.stories.tsx +253 -0
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +46 -40
- package/main.js +117 -140
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +11 -0
- package/number-input/NumberInput.js +32 -101
- package/number-input/NumberInput.stories.tsx +131 -0
- package/number-input/NumberInput.test.js +830 -0
- package/number-input/types.d.ts +130 -0
- package/number-input/types.js +5 -0
- package/package.json +53 -49
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +26 -52
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +41 -211
- package/paginator/Paginator.stories.tsx +87 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +66 -172
- package/password-input/PasswordInput.stories.tsx +99 -0
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +111 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +76 -174
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +124 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +4 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/resultset-table/ResultsetTable.stories.tsx +300 -0
- package/resultset-table/ResultsetTable.test.js +305 -0
- package/resultset-table/types.d.ts +67 -0
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +80 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +294 -849
- package/select/Select.stories.tsx +971 -0
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +134 -117
- package/sidenav/Sidenav.stories.tsx +282 -0
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +76 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +172 -291
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +86 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +66 -241
- package/spinner/Spinner.stories.tsx +129 -0
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +153 -161
- package/switch/Switch.stories.tsx +137 -0
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +66 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +14 -50
- package/table/Table.stories.tsx +356 -0
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +322 -281
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +92 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +61 -192
- package/tag/Tag.stories.tsx +155 -0
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +360 -757
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1739 -0
- package/text-input/types.d.ts +205 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +105 -240
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +107 -233
- package/toggle-group/ToggleGroup.stories.tsx +218 -0
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +114 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1134 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +138 -293
- package/wizard/Wizard.stories.tsx +253 -0
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -250
- package/V3Select/V3Select.js +0 -549
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -264
- package/V3Textarea/index.d.ts +0 -27
- package/accordion/index.d.ts +0 -28
- package/accordion-group/index.d.ts +0 -16
- package/alert/index.d.ts +0 -51
- package/box/index.d.ts +0 -25
- package/button/Button.stories.js +0 -27
- package/button/index.d.ts +0 -24
- package/card/index.d.ts +0 -22
- package/checkbox/index.d.ts +0 -24
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -40
- package/date/Date.js +0 -379
- package/date/index.d.ts +0 -27
- package/date-input/index.d.ts +0 -95
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -705
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/NumberInputContext.js +0 -16
- package/number-input/index.d.ts +0 -113
- package/paginator/index.d.ts +0 -20
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/radio/Radio.js +0 -209
- package/radio/index.d.ts +0 -23
- package/resultsetTable/ResultsetTable.js +0 -358
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/switch/index.d.ts +0 -24
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -220
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -205
- package/upload/buttons-upload/ButtonsUpload.js +0 -135
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -189
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -123
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -148
- package/upload/transactions/Transactions.js +0 -138
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
|
@@ -1,228 +1,128 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
|
-
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
18
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
|
|
20
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
|
-
|
|
24
14
|
var _uuid = require("uuid");
|
|
25
|
-
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
function _templateObject9() {
|
|
33
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n height: 24px;\n width: 24px;\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
|
|
34
|
-
|
|
35
|
-
_templateObject9 = function _templateObject9() {
|
|
36
|
-
return data;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
return data;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function _templateObject8() {
|
|
43
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 24px;\n width: 24px;\n margin-right: ", ";\n"]);
|
|
44
|
-
|
|
45
|
-
_templateObject8 = function _templateObject8() {
|
|
46
|
-
return data;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function _templateObject7() {
|
|
53
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n"]);
|
|
54
|
-
|
|
55
|
-
_templateObject7 = function _templateObject7() {
|
|
56
|
-
return data;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
return data;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function _templateObject6() {
|
|
63
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
|
|
64
|
-
|
|
65
|
-
_templateObject6 = function _templateObject6() {
|
|
66
|
-
return data;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
return data;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function _templateObject5() {
|
|
73
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"]);
|
|
74
|
-
|
|
75
|
-
_templateObject5 = function _templateObject5() {
|
|
76
|
-
return data;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
return data;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function _templateObject4() {
|
|
83
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n opacity: 1;\n height: calc(48px - 4px - 4px);\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n background-color: ", ";\n padding: 4px;\n margin-top: ", ";\n"]);
|
|
84
|
-
|
|
85
|
-
_templateObject4 = function _templateObject4() {
|
|
86
|
-
return data;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
return data;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
function _templateObject3() {
|
|
93
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
|
|
94
|
-
|
|
95
|
-
_templateObject3 = function _templateObject3() {
|
|
96
|
-
return data;
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
return data;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function _templateObject2() {
|
|
103
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
|
|
104
|
-
|
|
105
|
-
_templateObject2 = function _templateObject2() {
|
|
106
|
-
return data;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
return data;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
function _templateObject() {
|
|
113
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
|
|
114
|
-
|
|
115
|
-
_templateObject = function _templateObject() {
|
|
116
|
-
return data;
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
return data;
|
|
120
|
-
}
|
|
121
|
-
|
|
15
|
+
var _variables = require("../common/variables");
|
|
16
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
17
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
18
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
19
|
+
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); }
|
|
20
|
+
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; }
|
|
122
21
|
var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
123
22
|
var label = _ref.label,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
23
|
+
helperText = _ref.helperText,
|
|
24
|
+
defaultValue = _ref.defaultValue,
|
|
25
|
+
value = _ref.value,
|
|
26
|
+
onChange = _ref.onChange,
|
|
27
|
+
_ref$disabled = _ref.disabled,
|
|
28
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
29
|
+
options = _ref.options,
|
|
30
|
+
margin = _ref.margin,
|
|
31
|
+
_ref$multiple = _ref.multiple,
|
|
32
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
33
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
34
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
35
|
+
var _useState = (0, _react.useState)("label-toggle-group-".concat((0, _uuid.v4)())),
|
|
36
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
37
|
+
toggleGroupLabelId = _useState2[0];
|
|
38
|
+
var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : -1),
|
|
39
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
40
|
+
selectedValue = _useState4[0],
|
|
41
|
+
setSelectedValue = _useState4[1];
|
|
136
42
|
var colorsTheme = (0, _useTheme["default"])();
|
|
137
|
-
|
|
138
|
-
var _useState = (0, _react.useState)(multiple ? [] : null),
|
|
139
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
140
|
-
selectedValue = _useState2[0],
|
|
141
|
-
setSelectedValue = _useState2[1];
|
|
142
|
-
|
|
143
|
-
var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
|
|
144
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
145
|
-
toggleGroupId = _useState4[0];
|
|
146
|
-
|
|
147
43
|
var handleToggleChange = function handleToggleChange(selectedOption) {
|
|
148
44
|
var newSelectedOptions;
|
|
149
|
-
|
|
150
45
|
if (value == null) {
|
|
151
|
-
if (multiple) {
|
|
46
|
+
if (multiple && Array.isArray(selectedValue)) {
|
|
152
47
|
newSelectedOptions = selectedValue.map(function (value) {
|
|
153
48
|
return value;
|
|
154
49
|
});
|
|
155
|
-
|
|
156
50
|
if (newSelectedOptions.includes(selectedOption)) {
|
|
157
51
|
var index = newSelectedOptions.indexOf(selectedOption);
|
|
158
52
|
newSelectedOptions.splice(index, 1);
|
|
159
53
|
} else {
|
|
160
54
|
newSelectedOptions.push(selectedOption);
|
|
161
55
|
}
|
|
162
|
-
|
|
163
56
|
setSelectedValue(newSelectedOptions);
|
|
164
57
|
} else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
|
|
165
58
|
} else if (multiple) {
|
|
166
|
-
newSelectedOptions = value.map(function (v) {
|
|
59
|
+
newSelectedOptions = Array.isArray(value) ? value.map(function (v) {
|
|
167
60
|
return v;
|
|
168
|
-
});
|
|
169
|
-
|
|
61
|
+
}) : value;
|
|
170
62
|
if (newSelectedOptions.includes(selectedOption)) {
|
|
171
63
|
var _index = newSelectedOptions.indexOf(selectedOption);
|
|
172
|
-
|
|
173
64
|
newSelectedOptions.splice(_index, 1);
|
|
174
65
|
} else newSelectedOptions.push(selectedOption);
|
|
175
66
|
}
|
|
176
|
-
|
|
177
|
-
typeof onChange === "function" && onChange(multiple ? newSelectedOptions : selectedOption);
|
|
67
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(multiple ? newSelectedOptions : selectedOption);
|
|
178
68
|
};
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
69
|
+
var handleOnKeyDown = function handleOnKeyDown(event, optionValue) {
|
|
70
|
+
switch (event.key) {
|
|
71
|
+
case "Enter":
|
|
72
|
+
case " ":
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
handleToggleChange(optionValue);
|
|
75
|
+
}
|
|
183
76
|
};
|
|
184
|
-
|
|
185
|
-
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
77
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
186
78
|
theme: colorsTheme.toggleGroup
|
|
187
|
-
}, _react["default"].createElement(ToggleGroup, {
|
|
188
|
-
margin: margin
|
|
79
|
+
}, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
|
|
80
|
+
margin: margin
|
|
81
|
+
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
82
|
+
id: toggleGroupLabelId,
|
|
189
83
|
disabled: disabled
|
|
190
|
-
}, _react["default"].createElement(
|
|
191
|
-
htmlFor: toggleGroupId,
|
|
84
|
+
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
192
85
|
disabled: disabled
|
|
193
|
-
},
|
|
194
|
-
|
|
195
|
-
}, helperText), _react["default"].createElement(OptionsContainer, {
|
|
196
|
-
id: toggleGroupId,
|
|
197
|
-
role: multiple ? "group" : "radiogroup"
|
|
86
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
|
|
87
|
+
"aria-labelledby": toggleGroupLabelId
|
|
198
88
|
}, options.map(function (option, i) {
|
|
199
|
-
return _react["default"].createElement(
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
"aria-
|
|
203
|
-
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement(ToggleButton, {
|
|
90
|
+
key: "toggle-".concat(i, "-").concat(option.label),
|
|
91
|
+
"aria-label": option.title,
|
|
92
|
+
"aria-pressed": multiple ? value ? Array.isArray(value) && value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
|
|
93
|
+
disabled: disabled,
|
|
204
94
|
onClick: function onClick() {
|
|
205
|
-
|
|
95
|
+
handleToggleChange(option.value);
|
|
206
96
|
},
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
isIcon: option.iconSrc || option.icon,
|
|
210
|
-
optionLabel: option.label,
|
|
211
|
-
disabled: disabled,
|
|
212
|
-
onKeyPress: function onKeyPress(event) {
|
|
213
|
-
handleKeyPress(event, option.value);
|
|
97
|
+
onKeyDown: function onKeyDown(event) {
|
|
98
|
+
handleOnKeyDown(event, option.value);
|
|
214
99
|
},
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
100
|
+
tabIndex: !disabled ? tabIndex : -1,
|
|
101
|
+
title: option.title,
|
|
102
|
+
hasIcon: option.icon,
|
|
103
|
+
optionLabel: option.label,
|
|
104
|
+
selected: multiple ? value ? Array.isArray(value) && value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue
|
|
105
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
106
|
+
alignItems: "center"
|
|
107
|
+
}, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
220
108
|
optionLabel: option.label
|
|
221
|
-
}
|
|
109
|
+
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
110
|
+
src: option.icon
|
|
111
|
+
}) : option.icon), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
|
|
222
112
|
}))));
|
|
223
113
|
};
|
|
224
|
-
|
|
225
|
-
|
|
114
|
+
var ToggleGroup = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
115
|
+
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
116
|
+
}, function (props) {
|
|
117
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
118
|
+
}, function (props) {
|
|
119
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
|
|
120
|
+
}, function (props) {
|
|
121
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
122
|
+
}, function (props) {
|
|
123
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
124
|
+
});
|
|
125
|
+
var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
226
126
|
return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
|
|
227
127
|
}, function (props) {
|
|
228
128
|
return props.theme.labelFontFamily;
|
|
@@ -235,8 +135,7 @@ var Label = _styledComponents["default"].label(_templateObject(), function (prop
|
|
|
235
135
|
}, function (props) {
|
|
236
136
|
return props.theme.labelLineHeight;
|
|
237
137
|
});
|
|
238
|
-
|
|
239
|
-
var HelperText = _styledComponents["default"].span(_templateObject2(), function (props) {
|
|
138
|
+
var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
240
139
|
return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
|
|
241
140
|
}, function (props) {
|
|
242
141
|
return props.theme.helperTextFontFamily;
|
|
@@ -249,20 +148,7 @@ var HelperText = _styledComponents["default"].span(_templateObject2(), function
|
|
|
249
148
|
}, function (props) {
|
|
250
149
|
return props.theme.helperTextLineHeight;
|
|
251
150
|
});
|
|
252
|
-
|
|
253
|
-
var ToggleGroup = _styledComponents["default"].div(_templateObject3(), function (props) {
|
|
254
|
-
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
255
|
-
}, function (props) {
|
|
256
|
-
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
257
|
-
}, function (props) {
|
|
258
|
-
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
|
|
259
|
-
}, function (props) {
|
|
260
|
-
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
261
|
-
}, function (props) {
|
|
262
|
-
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
263
|
-
});
|
|
264
|
-
|
|
265
|
-
var OptionsContainer = _styledComponents["default"].div(_templateObject4(), function (props) {
|
|
151
|
+
var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.25rem;\n width: max-content;\n height: calc(48px - 4px - 4px);\n padding: 0.25rem;\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n margin-top: ", ";\n background-color: ", ";\n"])), function (props) {
|
|
266
152
|
return props.theme.containerBorderThickness;
|
|
267
153
|
}, function (props) {
|
|
268
154
|
return props.theme.containerBorderStyle;
|
|
@@ -270,19 +156,37 @@ var OptionsContainer = _styledComponents["default"].div(_templateObject4(), func
|
|
|
270
156
|
return props.theme.containerBorderRadius;
|
|
271
157
|
}, function (props) {
|
|
272
158
|
return props.theme.containerBorderColor;
|
|
273
|
-
}, function (props) {
|
|
274
|
-
return props.theme.containerBackgroundColor;
|
|
275
159
|
}, function (props) {
|
|
276
160
|
return props.theme.containerMarginTop;
|
|
161
|
+
}, function (props) {
|
|
162
|
+
return props.theme.containerBackgroundColor;
|
|
277
163
|
});
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
164
|
+
var ToggleButton = _styledComponents["default"].button(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding-left: ", ";\n padding-right: ", ";\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n color: #ffffff;\n }\n &:focus {\n outline: none;\n box-shadow: ", ";\n }\n &:disabled {\n background-color: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n"])), function (props) {
|
|
165
|
+
return props.optionLabel && props.hasIcon || props.optionLabel && !props.hasIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft;
|
|
166
|
+
}, function (props) {
|
|
167
|
+
return props.optionLabel && props.hasIcon || props.optionLabel && !props.hasIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight;
|
|
168
|
+
}, function (props) {
|
|
169
|
+
return props.theme.optionBorderThickness;
|
|
170
|
+
}, function (props) {
|
|
171
|
+
return props.theme.optionBorderStyle;
|
|
172
|
+
}, function (props) {
|
|
173
|
+
return props.theme.optionBorderRadius;
|
|
281
174
|
}, function (props) {
|
|
282
|
-
return
|
|
175
|
+
return props.selected ? props.theme.selectedBackgroundColor : props.theme.unselectedBackgroundColor;
|
|
176
|
+
}, function (props) {
|
|
177
|
+
return props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor;
|
|
178
|
+
}, function (props) {
|
|
179
|
+
return props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor;
|
|
180
|
+
}, function (props) {
|
|
181
|
+
return props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor;
|
|
182
|
+
}, function (props) {
|
|
183
|
+
return "0 0 0 ".concat(props.theme.optionFocusBorderThickness, " ").concat(props.theme.focusColor);
|
|
184
|
+
}, function (props) {
|
|
185
|
+
return props.selected ? props.theme.selectedDisabledBackgroundColor : props.theme.unselectedDisabledBackgroundColor;
|
|
186
|
+
}, function (props) {
|
|
187
|
+
return props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor;
|
|
283
188
|
});
|
|
284
|
-
|
|
285
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject6(), function (props) {
|
|
189
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
286
190
|
return props.theme.optionLabelFontFamily;
|
|
287
191
|
}, function (props) {
|
|
288
192
|
return props.theme.optionLabelFontSize;
|
|
@@ -291,37 +195,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject6(), funct
|
|
|
291
195
|
}, function (props) {
|
|
292
196
|
return props.theme.optionLabelFontWeight;
|
|
293
197
|
});
|
|
294
|
-
|
|
295
|
-
var OptionContent = _styledComponents["default"].div(_templateObject7());
|
|
296
|
-
|
|
297
|
-
var Icon = _styledComponents["default"].img(_templateObject8(), function (props) {
|
|
198
|
+
var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 24px;\n width: 24px;\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
298
199
|
return props.optionLabel && props.theme.iconMarginRight;
|
|
299
200
|
});
|
|
300
|
-
|
|
301
|
-
var IconContainer = _styledComponents["default"].div(_templateObject9(), function (props) {
|
|
302
|
-
return props.optionLabel && props.theme.iconMarginRight;
|
|
303
|
-
});
|
|
304
|
-
|
|
305
|
-
DxcToggleGroup.propTypes = {
|
|
306
|
-
label: _propTypes["default"].string,
|
|
307
|
-
helperText: _propTypes["default"].string,
|
|
308
|
-
value: _propTypes["default"].any,
|
|
309
|
-
onChange: _propTypes["default"].func,
|
|
310
|
-
disabled: _propTypes["default"].bool,
|
|
311
|
-
multiple: _propTypes["default"].bool,
|
|
312
|
-
options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
313
|
-
value: _propTypes["default"].any.isRequired,
|
|
314
|
-
label: _propTypes["default"].string,
|
|
315
|
-
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
316
|
-
iconSrc: _propTypes["default"].string
|
|
317
|
-
})),
|
|
318
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
319
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
320
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
321
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
322
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
323
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
324
|
-
tabIndex: _propTypes["default"].number
|
|
325
|
-
};
|
|
326
|
-
var _default = DxcToggleGroup;
|
|
327
|
-
exports["default"] = _default;
|
|
201
|
+
var _default = exports["default"] = DxcToggleGroup;
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
3
|
+
import DxcToggleGroup from "./ToggleGroup";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "Toggle Group",
|
|
10
|
+
component: DxcToggleGroup,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const ethernetSVG = (
|
|
14
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
|
15
|
+
<path d="M0 0h24v24H0V0z" fill="none" />
|
|
16
|
+
<path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z" />
|
|
17
|
+
</svg>
|
|
18
|
+
);
|
|
19
|
+
const gMobileSVG = (
|
|
20
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
|
21
|
+
<g>
|
|
22
|
+
<path d="M0,0h24v24H0V0z" fill="none" />
|
|
23
|
+
</g>
|
|
24
|
+
<g>
|
|
25
|
+
<g>
|
|
26
|
+
<path d="M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z" />
|
|
27
|
+
</g>
|
|
28
|
+
</g>
|
|
29
|
+
</svg>
|
|
30
|
+
);
|
|
31
|
+
const wifiSVG = (
|
|
32
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
|
33
|
+
<path d="M0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" />
|
|
34
|
+
<path d="M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z" />
|
|
35
|
+
</svg>
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
const options = [
|
|
39
|
+
{
|
|
40
|
+
value: 1,
|
|
41
|
+
label: "Facebook",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
value: 2,
|
|
45
|
+
label: "X",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
value: 3,
|
|
49
|
+
label: "Linkedin",
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
const optionsWithIcon = [
|
|
53
|
+
{
|
|
54
|
+
value: 1,
|
|
55
|
+
icon: wifiSVG,
|
|
56
|
+
title: "WiFi connection",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
value: 2,
|
|
60
|
+
icon: ethernetSVG,
|
|
61
|
+
title: "Ethernet connection",
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
value: 3,
|
|
65
|
+
icon: gMobileSVG,
|
|
66
|
+
title: "3G Mobile data connection",
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
const optionsWithIconAndLabel = [
|
|
70
|
+
{
|
|
71
|
+
value: 1,
|
|
72
|
+
label: "Wi-fi",
|
|
73
|
+
icon: wifiSVG,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
value: 2,
|
|
77
|
+
label: "Ethernet",
|
|
78
|
+
icon: ethernetSVG,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
value: 3,
|
|
82
|
+
label: "3G Mobile",
|
|
83
|
+
icon: gMobileSVG,
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
const twoOptions = [
|
|
87
|
+
{
|
|
88
|
+
value: 1,
|
|
89
|
+
label: "Facebook",
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
value: 2,
|
|
93
|
+
label: "X",
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
const opinionatedTheme = {
|
|
98
|
+
toggleGroup: {
|
|
99
|
+
selectedBaseColor: "#5f249f",
|
|
100
|
+
selectedFontColor: "#ffffff",
|
|
101
|
+
unselectedBaseColor: "#e6e6e6",
|
|
102
|
+
unselectedFontColor: "#000000",
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export const Chromatic = () => (
|
|
107
|
+
<>
|
|
108
|
+
<ExampleContainer>
|
|
109
|
+
<Title title="Basic toggle group" theme="light" level={4} />
|
|
110
|
+
<DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />
|
|
111
|
+
</ExampleContainer>
|
|
112
|
+
<ExampleContainer>
|
|
113
|
+
<Title title="Selected" theme="light" level={4} />
|
|
114
|
+
<DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
|
|
115
|
+
</ExampleContainer>
|
|
116
|
+
<ExampleContainer>
|
|
117
|
+
<Title title="Icons toggle group" theme="light" level={4} />
|
|
118
|
+
<DxcToggleGroup label="Icons group" options={optionsWithIcon} />
|
|
119
|
+
</ExampleContainer>
|
|
120
|
+
<ExampleContainer>
|
|
121
|
+
<Title title="Icons & label toggle group" theme="light" level={4} />
|
|
122
|
+
<DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
|
|
123
|
+
</ExampleContainer>
|
|
124
|
+
<ExampleContainer>
|
|
125
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
126
|
+
<DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
|
|
127
|
+
</ExampleContainer>
|
|
128
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
129
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
130
|
+
<DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
|
|
131
|
+
</ExampleContainer>
|
|
132
|
+
<ExampleContainer>
|
|
133
|
+
<Title title="Multiple toggleGroup" theme="light" level={4} />
|
|
134
|
+
<DxcToggleGroup
|
|
135
|
+
label="Toggle group"
|
|
136
|
+
helperText="Please select one or more"
|
|
137
|
+
options={options}
|
|
138
|
+
defaultValue={[1, 3]}
|
|
139
|
+
multiple
|
|
140
|
+
></DxcToggleGroup>
|
|
141
|
+
</ExampleContainer>
|
|
142
|
+
<Title title="Margins" theme="light" level={2} />
|
|
143
|
+
<ExampleContainer>
|
|
144
|
+
<Title title="xxSmall" theme="light" level={4} />
|
|
145
|
+
<DxcToggleGroup label="xxSmall margin" options={options} margin="xxsmall" />
|
|
146
|
+
</ExampleContainer>
|
|
147
|
+
<ExampleContainer>
|
|
148
|
+
<Title title="xSmall" theme="light" level={4} />
|
|
149
|
+
<DxcToggleGroup label="xSmall margin" options={options} margin="xsmall" />
|
|
150
|
+
</ExampleContainer>
|
|
151
|
+
<ExampleContainer>
|
|
152
|
+
<Title title="Small" theme="light" level={4} />
|
|
153
|
+
<DxcToggleGroup label="Small margin" options={options} margin="small" />
|
|
154
|
+
</ExampleContainer>
|
|
155
|
+
<ExampleContainer>
|
|
156
|
+
<Title title="Medium" theme="light" level={4} />
|
|
157
|
+
<DxcToggleGroup label="Medium margin" options={options} margin="medium" />
|
|
158
|
+
</ExampleContainer>
|
|
159
|
+
<ExampleContainer>
|
|
160
|
+
<Title title="Large" theme="light" level={4} />
|
|
161
|
+
<DxcToggleGroup label="Large margin" options={options} margin="large" />
|
|
162
|
+
</ExampleContainer>
|
|
163
|
+
<ExampleContainer>
|
|
164
|
+
<Title title="xLarge" theme="light" level={4} />
|
|
165
|
+
<DxcToggleGroup label="xLarge margin" options={options} margin="xlarge" />
|
|
166
|
+
</ExampleContainer>
|
|
167
|
+
<ExampleContainer>
|
|
168
|
+
<Title title="xxLarge" theme="light" level={4} />
|
|
169
|
+
<DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
|
|
170
|
+
</ExampleContainer>
|
|
171
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
172
|
+
<ExampleContainer>
|
|
173
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
174
|
+
<Title title="Selected" theme="light" level={4} />
|
|
175
|
+
<DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
|
|
176
|
+
</HalstackProvider>
|
|
177
|
+
</ExampleContainer>
|
|
178
|
+
<ExampleContainer>
|
|
179
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
180
|
+
<Title title="Icons & label toggle group" theme="light" level={4} />
|
|
181
|
+
<DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
|
|
182
|
+
</HalstackProvider>
|
|
183
|
+
</ExampleContainer>
|
|
184
|
+
<ExampleContainer>
|
|
185
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
186
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
187
|
+
<DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
|
|
188
|
+
</HalstackProvider>
|
|
189
|
+
</ExampleContainer>
|
|
190
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
191
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
192
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
193
|
+
<DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
|
|
194
|
+
</HalstackProvider>
|
|
195
|
+
</ExampleContainer>
|
|
196
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
197
|
+
<Title title="Actived" theme="light" level={4} />
|
|
198
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
199
|
+
<DxcToggleGroup label="Actived" options={twoOptions} defaultValue={2} />
|
|
200
|
+
</HalstackProvider>
|
|
201
|
+
</ExampleContainer>
|
|
202
|
+
</>
|
|
203
|
+
);
|
|
204
|
+
const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
|
|
205
|
+
|
|
206
|
+
export const ToggleGroupSelectedActived = OptionSelected.bind({});
|
|
207
|
+
ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
|
|
208
|
+
const canvas = within(canvasElement);
|
|
209
|
+
const option = canvas.getByText("Linkedin");
|
|
210
|
+
await userEvent.click(option);
|
|
211
|
+
};
|
|
212
|
+
export const ToggleGroupUnselectedActived = OptionSelected.bind({});
|
|
213
|
+
ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
|
|
214
|
+
const canvas = within(canvasElement);
|
|
215
|
+
const option = canvas.getByText("X");
|
|
216
|
+
await userEvent.click(option);
|
|
217
|
+
userEvent.tab();
|
|
218
|
+
};
|