@dxc-technology/halstack-react 4.0.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +7 -6
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +35 -162
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +68 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +68 -85
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +72 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +43 -153
- package/alert/Alert.stories.tsx +170 -0
- package/alert/Alert.test.js +92 -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 -17
- package/badge/types.d.ts +5 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -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 +36 -76
- package/box/Box.stories.tsx +132 -0
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +43 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +33 -97
- package/button/Button.stories.tsx +274 -0
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +53 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +44 -137
- package/card/Card.stories.tsx +201 -0
- package/card/Card.test.js +50 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +67 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +52 -94
- package/checkbox/Checkbox.stories.tsx +188 -0
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +64 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +26 -130
- package/chip/Chip.stories.tsx +119 -0
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/RequiredComponent.js +3 -11
- package/common/variables.js +301 -373
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +80 -108
- package/date-input/DateInput.stories.tsx +138 -0
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +107 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +25 -105
- package/dialog/Dialog.stories.tsx +212 -0
- package/dialog/Dialog.test.js +40 -0
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +54 -207
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +80 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +200 -251
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +44 -145
- package/file-input/types.d.ts +112 -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 +103 -0
- package/flex/types.d.ts +21 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +50 -286
- package/footer/Footer.stories.tsx +130 -0
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +16 -16
- package/footer/types.d.ts +65 -0
- package/footer/types.js +5 -0
- package/header/Header.d.ts +7 -0
- package/header/Header.js +82 -249
- package/header/Header.stories.tsx +172 -0
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +7 -32
- package/header/types.d.ts +47 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +25 -96
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +186 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -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 +76 -232
- package/layout/ApplicationLayout.stories.tsx +161 -0
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +19 -8
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +42 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +64 -165
- package/link/Link.stories.tsx +186 -0
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +44 -40
- package/main.js +114 -104
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +21 -81
- package/number-input/NumberInput.stories.tsx +115 -0
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +124 -0
- package/number-input/types.js +5 -0
- package/package.json +23 -16
- package/paginator/Icons.js +9 -9
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +32 -166
- package/paginator/Paginator.stories.tsx +63 -0
- package/paginator/Paginator.test.js +308 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +40 -77
- package/password-input/PasswordInput.stories.tsx +131 -0
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +110 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +23 -95
- package/progress-bar/ProgressBar.stories.jsx +58 -0
- package/progress-bar/ProgressBar.test.js +65 -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 +118 -0
- package/quick-nav/QuickNav.stories.tsx +264 -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 +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +283 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +43 -147
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +175 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +231 -709
- package/select/Select.stories.tsx +626 -0
- package/select/Select.test.js +2162 -0
- package/select/types.d.ts +212 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +182 -105
- package/sidenav/Sidenav.stories.tsx +180 -0
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +73 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +76 -162
- package/slider/Slider.stories.tsx +177 -0
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +82 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +46 -177
- package/spinner/Spinner.stories.jsx +103 -0
- package/spinner/Spinner.test.js +64 -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 +55 -82
- package/switch/Switch.stories.tsx +160 -0
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +62 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +12 -26
- package/table/Table.stories.jsx +277 -0
- package/table/Table.test.js +26 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +43 -175
- package/tabs/Tabs.stories.tsx +112 -0
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +82 -0
- package/tabs/types.js +5 -0
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +132 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +44 -143
- package/tag/Tag.stories.tsx +142 -0
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +169 -391
- package/text-input/TextInput.stories.tsx +474 -0
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +178 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +50 -142
- package/textarea/Textarea.stories.jsx +157 -0
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +36 -148
- package/toggle-group/ToggleGroup.stories.tsx +173 -0
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -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 +2 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +132 -252
- package/wizard/Wizard.stories.tsx +233 -0
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +65 -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/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/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/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
package/checkbox/Checkbox.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
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
|
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
@@ -23,50 +21,28 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
23
21
|
|
|
24
22
|
var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
|
|
25
23
|
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
|
-
var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
|
|
29
|
-
|
|
30
24
|
var _variables = require("../common/variables.js");
|
|
31
25
|
|
|
32
26
|
var _utils = require("../common/utils.js");
|
|
33
27
|
|
|
34
|
-
var
|
|
28
|
+
var _uuid = require("uuid");
|
|
35
29
|
|
|
36
|
-
var
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
37
31
|
|
|
38
|
-
|
|
39
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 16px;\n height: 16px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n margin-left: ", ";\n margin-right: ", ";\n"]);
|
|
32
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
40
33
|
|
|
41
|
-
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return data;
|
|
46
|
-
}
|
|
34
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
47
35
|
|
|
48
|
-
|
|
49
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n flex-direction: ", ";\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n box-shadow: 0 0 0 2px\n ", ";\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"]);
|
|
50
|
-
|
|
51
|
-
_templateObject2 = function _templateObject2() {
|
|
52
|
-
return data;
|
|
53
|
-
};
|
|
36
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
54
37
|
|
|
55
|
-
|
|
56
|
-
}
|
|
38
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
57
39
|
|
|
58
|
-
function
|
|
59
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"]);
|
|
60
|
-
|
|
61
|
-
_templateObject = function _templateObject() {
|
|
62
|
-
return data;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
return data;
|
|
66
|
-
}
|
|
40
|
+
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; }
|
|
67
41
|
|
|
68
42
|
var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
69
43
|
var checked = _ref.checked,
|
|
44
|
+
_ref$defaultChecked = _ref.defaultChecked,
|
|
45
|
+
defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
|
|
70
46
|
value = _ref.value,
|
|
71
47
|
_ref$label = _ref.label,
|
|
72
48
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
@@ -76,27 +52,34 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
76
52
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
77
53
|
_ref$disabled = _ref.disabled,
|
|
78
54
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
55
|
+
_ref$optional = _ref.optional,
|
|
56
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
79
57
|
onChange = _ref.onChange,
|
|
80
|
-
_ref$required = _ref.required,
|
|
81
|
-
required = _ref$required === void 0 ? false : _ref$required,
|
|
82
58
|
margin = _ref.margin,
|
|
83
59
|
_ref$size = _ref.size,
|
|
84
60
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
85
61
|
_ref$tabIndex = _ref.tabIndex,
|
|
86
62
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
87
63
|
|
|
88
|
-
var _useState = (0, _react.useState)(
|
|
89
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState,
|
|
90
|
-
|
|
91
|
-
|
|
64
|
+
var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
|
|
65
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
66
|
+
switchId = _useState2[0];
|
|
67
|
+
|
|
68
|
+
var labelId = "label-".concat(switchId);
|
|
92
69
|
|
|
93
|
-
var _useState3 = (0, _react.useState)(
|
|
70
|
+
var _useState3 = (0, _react.useState)(defaultChecked),
|
|
94
71
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
95
|
-
|
|
96
|
-
|
|
72
|
+
innerChecked = _useState4[0],
|
|
73
|
+
setInnerChecked = _useState4[1];
|
|
74
|
+
|
|
75
|
+
var _useState5 = (0, _react.useState)(false),
|
|
76
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
77
|
+
isLabelHovered = _useState6[0],
|
|
78
|
+
setIsLabelHovered = _useState6[1];
|
|
97
79
|
|
|
98
80
|
var colorsTheme = (0, _useTheme["default"])();
|
|
99
81
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
82
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
100
83
|
|
|
101
84
|
var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
|
|
102
85
|
if (checked === undefined) {
|
|
@@ -117,9 +100,20 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
117
100
|
setIsLabelHovered(!isLabelHovered);
|
|
118
101
|
};
|
|
119
102
|
|
|
120
|
-
|
|
103
|
+
var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
104
|
+
id: labelId,
|
|
105
|
+
labelPosition: labelPosition,
|
|
106
|
+
onClick: disabled === true ? function () {} : handlerCheckboxChange,
|
|
107
|
+
disabled: disabled,
|
|
108
|
+
className: "labelContainer",
|
|
109
|
+
backgroundType: backgroundType,
|
|
110
|
+
onMouseOver: handleLabelHover,
|
|
111
|
+
onMouseOut: handleLabelHover
|
|
112
|
+
}, labelPosition === "before" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, label, " ", optional && /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.formFields.optionalLabel)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)"), " ", label));
|
|
113
|
+
|
|
114
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
121
115
|
theme: colorsTheme.checkbox
|
|
122
|
-
}, _react["default"].createElement(CheckboxContainer, {
|
|
116
|
+
}, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
|
|
123
117
|
id: name,
|
|
124
118
|
brightness: _variables.componentTokens,
|
|
125
119
|
label: label,
|
|
@@ -129,13 +123,13 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
129
123
|
size: size,
|
|
130
124
|
backgroundType: backgroundType,
|
|
131
125
|
isLabelHovered: isLabelHovered
|
|
132
|
-
}, _react["default"].createElement(_Checkbox["default"], {
|
|
133
|
-
checked: checked
|
|
126
|
+
}, label && labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
127
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
134
128
|
inputProps: {
|
|
135
129
|
name: name,
|
|
136
|
-
"aria-
|
|
130
|
+
"aria-labelledby": labelId,
|
|
137
131
|
role: "checkbox",
|
|
138
|
-
"aria-checked": checked
|
|
132
|
+
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
|
|
139
133
|
},
|
|
140
134
|
onChange: handlerCheckboxChange,
|
|
141
135
|
value: value,
|
|
@@ -143,20 +137,12 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
143
137
|
disableRipple: true,
|
|
144
138
|
className: "test",
|
|
145
139
|
tabIndex: tabIndex
|
|
146
|
-
}), _react["default"].createElement(CheckboxBlackBack, {
|
|
140
|
+
}), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
|
|
147
141
|
labelPosition: labelPosition,
|
|
148
142
|
disabled: disabled,
|
|
149
|
-
checked: checked
|
|
143
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
150
144
|
backgroundType: backgroundType
|
|
151
|
-
}),
|
|
152
|
-
labelPosition: labelPosition,
|
|
153
|
-
onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
|
|
154
|
-
disabled: disabled,
|
|
155
|
-
className: "labelContainer",
|
|
156
|
-
backgroundType: backgroundType,
|
|
157
|
-
onMouseOver: handleLabelHover,
|
|
158
|
-
onMouseOut: handleLabelHover
|
|
159
|
-
}, label)));
|
|
145
|
+
}), label && labelPosition === "after" && labelComponent));
|
|
160
146
|
};
|
|
161
147
|
|
|
162
148
|
var sizes = {
|
|
@@ -179,19 +165,15 @@ var getDisabledColor = function getDisabledColor(props, element) {
|
|
|
179
165
|
switch (element) {
|
|
180
166
|
case "check":
|
|
181
167
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
|
|
182
|
-
break;
|
|
183
168
|
|
|
184
169
|
case "background":
|
|
185
170
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
|
|
186
|
-
break;
|
|
187
171
|
|
|
188
172
|
case "border":
|
|
189
173
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
|
|
190
|
-
break;
|
|
191
174
|
|
|
192
175
|
case "label":
|
|
193
176
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
|
|
194
|
-
break;
|
|
195
177
|
}
|
|
196
178
|
};
|
|
197
179
|
|
|
@@ -199,35 +181,31 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
|
|
|
199
181
|
switch (element) {
|
|
200
182
|
case "check":
|
|
201
183
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
|
|
202
|
-
break;
|
|
203
184
|
|
|
204
185
|
case "background":
|
|
205
186
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
|
|
206
|
-
break;
|
|
207
187
|
|
|
208
188
|
case "border":
|
|
209
189
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
|
|
210
|
-
break;
|
|
211
190
|
|
|
212
191
|
case "label":
|
|
213
192
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
214
|
-
break;
|
|
215
193
|
}
|
|
216
194
|
};
|
|
217
195
|
|
|
218
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
|
|
196
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n cursor: ", ";\n"])), function (props) {
|
|
219
197
|
return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
|
|
220
|
-
}, function (props) {
|
|
221
|
-
return props.disabled ? "not-allowed" : "pointer";
|
|
222
198
|
}, function (props) {
|
|
223
199
|
return props.theme.fontFamily;
|
|
224
200
|
}, function (props) {
|
|
225
201
|
return props.theme.fontSize;
|
|
226
202
|
}, function (props) {
|
|
227
203
|
return props.theme.fontWeight;
|
|
204
|
+
}, function (props) {
|
|
205
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
228
206
|
});
|
|
229
207
|
|
|
230
|
-
var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
|
|
208
|
+
var CheckboxContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n border-radius: 2px;\n outline: 2px solid\n ", ";\n outline-offset: -1px;\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"])), function (props) {
|
|
231
209
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
232
210
|
}, function (props) {
|
|
233
211
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -241,8 +219,6 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
|
|
|
241
219
|
return calculateWidth(props.margin, props.size);
|
|
242
220
|
}, function (props) {
|
|
243
221
|
return props.disabled ? "not-allowed" : "pointer";
|
|
244
|
-
}, function (props) {
|
|
245
|
-
return props.labelPosition === "before" ? "row-reverse" : "row";
|
|
246
222
|
}, function (props) {
|
|
247
223
|
return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
|
|
248
224
|
}, function (props) {
|
|
@@ -265,7 +241,7 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
|
|
|
265
241
|
return props.labelPosition === "before" ? "1px" : "unset";
|
|
266
242
|
});
|
|
267
243
|
|
|
268
|
-
var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
|
|
244
|
+
var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 16px;\n height: 16px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
|
|
269
245
|
return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
|
|
270
246
|
}, function (props) {
|
|
271
247
|
return props.labelPosition === "before" ? "unset" : "5px";
|
|
@@ -277,23 +253,5 @@ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), fu
|
|
|
277
253
|
return props.labelPosition === "before" ? "0px" : "";
|
|
278
254
|
});
|
|
279
255
|
|
|
280
|
-
DxcCheckbox.propTypes = {
|
|
281
|
-
checked: _propTypes["default"].bool,
|
|
282
|
-
value: _propTypes["default"].any,
|
|
283
|
-
label: _propTypes["default"].string,
|
|
284
|
-
labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
285
|
-
name: _propTypes["default"].string,
|
|
286
|
-
disabled: _propTypes["default"].bool,
|
|
287
|
-
onChange: _propTypes["default"].func,
|
|
288
|
-
required: _propTypes["default"].bool,
|
|
289
|
-
size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
|
|
290
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
291
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
292
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
293
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
294
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
295
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
296
|
-
tabIndex: _propTypes["default"].number
|
|
297
|
-
};
|
|
298
256
|
var _default = DxcCheckbox;
|
|
299
257
|
exports["default"] = _default;
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcCheckbox from "./Checkbox";
|
|
3
|
+
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
|
+
import { userEvent } from "@storybook/testing-library";
|
|
8
|
+
|
|
9
|
+
export default {
|
|
10
|
+
title: "Checkbox",
|
|
11
|
+
component: DxcCheckbox,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const Checkbox = () => (
|
|
15
|
+
<>
|
|
16
|
+
<ExampleContainer>
|
|
17
|
+
<Title title="Default" theme="light" level={4} />
|
|
18
|
+
<DxcCheckbox label="Checkbox" />
|
|
19
|
+
</ExampleContainer>
|
|
20
|
+
<ExampleContainer>
|
|
21
|
+
<Title title="Focused" theme="light" level={4} />
|
|
22
|
+
<DxcCheckbox label="Focused" />
|
|
23
|
+
</ExampleContainer>
|
|
24
|
+
<ExampleContainer>
|
|
25
|
+
<Title title="Checked" theme="light" level={4} />
|
|
26
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
27
|
+
</ExampleContainer>
|
|
28
|
+
<ExampleContainer>
|
|
29
|
+
<Title title="Optional" theme="light" level={4} />
|
|
30
|
+
<DxcCheckbox label="Checkbox" optional />
|
|
31
|
+
</ExampleContainer>
|
|
32
|
+
<ExampleContainer>
|
|
33
|
+
<Title title="Disabled and checked" theme="light" level={4} />
|
|
34
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked />
|
|
35
|
+
</ExampleContainer>
|
|
36
|
+
<ExampleContainer>
|
|
37
|
+
<Title title="Disabled and optional" theme="light" level={4} />
|
|
38
|
+
<DxcCheckbox label="Checkbox" disabled optional />
|
|
39
|
+
</ExampleContainer>
|
|
40
|
+
<ExampleContainer>
|
|
41
|
+
<Title title="Disabled, optional and checked" theme="light" level={4} />
|
|
42
|
+
<DxcCheckbox label="Checkbox" disabled optional defaultChecked />
|
|
43
|
+
</ExampleContainer>
|
|
44
|
+
<ExampleContainer>
|
|
45
|
+
<Title title="Label after" theme="light" level={4} />
|
|
46
|
+
<DxcCheckbox label="Checkbox" labelPosition="after" />
|
|
47
|
+
</ExampleContainer>
|
|
48
|
+
<ExampleContainer>
|
|
49
|
+
<Title title="Checked with label after" theme="light" level={4} />
|
|
50
|
+
<DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
|
|
51
|
+
</ExampleContainer>
|
|
52
|
+
<ExampleContainer>
|
|
53
|
+
<Title title="Optional with label after" theme="light" level={4} />
|
|
54
|
+
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
55
|
+
</ExampleContainer>
|
|
56
|
+
<ExampleContainer>
|
|
57
|
+
<Title title="Disabled and checked with label after" theme="light" level={4} />
|
|
58
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
|
|
59
|
+
</ExampleContainer>
|
|
60
|
+
<ExampleContainer>
|
|
61
|
+
<Title title="Disabled and optional with label after" theme="light" level={4} />
|
|
62
|
+
<DxcCheckbox label="Checkbox" disabled optional labelPosition="after" />
|
|
63
|
+
</ExampleContainer>
|
|
64
|
+
<ExampleContainer>
|
|
65
|
+
<Title title="Disabled, optional and checked with label after" theme="light" level={4} />
|
|
66
|
+
<DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
|
|
67
|
+
</ExampleContainer>
|
|
68
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
69
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
70
|
+
<DxcCheckbox label="Hovered" />
|
|
71
|
+
</ExampleContainer>
|
|
72
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
73
|
+
<Title title="Hovered and checked" theme="light" level={4} />
|
|
74
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
75
|
+
</ExampleContainer>
|
|
76
|
+
<BackgroundColorProvider color="#333333">
|
|
77
|
+
<DarkContainer>
|
|
78
|
+
<ExampleContainer>
|
|
79
|
+
<Title title="Default" theme="dark" level={4} />
|
|
80
|
+
<DxcCheckbox label="Checkbox" />
|
|
81
|
+
</ExampleContainer>
|
|
82
|
+
<ExampleContainer>
|
|
83
|
+
<Title title="Checked" theme="dark" level={4} />
|
|
84
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
85
|
+
</ExampleContainer>
|
|
86
|
+
<ExampleContainer>
|
|
87
|
+
<Title title="Optional" theme="dark" level={4} />
|
|
88
|
+
<DxcCheckbox label="Checkbox" optional />
|
|
89
|
+
</ExampleContainer>
|
|
90
|
+
<ExampleContainer>
|
|
91
|
+
<Title title="Disabled and checked" theme="dark" level={4} />
|
|
92
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked />
|
|
93
|
+
</ExampleContainer>
|
|
94
|
+
<ExampleContainer>
|
|
95
|
+
<Title title="Disabled and optional" theme="dark" level={4} />
|
|
96
|
+
<DxcCheckbox label="Checkbox" disabled optional />
|
|
97
|
+
</ExampleContainer>
|
|
98
|
+
<ExampleContainer>
|
|
99
|
+
<Title title="Disabled, optional and checked" theme="dark" level={4} />
|
|
100
|
+
<DxcCheckbox label="Checkbox" disabled optional defaultChecked />
|
|
101
|
+
</ExampleContainer>
|
|
102
|
+
<ExampleContainer>
|
|
103
|
+
<Title title="Label after" theme="dark" level={4} />
|
|
104
|
+
<DxcCheckbox label="Checkbox" labelPosition="after" />
|
|
105
|
+
</ExampleContainer>
|
|
106
|
+
<ExampleContainer>
|
|
107
|
+
<Title title="Checked with label after" theme="dark" level={4} />
|
|
108
|
+
<DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
|
|
109
|
+
</ExampleContainer>
|
|
110
|
+
<ExampleContainer>
|
|
111
|
+
<Title title="Optional with label after" theme="dark" level={4} />
|
|
112
|
+
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
113
|
+
</ExampleContainer>
|
|
114
|
+
<ExampleContainer>
|
|
115
|
+
<Title title="Disabled and checked with label after" theme="dark" level={4} />
|
|
116
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
|
|
117
|
+
</ExampleContainer>
|
|
118
|
+
<ExampleContainer>
|
|
119
|
+
<Title title="Disabled and optional with label after" theme="dark" level={4} />
|
|
120
|
+
<DxcCheckbox label="Checkbox" disabled optional labelPosition="after" />
|
|
121
|
+
</ExampleContainer>
|
|
122
|
+
<ExampleContainer>
|
|
123
|
+
<Title title="Disabled, optional and checked with label after" theme="dark" level={4} />
|
|
124
|
+
<DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
|
|
125
|
+
</ExampleContainer>
|
|
126
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
127
|
+
<Title title="Hovered" theme="dark" level={4} />
|
|
128
|
+
<DxcCheckbox label="Hovered" />
|
|
129
|
+
</ExampleContainer>
|
|
130
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
131
|
+
<Title title="Hovered and checked" theme="dark" level={4} />
|
|
132
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
133
|
+
</ExampleContainer>
|
|
134
|
+
</DarkContainer>
|
|
135
|
+
</BackgroundColorProvider>
|
|
136
|
+
<Title title="Sizes" theme="light" level={2} />
|
|
137
|
+
<ExampleContainer>
|
|
138
|
+
<DxcCheckbox label="Small" size="small" />
|
|
139
|
+
</ExampleContainer>
|
|
140
|
+
<ExampleContainer>
|
|
141
|
+
<DxcCheckbox label="Medium" size="medium" />
|
|
142
|
+
</ExampleContainer>
|
|
143
|
+
<ExampleContainer>
|
|
144
|
+
<DxcCheckbox label="Large" size="large" />
|
|
145
|
+
</ExampleContainer>
|
|
146
|
+
<ExampleContainer>
|
|
147
|
+
<DxcCheckbox label="FitContent" size="fitContent" />
|
|
148
|
+
</ExampleContainer>
|
|
149
|
+
<ExampleContainer>
|
|
150
|
+
<DxcCheckbox label="FillParent" size="fillParent" />
|
|
151
|
+
</ExampleContainer>
|
|
152
|
+
<Title title="Margins" theme="light" level={2} />
|
|
153
|
+
<ExampleContainer>
|
|
154
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
155
|
+
<DxcCheckbox label="Xxsmall" margin="xxsmall" />
|
|
156
|
+
</ExampleContainer>
|
|
157
|
+
<ExampleContainer>
|
|
158
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
159
|
+
<DxcCheckbox label="Xsmall" margin="xsmall" />
|
|
160
|
+
</ExampleContainer>
|
|
161
|
+
<ExampleContainer>
|
|
162
|
+
<Title title="Small" theme="light" level={4} />
|
|
163
|
+
<DxcCheckbox label="Small" margin="small" />
|
|
164
|
+
</ExampleContainer>
|
|
165
|
+
<ExampleContainer>
|
|
166
|
+
<Title title="Medium" theme="light" level={4} />
|
|
167
|
+
<DxcCheckbox label="Medium" margin="medium" />
|
|
168
|
+
</ExampleContainer>
|
|
169
|
+
<ExampleContainer>
|
|
170
|
+
<Title title="Large" theme="light" level={4} />
|
|
171
|
+
<DxcCheckbox label="Large" margin="large" />
|
|
172
|
+
</ExampleContainer>
|
|
173
|
+
<ExampleContainer>
|
|
174
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
175
|
+
<DxcCheckbox label="Xlarge" margin="xlarge" />
|
|
176
|
+
</ExampleContainer>
|
|
177
|
+
<ExampleContainer>
|
|
178
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
179
|
+
<DxcCheckbox label="Xxlarge" margin="xxlarge" />
|
|
180
|
+
</ExampleContainer>
|
|
181
|
+
</>
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
export const Chromatic = Checkbox.bind({});
|
|
185
|
+
Chromatic.play = async () => {
|
|
186
|
+
await userEvent.tab();
|
|
187
|
+
await userEvent.tab();
|
|
188
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
10
|
+
|
|
11
|
+
describe("Checkbox component tests", function () {
|
|
12
|
+
test("Checkbox renders with correct text", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
14
|
+
label: "Checkbox"
|
|
15
|
+
})),
|
|
16
|
+
getByText = _render.getByText;
|
|
17
|
+
|
|
18
|
+
expect(getByText("Checkbox")).toBeTruthy();
|
|
19
|
+
});
|
|
20
|
+
test("Calls correct function on click", function () {
|
|
21
|
+
var onChange = jest.fn();
|
|
22
|
+
|
|
23
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
24
|
+
label: "Checkbox",
|
|
25
|
+
onChange: onChange
|
|
26
|
+
})),
|
|
27
|
+
getByText = _render2.getByText;
|
|
28
|
+
|
|
29
|
+
_react2.fireEvent.click(getByText("Checkbox"));
|
|
30
|
+
|
|
31
|
+
expect(onChange).toHaveBeenCalled();
|
|
32
|
+
});
|
|
33
|
+
test("Uncontrolled checkbox", function () {
|
|
34
|
+
var onChange = jest.fn();
|
|
35
|
+
var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
36
|
+
label: "Checkbox",
|
|
37
|
+
onChange: onChange
|
|
38
|
+
}));
|
|
39
|
+
var visibleCheckbox = component.getByText("Checkbox");
|
|
40
|
+
var input = component.getByRole("checkbox");
|
|
41
|
+
expect(input.checked).toBe(false);
|
|
42
|
+
|
|
43
|
+
_react2.fireEvent.click(visibleCheckbox);
|
|
44
|
+
|
|
45
|
+
expect(onChange).toHaveBeenCalled();
|
|
46
|
+
expect(onChange).toHaveBeenCalledWith(true);
|
|
47
|
+
expect(input.checked).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
test("Controlled checkbox", function () {
|
|
50
|
+
var onChange = jest.fn();
|
|
51
|
+
var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
52
|
+
label: "Checkbox",
|
|
53
|
+
checked: false,
|
|
54
|
+
onChange: onChange
|
|
55
|
+
}));
|
|
56
|
+
var input = component.getByRole("checkbox");
|
|
57
|
+
var visibleCheckbox = component.getByText("Checkbox");
|
|
58
|
+
|
|
59
|
+
_react2.fireEvent.click(visibleCheckbox);
|
|
60
|
+
|
|
61
|
+
expect(onChange).toHaveBeenCalled();
|
|
62
|
+
expect(onChange).toHaveBeenCalledWith(true);
|
|
63
|
+
expect(input.checked).toBe(false);
|
|
64
|
+
});
|
|
65
|
+
test("Renders with correct initial value and initial state when it is uncontrolled", function () {
|
|
66
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
67
|
+
label: "Default label",
|
|
68
|
+
defaultChecked: true,
|
|
69
|
+
value: "test-defaultChecked"
|
|
70
|
+
})),
|
|
71
|
+
getByRole = _render3.getByRole;
|
|
72
|
+
|
|
73
|
+
var input = getByRole("checkbox");
|
|
74
|
+
expect(input.checked).toBe(true);
|
|
75
|
+
expect(input.value).toBe("test-defaultChecked");
|
|
76
|
+
expect(input.getAttribute("aria-checked")).toBe("true");
|
|
77
|
+
});
|
|
78
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
declare type Margin = {
|
|
3
|
+
top?: Space;
|
|
4
|
+
bottom?: Space;
|
|
5
|
+
left?: Space;
|
|
6
|
+
right?: Space;
|
|
7
|
+
};
|
|
8
|
+
declare type Props = {
|
|
9
|
+
/**
|
|
10
|
+
* Initial state of the checkbox, only when it is uncontrolled.
|
|
11
|
+
*/
|
|
12
|
+
defaultChecked?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* If true, the component is checked. If undefined the component will be
|
|
15
|
+
* uncontrolled and the value will be managed internally by the component.
|
|
16
|
+
*/
|
|
17
|
+
checked?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Will be passed to the value attribute of the html input element.
|
|
20
|
+
* When inside a form, this value will be only submitted if the checkbox is checked.
|
|
21
|
+
*/
|
|
22
|
+
value?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Text to be placed next to the checkbox.
|
|
25
|
+
*/
|
|
26
|
+
label?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the label should appear after or before the checkbox.
|
|
29
|
+
*/
|
|
30
|
+
labelPosition?: "before" | "after";
|
|
31
|
+
/**
|
|
32
|
+
* Name attribute of the input element.
|
|
33
|
+
*/
|
|
34
|
+
name?: string;
|
|
35
|
+
/**
|
|
36
|
+
* If true, the component will be disabled.
|
|
37
|
+
*/
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* If true, the component will display '(Optional)' next to the label.
|
|
41
|
+
*/
|
|
42
|
+
optional?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* This function will be called when the user clicks the checkbox.
|
|
45
|
+
* The new value will be passed as a parameter.
|
|
46
|
+
*/
|
|
47
|
+
onChange?: (value: boolean) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Size of the margin to be applied to the component
|
|
50
|
+
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
51
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties
|
|
52
|
+
* in order to specify different margin sizes.
|
|
53
|
+
*/
|
|
54
|
+
margin?: Space | Margin;
|
|
55
|
+
/**
|
|
56
|
+
* Size of the component.
|
|
57
|
+
*/
|
|
58
|
+
size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
|
|
59
|
+
/**
|
|
60
|
+
* Value of the tabindex.
|
|
61
|
+
*/
|
|
62
|
+
tabIndex?: number;
|
|
63
|
+
};
|
|
64
|
+
export default Props;
|
package/chip/Chip.d.ts
ADDED