@dxc-technology/halstack-react 0.0.0-59568e7 → 0.0.0-5a1e592
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1349 -5
- package/HalstackContext.js +117 -80
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +110 -114
- package/accordion/Accordion.stories.tsx +105 -115
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +1 -12
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +25 -65
- package/accordion-group/AccordionGroup.stories.tsx +93 -66
- package/accordion-group/AccordionGroup.test.js +27 -62
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +7 -12
- package/alert/Alert.js +5 -9
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -48
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +42 -72
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +9 -5
- package/card/Card.d.ts +1 -1
- package/card/Card.js +43 -63
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +127 -115
- package/checkbox/Checkbox.stories.tsx +146 -58
- package/checkbox/Checkbox.test.js +168 -18
- package/checkbox/types.d.ts +8 -0
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1499 -0
- package/common/variables.js +1025 -1131
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +138 -239
- package/date-input/DateInput.stories.tsx +209 -33
- package/date-input/DateInput.test.js +519 -149
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +55 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +72 -79
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -249
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +23 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +174 -220
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +18 -1
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +44 -64
- package/footer/Footer.stories.tsx +41 -19
- package/footer/Footer.test.js +16 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +11 -12
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +83 -110
- package/header/Header.stories.tsx +118 -39
- package/header/Header.test.js +2 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +0 -13
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/image/Image.d.ts +4 -0
- package/image/Image.js +85 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +1 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +81 -125
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +52 -45
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +19 -35
- package/link/Link.d.ts +2 -2
- package/link/Link.js +26 -52
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +5 -6
- package/main.d.ts +8 -9
- package/main.js +44 -52
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +317 -98
- package/package.json +18 -22
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +8 -16
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +91 -39
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +35 -82
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +34 -40
- package/progress-bar/ProgressBar.js +60 -54
- package/progress-bar/ProgressBar.stories.jsx +38 -3
- package/progress-bar/ProgressBar.test.js +68 -23
- package/quick-nav/QuickNav.js +25 -20
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +50 -35
- package/radio-group/RadioGroup.js +37 -38
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +153 -99
- package/radio-group/types.d.ts +5 -5
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +33 -16
- package/select/Option.js +11 -24
- package/select/Select.js +92 -71
- package/select/Select.stories.tsx +516 -139
- package/select/Select.test.js +417 -309
- package/select/types.d.ts +3 -6
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +146 -44
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +137 -70
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.js +358 -108
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +13 -3
- package/tag/Tag.js +8 -10
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +40 -11
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +240 -351
- package/text-input/TextInput.stories.tsx +319 -185
- package/text-input/TextInput.test.js +826 -726
- package/text-input/types.d.ts +26 -3
- package/textarea/Textarea.js +27 -26
- package/textarea/Textarea.stories.jsx +68 -1
- package/textarea/Textarea.test.js +61 -19
- package/textarea/types.d.ts +4 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +85 -59
- package/toggle-group/ToggleGroup.stories.tsx +48 -3
- package/toggle-group/ToggleGroup.test.js +38 -24
- package/toggle-group/types.d.ts +23 -14
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1251 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +10 -17
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -173
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{radio → flex}/types.js +0 -0
- /package/{row → grid}/types.js +0 -0
- /package/{stack → image}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
package/checkbox/Checkbox.js
CHANGED
|
@@ -19,11 +19,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _variables = require("../common/variables");
|
|
23
23
|
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _utils = require("../common/utils.js");
|
|
24
|
+
var _utils = require("../common/utils");
|
|
27
25
|
|
|
28
26
|
var _uuid = require("uuid");
|
|
29
27
|
|
|
@@ -33,13 +31,22 @@ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabel
|
|
|
33
31
|
|
|
34
32
|
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
35
33
|
|
|
36
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
37
35
|
|
|
38
36
|
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); }
|
|
39
37
|
|
|
40
38
|
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; }
|
|
41
39
|
|
|
42
|
-
var
|
|
40
|
+
var checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
|
+
fill: "currentColor",
|
|
42
|
+
focusable: "false",
|
|
43
|
+
"aria-hidden": "true",
|
|
44
|
+
viewBox: "0 0 24 24"
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
+
d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
|
47
|
+
}));
|
|
48
|
+
|
|
49
|
+
var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
43
50
|
var checked = _ref.checked,
|
|
44
51
|
_ref$defaultChecked = _ref.defaultChecked,
|
|
45
52
|
defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
|
|
@@ -54,6 +61,8 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
54
61
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
55
62
|
_ref$optional = _ref.optional,
|
|
56
63
|
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
64
|
+
_ref$readOnly = _ref.readOnly,
|
|
65
|
+
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
|
57
66
|
onChange = _ref.onChange,
|
|
58
67
|
margin = _ref.margin,
|
|
59
68
|
_ref$size = _ref.size,
|
|
@@ -61,196 +70,199 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
61
70
|
_ref$tabIndex = _ref.tabIndex,
|
|
62
71
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
63
72
|
|
|
64
|
-
var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
|
|
73
|
+
var _useState = (0, _react.useState)("label-checkbox-".concat((0, _uuid.v4)())),
|
|
65
74
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
var labelId = "label-".concat(switchId);
|
|
75
|
+
labelId = _useState2[0];
|
|
69
76
|
|
|
70
77
|
var _useState3 = (0, _react.useState)(defaultChecked),
|
|
71
78
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
72
79
|
innerChecked = _useState4[0],
|
|
73
80
|
setInnerChecked = _useState4[1];
|
|
74
81
|
|
|
75
|
-
var
|
|
76
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
77
|
-
isLabelHovered = _useState6[0],
|
|
78
|
-
setIsLabelHovered = _useState6[1];
|
|
79
|
-
|
|
82
|
+
var checkboxRef = (0, _react.useRef)(null);
|
|
80
83
|
var colorsTheme = (0, _useTheme["default"])();
|
|
81
84
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
82
85
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
83
86
|
|
|
84
|
-
var
|
|
85
|
-
if (
|
|
86
|
-
var
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
onChange(!checked);
|
|
95
|
-
}
|
|
87
|
+
var handleCheckboxChange = function handleCheckboxChange() {
|
|
88
|
+
if (!disabled && !readOnly) {
|
|
89
|
+
var _checkboxRef$current;
|
|
90
|
+
|
|
91
|
+
document.activeElement !== (checkboxRef === null || checkboxRef === void 0 ? void 0 : checkboxRef.current) && (checkboxRef === null || checkboxRef === void 0 ? void 0 : (_checkboxRef$current = checkboxRef.current) === null || _checkboxRef$current === void 0 ? void 0 : _checkboxRef$current.focus());
|
|
92
|
+
var newChecked = checked !== null && checked !== void 0 ? checked : innerChecked;
|
|
93
|
+
checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
|
|
94
|
+
return !innerChecked;
|
|
95
|
+
});
|
|
96
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(!newChecked);
|
|
96
97
|
}
|
|
97
98
|
};
|
|
98
99
|
|
|
99
|
-
var
|
|
100
|
-
|
|
100
|
+
var handleKeyboard = function handleKeyboard(event) {
|
|
101
|
+
switch (event.key) {
|
|
102
|
+
case " ":
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
handleCheckboxChange();
|
|
105
|
+
}
|
|
101
106
|
};
|
|
102
107
|
|
|
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
108
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
115
109
|
theme: colorsTheme.checkbox
|
|
116
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
117
|
-
id: name,
|
|
118
|
-
brightness: _variables.componentTokens,
|
|
119
|
-
label: label,
|
|
120
|
-
labelPosition: labelPosition,
|
|
110
|
+
}, /*#__PURE__*/_react["default"].createElement(MainContainer, {
|
|
121
111
|
disabled: disabled,
|
|
112
|
+
readOnly: readOnly,
|
|
113
|
+
onClick: handleCheckboxChange,
|
|
122
114
|
margin: margin,
|
|
123
115
|
size: size,
|
|
116
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
117
|
+
backgroundType: backgroundType,
|
|
118
|
+
ref: ref
|
|
119
|
+
}, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
120
|
+
id: labelId,
|
|
121
|
+
disabled: disabled,
|
|
124
122
|
backgroundType: backgroundType,
|
|
125
|
-
|
|
126
|
-
}, label &&
|
|
123
|
+
labelPosition: labelPosition
|
|
124
|
+
}, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
125
|
+
type: "checkbox",
|
|
127
126
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
"aria-labelledby": labelId,
|
|
131
|
-
role: "checkbox",
|
|
132
|
-
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
|
|
133
|
-
},
|
|
134
|
-
onChange: handlerCheckboxChange,
|
|
127
|
+
name: name,
|
|
128
|
+
"aria-hidden": "true",
|
|
135
129
|
value: value,
|
|
136
130
|
disabled: disabled,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
131
|
+
readOnly: true
|
|
132
|
+
}), /*#__PURE__*/_react["default"].createElement(CheckboxContainer, null, /*#__PURE__*/_react["default"].createElement(Checkbox, {
|
|
133
|
+
onKeyDown: handleKeyboard,
|
|
134
|
+
role: "checkbox",
|
|
135
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
136
|
+
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
137
|
+
"aria-disabled": disabled,
|
|
138
|
+
"aria-readonly": readOnly,
|
|
139
|
+
"aria-required": !disabled && !optional,
|
|
140
|
+
"aria-labelledby": labelId,
|
|
141
|
+
backgroundType: backgroundType,
|
|
143
142
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
143
|
+
disabled: disabled,
|
|
144
|
+
readOnly: readOnly,
|
|
145
|
+
ref: checkboxRef
|
|
146
|
+
}, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon))));
|
|
147
|
+
});
|
|
147
148
|
|
|
148
149
|
var sizes = {
|
|
149
150
|
small: "120px",
|
|
150
151
|
medium: "240px",
|
|
151
152
|
large: "480px",
|
|
152
153
|
fillParent: "100%",
|
|
153
|
-
fitContent: "
|
|
154
|
+
fitContent: "fit-content"
|
|
154
155
|
};
|
|
155
156
|
|
|
156
157
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
157
|
-
|
|
158
|
-
return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
return sizes[size];
|
|
158
|
+
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
162
159
|
};
|
|
163
160
|
|
|
164
161
|
var getDisabledColor = function getDisabledColor(props, element) {
|
|
165
162
|
switch (element) {
|
|
166
163
|
case "check":
|
|
167
|
-
return props.backgroundType
|
|
164
|
+
return props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
|
|
168
165
|
|
|
169
166
|
case "background":
|
|
170
|
-
return props.backgroundType
|
|
167
|
+
return props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
|
|
171
168
|
|
|
172
169
|
case "border":
|
|
173
|
-
return props.backgroundType
|
|
170
|
+
return props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
|
|
174
171
|
|
|
175
172
|
case "label":
|
|
176
|
-
return props.backgroundType
|
|
173
|
+
return props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
var getReadOnlyColor = function getReadOnlyColor(props, element) {
|
|
178
|
+
switch (element) {
|
|
179
|
+
case "check":
|
|
180
|
+
return props.theme.readOnlyCheckColor;
|
|
181
|
+
|
|
182
|
+
case "background":
|
|
183
|
+
return props.theme.readOnlyBackgroundColorChecked;
|
|
184
|
+
|
|
185
|
+
case "hoverBackground":
|
|
186
|
+
return props.theme.hoverReadOnlyBackgroundColorChecked;
|
|
187
|
+
|
|
188
|
+
case "border":
|
|
189
|
+
return props.theme.readOnlyBorderColor;
|
|
190
|
+
|
|
191
|
+
case "hoverBorder":
|
|
192
|
+
return props.theme.hoverReadOnlyBorderColor;
|
|
177
193
|
}
|
|
178
194
|
};
|
|
179
195
|
|
|
180
|
-
var
|
|
196
|
+
var getEnabledColor = function getEnabledColor(props, element) {
|
|
181
197
|
switch (element) {
|
|
182
198
|
case "check":
|
|
183
|
-
return props.backgroundType
|
|
199
|
+
return props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
|
|
184
200
|
|
|
185
201
|
case "background":
|
|
186
|
-
return props.backgroundType
|
|
202
|
+
return props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
|
|
203
|
+
|
|
204
|
+
case "hoverBackground":
|
|
205
|
+
return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
|
|
187
206
|
|
|
188
207
|
case "border":
|
|
189
|
-
return props.backgroundType
|
|
208
|
+
return props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
|
|
209
|
+
|
|
210
|
+
case "hoverBorder":
|
|
211
|
+
return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
|
|
190
212
|
|
|
191
213
|
case "label":
|
|
192
|
-
return props.backgroundType
|
|
214
|
+
return props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
193
215
|
}
|
|
194
216
|
};
|
|
195
217
|
|
|
196
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
197
|
-
return props.
|
|
218
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n order: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
219
|
+
return props.labelPosition === "before" ? 0 : 1;
|
|
220
|
+
}, function (props) {
|
|
221
|
+
return props.disabled ? getDisabledColor(props, "label") : getEnabledColor(props, "label");
|
|
198
222
|
}, function (props) {
|
|
199
223
|
return props.theme.fontFamily;
|
|
200
224
|
}, function (props) {
|
|
201
225
|
return props.theme.fontSize;
|
|
202
226
|
}, function (props) {
|
|
203
227
|
return props.theme.fontWeight;
|
|
204
|
-
}, function (props) {
|
|
205
|
-
return props.disabled ? "not-allowed" : "pointer";
|
|
206
228
|
});
|
|
207
229
|
|
|
208
|
-
var
|
|
209
|
-
|
|
230
|
+
var ValueInput = _styledComponents["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
231
|
+
|
|
232
|
+
var CheckboxContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
|
|
233
|
+
|
|
234
|
+
var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 18px;\n width: 18px;\n border: 2px solid\n ", ";\n border-radius: 2px;\n background-color: ", ";\n color: ", ";\n\n &:focus {\n outline: 2px solid\n ", ";\n outline-offset: 2px;\n }\n svg {\n position: absolute;\n width: 22px;\n height: 22px;\n }\n ", "\n"])), function (props) {
|
|
235
|
+
return props.disabled ? getDisabledColor(props, "border") : props.readOnly ? getReadOnlyColor(props, "border") : getEnabledColor(props, "border");
|
|
210
236
|
}, function (props) {
|
|
211
|
-
return props.
|
|
237
|
+
return props.checked ? props.disabled ? getDisabledColor(props, "check") : props.readOnly ? getReadOnlyColor(props, "check") : getEnabledColor(props, "check") : "transparent";
|
|
212
238
|
}, function (props) {
|
|
213
|
-
return props.
|
|
239
|
+
return props.disabled ? getDisabledColor(props, "background") : props.readOnly ? getReadOnlyColor(props, "background") : getEnabledColor(props, "background");
|
|
214
240
|
}, function (props) {
|
|
215
|
-
return props.
|
|
241
|
+
return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
216
242
|
}, function (props) {
|
|
217
|
-
return props.
|
|
243
|
+
return props.disabled && "pointer-events: none;";
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n &:hover ", " {\n border: 2px solid\n ", ";\n color: ", ";\n }\n"])), function (props) {
|
|
247
|
+
return props.theme.checkLabelSpacing;
|
|
218
248
|
}, function (props) {
|
|
219
249
|
return calculateWidth(props.margin, props.size);
|
|
220
250
|
}, function (props) {
|
|
221
|
-
return props.
|
|
222
|
-
}, function (props) {
|
|
223
|
-
return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
|
|
224
|
-
}, function (props) {
|
|
225
|
-
return getDisabledColor(props, "border");
|
|
226
|
-
}, function (props) {
|
|
227
|
-
return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
|
|
228
|
-
}, function (props) {
|
|
229
|
-
return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
|
|
230
|
-
}, function (props) {
|
|
231
|
-
return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
|
|
232
|
-
}, function (props) {
|
|
233
|
-
return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
234
|
-
}, function (props) {
|
|
235
|
-
return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
|
|
236
|
-
}, function (props) {
|
|
237
|
-
return props.labelPosition === "after" && props.label ? props.theme.checkLabelSpacing : "0";
|
|
251
|
+
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
238
252
|
}, function (props) {
|
|
239
|
-
return props.
|
|
253
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
240
254
|
}, function (props) {
|
|
241
|
-
return props.
|
|
242
|
-
});
|
|
243
|
-
|
|
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) {
|
|
245
|
-
return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
|
|
255
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
|
|
246
256
|
}, function (props) {
|
|
247
|
-
return props.
|
|
257
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
248
258
|
}, function (props) {
|
|
249
|
-
return props.
|
|
259
|
+
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
250
260
|
}, function (props) {
|
|
251
|
-
return props.
|
|
261
|
+
return props.disabled ? "not-allowed" : props.readOnly ? "default" : "pointer";
|
|
262
|
+
}, Checkbox, function (props) {
|
|
263
|
+
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props, "hoverBorder") : getEnabledColor(props, "hoverBorder");
|
|
252
264
|
}, function (props) {
|
|
253
|
-
|
|
265
|
+
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props, "hoverBackground") : getEnabledColor(props, "hoverBackground");
|
|
254
266
|
});
|
|
255
267
|
|
|
256
268
|
var _default = DxcCheckbox;
|
|
@@ -4,42 +4,71 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
6
|
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
|
-
import
|
|
7
|
+
import styled from "styled-components";
|
|
8
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
8
9
|
|
|
9
10
|
export default {
|
|
10
11
|
title: "Checkbox",
|
|
11
12
|
component: DxcCheckbox,
|
|
12
13
|
};
|
|
13
14
|
|
|
15
|
+
const opinionatedTheme = {
|
|
16
|
+
checkbox: {
|
|
17
|
+
baseColor: "#0067b3",
|
|
18
|
+
checkColor: "#ffffff",
|
|
19
|
+
fontColor: "#000000",
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
|
|
14
23
|
const Checkbox = () => (
|
|
15
24
|
<>
|
|
16
25
|
<ExampleContainer>
|
|
17
26
|
<Title title="Default" theme="light" level={4} />
|
|
18
27
|
<DxcCheckbox label="Checkbox" />
|
|
19
28
|
</ExampleContainer>
|
|
20
|
-
<ExampleContainer>
|
|
21
|
-
<Title title="Focused" theme="light" level={4} />
|
|
22
|
-
<DxcCheckbox label="Focused" />
|
|
23
|
-
</ExampleContainer>
|
|
24
29
|
<ExampleContainer>
|
|
25
30
|
<Title title="Checked" theme="light" level={4} />
|
|
26
31
|
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
27
32
|
</ExampleContainer>
|
|
28
33
|
<ExampleContainer>
|
|
29
|
-
<Title title="
|
|
30
|
-
<DxcCheckbox label="Checkbox"
|
|
34
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
35
|
+
<DxcCheckbox label="Checkbox" disabled />
|
|
31
36
|
</ExampleContainer>
|
|
32
37
|
<ExampleContainer>
|
|
33
|
-
<Title title="Disabled and
|
|
34
|
-
<DxcCheckbox label="Checkbox" disabled defaultChecked />
|
|
38
|
+
<Title title="Disabled, checked and optional" theme="light" level={4} />
|
|
39
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked optional />
|
|
35
40
|
</ExampleContainer>
|
|
36
41
|
<ExampleContainer>
|
|
37
|
-
<Title title="
|
|
38
|
-
<DxcCheckbox label="Checkbox"
|
|
42
|
+
<Title title="Read-only" theme="light" level={4} />
|
|
43
|
+
<DxcCheckbox label="Checkbox" readOnly />
|
|
44
|
+
</ExampleContainer>
|
|
45
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
46
|
+
<Title title="Hovered read-only" theme="light" level={4} />
|
|
47
|
+
<DxcCheckbox label="Checkbox" readOnly />
|
|
39
48
|
</ExampleContainer>
|
|
40
49
|
<ExampleContainer>
|
|
41
|
-
<Title title="
|
|
42
|
-
<DxcCheckbox label="Checkbox"
|
|
50
|
+
<Title title="Read-only, checked and optional" theme="light" level={4} />
|
|
51
|
+
<DxcCheckbox label="Checkbox" readOnly defaultChecked optional />
|
|
52
|
+
</ExampleContainer>
|
|
53
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
54
|
+
<Title title="Hovered read-only and checked" theme="light" level={4} />
|
|
55
|
+
<DxcCheckbox label="Checkbox" readOnly defaultChecked optional />
|
|
56
|
+
</ExampleContainer>
|
|
57
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
58
|
+
<Title title="Focused" theme="light" level={4} />
|
|
59
|
+
<DxcCheckbox label="Focused" />
|
|
60
|
+
</ExampleContainer>
|
|
61
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
62
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
63
|
+
<DxcCheckbox label="Hovered" />
|
|
64
|
+
</ExampleContainer>
|
|
65
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
66
|
+
<Title title="Hovered and checked" theme="light" level={4} />
|
|
67
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
68
|
+
</ExampleContainer>
|
|
69
|
+
<ExampleContainer>
|
|
70
|
+
<Title title="Optional" theme="light" level={4} />
|
|
71
|
+
<DxcCheckbox label="Checkbox" optional />
|
|
43
72
|
</ExampleContainer>
|
|
44
73
|
<ExampleContainer>
|
|
45
74
|
<Title title="Label after" theme="light" level={4} />
|
|
@@ -53,25 +82,9 @@ const Checkbox = () => (
|
|
|
53
82
|
<Title title="Optional with label after" theme="light" level={4} />
|
|
54
83
|
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
55
84
|
</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
85
|
<ExampleContainer>
|
|
61
86
|
<Title title="Disabled and optional with label after" theme="light" level={4} />
|
|
62
|
-
<DxcCheckbox label="Checkbox" disabled
|
|
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 />
|
|
87
|
+
<DxcCheckbox label="Checkbox" disabled labelPosition="after" optional />
|
|
75
88
|
</ExampleContainer>
|
|
76
89
|
<BackgroundColorProvider color="#333333">
|
|
77
90
|
<DarkContainer>
|
|
@@ -84,20 +97,28 @@ const Checkbox = () => (
|
|
|
84
97
|
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
85
98
|
</ExampleContainer>
|
|
86
99
|
<ExampleContainer>
|
|
87
|
-
<Title title="
|
|
88
|
-
<DxcCheckbox label="Checkbox"
|
|
100
|
+
<Title title="Disabled" theme="dark" level={4} />
|
|
101
|
+
<DxcCheckbox label="Checkbox" disabled />
|
|
89
102
|
</ExampleContainer>
|
|
90
103
|
<ExampleContainer>
|
|
91
|
-
<Title title="Disabled and
|
|
92
|
-
<DxcCheckbox label="Checkbox" disabled defaultChecked />
|
|
104
|
+
<Title title="Disabled, checked and optional" theme="dark" level={4} />
|
|
105
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked optional />
|
|
93
106
|
</ExampleContainer>
|
|
94
|
-
<ExampleContainer>
|
|
95
|
-
<Title title="
|
|
96
|
-
<DxcCheckbox label="
|
|
107
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
108
|
+
<Title title="Focused" theme="dark" level={4} />
|
|
109
|
+
<DxcCheckbox label="Focused" />
|
|
110
|
+
</ExampleContainer>
|
|
111
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
112
|
+
<Title title="Hovered" theme="dark" level={4} />
|
|
113
|
+
<DxcCheckbox label="Hovered" />
|
|
114
|
+
</ExampleContainer>
|
|
115
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
116
|
+
<Title title="Hovered and checked" theme="dark" level={4} />
|
|
117
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
97
118
|
</ExampleContainer>
|
|
98
119
|
<ExampleContainer>
|
|
99
|
-
<Title title="
|
|
100
|
-
<DxcCheckbox label="Checkbox"
|
|
120
|
+
<Title title="Optional" theme="dark" level={4} />
|
|
121
|
+
<DxcCheckbox label="Checkbox" optional />
|
|
101
122
|
</ExampleContainer>
|
|
102
123
|
<ExampleContainer>
|
|
103
124
|
<Title title="Label after" theme="dark" level={4} />
|
|
@@ -111,25 +132,9 @@ const Checkbox = () => (
|
|
|
111
132
|
<Title title="Optional with label after" theme="dark" level={4} />
|
|
112
133
|
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
113
134
|
</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
135
|
<ExampleContainer>
|
|
119
136
|
<Title title="Disabled and optional with label after" theme="dark" level={4} />
|
|
120
|
-
<DxcCheckbox label="Checkbox" disabled
|
|
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 />
|
|
137
|
+
<DxcCheckbox label="Checkbox" disabled labelPosition="after" optional />
|
|
133
138
|
</ExampleContainer>
|
|
134
139
|
</DarkContainer>
|
|
135
140
|
</BackgroundColorProvider>
|
|
@@ -178,11 +183,94 @@ const Checkbox = () => (
|
|
|
178
183
|
<Title title="Xxlarge" theme="light" level={4} />
|
|
179
184
|
<DxcCheckbox label="Xxlarge" margin="xxlarge" />
|
|
180
185
|
</ExampleContainer>
|
|
186
|
+
<ExampleContainer>
|
|
187
|
+
<Title title="Overflow container" theme="light" level={4} />
|
|
188
|
+
<ScrollableContainer id="scroll-container">
|
|
189
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
190
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
191
|
+
<DxcCheckbox label="Checkbox" />
|
|
192
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
193
|
+
<DxcCheckbox label="Checkbox" />
|
|
194
|
+
<DxcCheckbox label="Checkbox" />
|
|
195
|
+
<DxcCheckbox label="Checkbox" />
|
|
196
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
197
|
+
</ScrollableContainer>
|
|
198
|
+
</ExampleContainer>
|
|
199
|
+
<ExampleContainer>
|
|
200
|
+
<Title title="Label overflow" theme="light" level={4} />
|
|
201
|
+
<SmallContainer>
|
|
202
|
+
<DxcCheckbox label="Very long label to check its overflowing" defaultChecked />
|
|
203
|
+
<DxcCheckbox label="Very long label to check its overflowing" labelPosition="after" />
|
|
204
|
+
</SmallContainer>
|
|
205
|
+
</ExampleContainer>
|
|
206
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
207
|
+
<ExampleContainer>
|
|
208
|
+
<Title title="Default" theme="light" level={4} />
|
|
209
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
210
|
+
<DxcCheckbox label="Checkbox" />
|
|
211
|
+
</HalstackProvider>
|
|
212
|
+
</ExampleContainer>
|
|
213
|
+
<ExampleContainer>
|
|
214
|
+
<Title title="Checked" theme="light" level={4} />
|
|
215
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
216
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
217
|
+
</HalstackProvider>
|
|
218
|
+
</ExampleContainer>
|
|
219
|
+
<ExampleContainer>
|
|
220
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
221
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
222
|
+
<DxcCheckbox label="Checkbox" disabled />
|
|
223
|
+
</HalstackProvider>
|
|
224
|
+
</ExampleContainer>
|
|
225
|
+
<ExampleContainer>
|
|
226
|
+
<Title title="Disabled checked" theme="light" level={4} />
|
|
227
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
228
|
+
<DxcCheckbox label="Checkbox" defaultChecked disabled />
|
|
229
|
+
</HalstackProvider>
|
|
230
|
+
</ExampleContainer>
|
|
231
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
232
|
+
<Title title="Focused" theme="light" level={4} />
|
|
233
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
234
|
+
<DxcCheckbox label="Focused" />
|
|
235
|
+
</HalstackProvider>
|
|
236
|
+
</ExampleContainer>
|
|
237
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
238
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
239
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
240
|
+
<DxcCheckbox label="Hovered" />
|
|
241
|
+
</HalstackProvider>
|
|
242
|
+
</ExampleContainer>
|
|
243
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
244
|
+
<Title title="Hovered and checked" theme="light" level={4} />
|
|
245
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
246
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
247
|
+
</HalstackProvider>
|
|
248
|
+
</ExampleContainer>
|
|
181
249
|
</>
|
|
182
250
|
);
|
|
183
251
|
|
|
184
252
|
export const Chromatic = Checkbox.bind({});
|
|
253
|
+
|
|
185
254
|
Chromatic.play = async () => {
|
|
186
|
-
|
|
187
|
-
|
|
255
|
+
const listEl = document.getElementById("scroll-container");
|
|
256
|
+
listEl?.scrollTo?.({ top: 50 });
|
|
188
257
|
};
|
|
258
|
+
|
|
259
|
+
const ScrollableContainer = styled.div`
|
|
260
|
+
display: flex;
|
|
261
|
+
flex-direction: column;
|
|
262
|
+
gap: 14px;
|
|
263
|
+
width: 200px;
|
|
264
|
+
height: 200px;
|
|
265
|
+
border: 1px solid #000;
|
|
266
|
+
padding: 14px;
|
|
267
|
+
overflow: auto;
|
|
268
|
+
`;
|
|
269
|
+
|
|
270
|
+
const SmallContainer = styled.div`
|
|
271
|
+
display: flex;
|
|
272
|
+
flex-direction: column;
|
|
273
|
+
gap: 14px;
|
|
274
|
+
width: 150px;
|
|
275
|
+
height: 150px;
|
|
276
|
+
`;
|