@dxc-technology/halstack-react 10.0.0 → 11.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 +2 -2
- package/BackgroundColorContext.js +5 -17
- package/HalstackContext.d.ts +26 -6
- package/HalstackContext.js +9 -34
- package/README.md +47 -0
- package/accordion/Accordion.js +21 -58
- package/accordion/Accordion.stories.tsx +1 -15
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +5 -5
- package/accordion-group/AccordionGroup.js +15 -42
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +9 -21
- package/accordion-group/types.d.ts +6 -6
- package/alert/Alert.js +14 -46
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.js +4 -17
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +10 -29
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +7 -33
- package/bulleted-list/BulletedList.stories.tsx +1 -91
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.js +23 -46
- package/button/Button.stories.tsx +5 -86
- package/button/Button.test.js +11 -21
- package/button/types.d.ts +4 -4
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +81 -111
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.js +1 -2
- package/common/utils.js +2 -8
- package/common/variables.d.ts +23 -6
- package/common/variables.js +25 -15
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +27 -21
- package/dialog/Dialog.js +11 -35
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/dropdown/Dropdown.js +39 -93
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +5 -17
- package/dropdown/types.d.ts +17 -19
- package/file-input/FileInput.js +131 -220
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +293 -342
- package/file-input/FileItem.js +12 -39
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.js +9 -39
- package/footer/Footer.stories.tsx +8 -7
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +2 -2
- package/footer/Icons.js +2 -7
- package/footer/types.d.ts +13 -13
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +19 -64
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +5 -7
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +25 -65
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +3 -2
- package/main.js +10 -51
- package/nav-tabs/NavTabs.js +11 -43
- package/nav-tabs/NavTabs.stories.tsx +1 -1
- package/nav-tabs/NavTabs.test.js +36 -43
- package/nav-tabs/Tab.js +16 -45
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +26 -35
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +700 -412
- package/number-input/types.d.ts +11 -5
- package/package.json +28 -26
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +14 -39
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -14
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -32
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +16 -42
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
- package/{resultsetTable → resultset-table}/types.d.ts +7 -7
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +9 -26
- package/select/Select.js +54 -138
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1906 -1800
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +24 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +38 -86
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +10 -40
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.js +26 -69
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/Table.js +4 -23
- package/table/Table.test.js +1 -6
- package/table/types.d.ts +8 -8
- package/tabs/Tab.js +10 -29
- package/tabs/Tabs.js +48 -124
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +5 -5
- package/text-input/Icons.js +1 -5
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +12 -57
- package/text-input/TextInput.js +182 -263
- package/text-input/TextInput.stories.tsx +48 -152
- package/text-input/TextInput.test.js +1210 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +60 -96
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +91 -105
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +20 -3
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +12 -36
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +6 -6
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/slider/Slider.stories.tsx +0 -240
- /package/{resultsetTable → image}/types.js +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
- /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
- /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
package/checkbox/Checkbox.js
CHANGED
|
@@ -1,42 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
14
|
var _variables = require("../common/variables");
|
|
23
|
-
|
|
24
15
|
var _utils = require("../common/utils");
|
|
25
|
-
|
|
26
16
|
var _uuid = require("uuid");
|
|
27
|
-
|
|
28
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
-
|
|
30
18
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
|
-
|
|
32
19
|
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
33
|
-
|
|
34
20
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
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; }
|
|
39
|
-
|
|
21
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
40
23
|
var checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
24
|
fill: "currentColor",
|
|
42
25
|
focusable: "false",
|
|
@@ -45,54 +28,51 @@ var checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
45
28
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
29
|
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
30
|
}));
|
|
48
|
-
|
|
49
31
|
var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
50
32
|
var checked = _ref.checked,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
33
|
+
_ref$defaultChecked = _ref.defaultChecked,
|
|
34
|
+
defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
|
|
35
|
+
value = _ref.value,
|
|
36
|
+
_ref$label = _ref.label,
|
|
37
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
38
|
+
_ref$labelPosition = _ref.labelPosition,
|
|
39
|
+
labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
|
|
40
|
+
_ref$name = _ref.name,
|
|
41
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
42
|
+
_ref$disabled = _ref.disabled,
|
|
43
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
44
|
+
_ref$optional = _ref.optional,
|
|
45
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
46
|
+
_ref$readOnly = _ref.readOnly,
|
|
47
|
+
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
|
48
|
+
onChange = _ref.onChange,
|
|
49
|
+
margin = _ref.margin,
|
|
50
|
+
_ref$size = _ref.size,
|
|
51
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
52
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
53
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
71
54
|
var _useState = (0, _react.useState)("label-checkbox-".concat((0, _uuid.v4)())),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
55
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
56
|
+
labelId = _useState2[0];
|
|
75
57
|
var _useState3 = (0, _react.useState)(defaultChecked),
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
58
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
59
|
+
innerChecked = _useState4[0],
|
|
60
|
+
setInnerChecked = _useState4[1];
|
|
80
61
|
var checkboxRef = (0, _react.useRef)(null);
|
|
81
62
|
var colorsTheme = (0, _useTheme["default"])();
|
|
82
63
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
83
64
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
84
|
-
|
|
85
65
|
var handleCheckboxChange = function handleCheckboxChange() {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
66
|
+
if (!disabled && !readOnly) {
|
|
67
|
+
var _checkboxRef$current;
|
|
68
|
+
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());
|
|
69
|
+
var newChecked = checked !== null && checked !== void 0 ? checked : innerChecked;
|
|
70
|
+
checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
|
|
71
|
+
return !innerChecked;
|
|
72
|
+
});
|
|
73
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(!newChecked);
|
|
74
|
+
}
|
|
94
75
|
};
|
|
95
|
-
|
|
96
76
|
var handleKeyboard = function handleKeyboard(event) {
|
|
97
77
|
switch (event.key) {
|
|
98
78
|
case " ":
|
|
@@ -100,21 +80,22 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
100
80
|
handleCheckboxChange();
|
|
101
81
|
}
|
|
102
82
|
};
|
|
103
|
-
|
|
104
83
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
105
84
|
theme: colorsTheme.checkbox
|
|
106
85
|
}, /*#__PURE__*/_react["default"].createElement(MainContainer, {
|
|
107
86
|
disabled: disabled,
|
|
108
|
-
|
|
87
|
+
readOnly: readOnly,
|
|
88
|
+
onClick: handleCheckboxChange,
|
|
109
89
|
margin: margin,
|
|
110
90
|
size: size,
|
|
111
91
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
112
92
|
backgroundType: backgroundType,
|
|
113
93
|
ref: ref
|
|
114
|
-
}, label &&
|
|
94
|
+
}, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
115
95
|
id: labelId,
|
|
116
96
|
disabled: disabled,
|
|
117
|
-
backgroundType: backgroundType
|
|
97
|
+
backgroundType: backgroundType,
|
|
98
|
+
labelPosition: labelPosition
|
|
118
99
|
}, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
119
100
|
type: "checkbox",
|
|
120
101
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
@@ -129,19 +110,16 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
129
110
|
tabIndex: disabled ? -1 : tabIndex,
|
|
130
111
|
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
131
112
|
"aria-disabled": disabled,
|
|
113
|
+
"aria-readonly": readOnly,
|
|
132
114
|
"aria-required": !disabled && !optional,
|
|
133
115
|
"aria-labelledby": labelId,
|
|
134
116
|
backgroundType: backgroundType,
|
|
135
117
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
136
118
|
disabled: disabled,
|
|
119
|
+
readOnly: readOnly,
|
|
137
120
|
ref: checkboxRef
|
|
138
|
-
}, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon))
|
|
139
|
-
id: labelId,
|
|
140
|
-
disabled: disabled,
|
|
141
|
-
backgroundType: backgroundType
|
|
142
|
-
}, optional && "".concat(translatedLabels.formFields.optionalLabel, " "), label)));
|
|
121
|
+
}, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon))));
|
|
143
122
|
});
|
|
144
|
-
|
|
145
123
|
var sizes = {
|
|
146
124
|
small: "120px",
|
|
147
125
|
medium: "240px",
|
|
@@ -149,54 +127,54 @@ var sizes = {
|
|
|
149
127
|
fillParent: "100%",
|
|
150
128
|
fitContent: "fit-content"
|
|
151
129
|
};
|
|
152
|
-
|
|
153
130
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
154
|
-
|
|
155
|
-
return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
return sizes[size];
|
|
131
|
+
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
159
132
|
};
|
|
160
|
-
|
|
161
133
|
var getDisabledColor = function getDisabledColor(props, element) {
|
|
162
134
|
switch (element) {
|
|
163
135
|
case "check":
|
|
164
|
-
return props.backgroundType
|
|
165
|
-
|
|
136
|
+
return props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
|
|
166
137
|
case "background":
|
|
167
|
-
return props.backgroundType
|
|
168
|
-
|
|
138
|
+
return props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
|
|
169
139
|
case "border":
|
|
170
|
-
return props.backgroundType
|
|
171
|
-
|
|
140
|
+
return props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
|
|
172
141
|
case "label":
|
|
173
|
-
return props.backgroundType
|
|
142
|
+
return props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
var getReadOnlyColor = function getReadOnlyColor(props, element) {
|
|
146
|
+
switch (element) {
|
|
147
|
+
case "check":
|
|
148
|
+
return props.theme.readOnlyCheckColor;
|
|
149
|
+
case "background":
|
|
150
|
+
return props.theme.readOnlyBackgroundColorChecked;
|
|
151
|
+
case "hoverBackground":
|
|
152
|
+
return props.theme.hoverReadOnlyBackgroundColorChecked;
|
|
153
|
+
case "border":
|
|
154
|
+
return props.theme.readOnlyBorderColor;
|
|
155
|
+
case "hoverBorder":
|
|
156
|
+
return props.theme.hoverReadOnlyBorderColor;
|
|
174
157
|
}
|
|
175
158
|
};
|
|
176
|
-
|
|
177
159
|
var getEnabledColor = function getEnabledColor(props, element) {
|
|
178
160
|
switch (element) {
|
|
179
161
|
case "check":
|
|
180
|
-
return props.backgroundType
|
|
181
|
-
|
|
162
|
+
return props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
|
|
182
163
|
case "background":
|
|
183
|
-
return props.backgroundType
|
|
184
|
-
|
|
164
|
+
return props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
|
|
185
165
|
case "hoverBackground":
|
|
186
|
-
return props.backgroundType
|
|
187
|
-
|
|
166
|
+
return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
|
|
188
167
|
case "border":
|
|
189
|
-
return props.backgroundType
|
|
190
|
-
|
|
168
|
+
return props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
|
|
191
169
|
case "hoverBorder":
|
|
192
|
-
return props.backgroundType
|
|
193
|
-
|
|
170
|
+
return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
|
|
194
171
|
case "label":
|
|
195
|
-
return props.backgroundType
|
|
172
|
+
return props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
196
173
|
}
|
|
197
174
|
};
|
|
198
|
-
|
|
199
|
-
|
|
175
|
+
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) {
|
|
176
|
+
return props.labelPosition === "before" ? 0 : 1;
|
|
177
|
+
}, function (props) {
|
|
200
178
|
return props.disabled ? getDisabledColor(props, "label") : getEnabledColor(props, "label");
|
|
201
179
|
}, function (props) {
|
|
202
180
|
return props.theme.fontFamily;
|
|
@@ -205,24 +183,20 @@ var LabelContainer = _styledComponents["default"].span(_templateObject || (_temp
|
|
|
205
183
|
}, function (props) {
|
|
206
184
|
return props.theme.fontWeight;
|
|
207
185
|
});
|
|
208
|
-
|
|
209
186
|
var ValueInput = _styledComponents["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
210
|
-
|
|
211
187
|
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"])));
|
|
212
|
-
|
|
213
188
|
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) {
|
|
214
|
-
return props.disabled ? getDisabledColor(props, "border") : getEnabledColor(props, "border");
|
|
189
|
+
return props.disabled ? getDisabledColor(props, "border") : props.readOnly ? getReadOnlyColor(props, "border") : getEnabledColor(props, "border");
|
|
215
190
|
}, function (props) {
|
|
216
|
-
return props.checked ? props.disabled ? getDisabledColor(props, "check") : getEnabledColor(props, "check") : "transparent";
|
|
191
|
+
return props.checked ? props.disabled ? getDisabledColor(props, "check") : props.readOnly ? getReadOnlyColor(props, "check") : getEnabledColor(props, "check") : "transparent";
|
|
217
192
|
}, function (props) {
|
|
218
|
-
return props.disabled ? getDisabledColor(props, "background") : getEnabledColor(props, "background");
|
|
193
|
+
return props.disabled ? getDisabledColor(props, "background") : props.readOnly ? getReadOnlyColor(props, "background") : getEnabledColor(props, "background");
|
|
219
194
|
}, function (props) {
|
|
220
195
|
return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
221
196
|
}, function (props) {
|
|
222
197
|
return props.disabled && "pointer-events: none;";
|
|
223
198
|
});
|
|
224
|
-
|
|
225
|
-
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 background-color: ", ";\n color: ", ";\n }\n"])), function (props) {
|
|
199
|
+
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) {
|
|
226
200
|
return props.theme.checkLabelSpacing;
|
|
227
201
|
}, function (props) {
|
|
228
202
|
return calculateWidth(props.margin, props.size);
|
|
@@ -237,14 +211,10 @@ var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
237
211
|
}, function (props) {
|
|
238
212
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
239
213
|
}, function (props) {
|
|
240
|
-
return props.disabled ? "not-allowed" : "pointer";
|
|
214
|
+
return props.disabled ? "not-allowed" : props.readOnly ? "default" : "pointer";
|
|
241
215
|
}, Checkbox, function (props) {
|
|
242
|
-
|
|
243
|
-
}, function (props) {
|
|
244
|
-
return props.checked ? props.disabled ? getDisabledColor(props, "check") : getEnabledColor(props, "check") : "transparent";
|
|
216
|
+
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props, "hoverBorder") : getEnabledColor(props, "hoverBorder");
|
|
245
217
|
}, function (props) {
|
|
246
|
-
|
|
218
|
+
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props, "hoverBackground") : getEnabledColor(props, "hoverBackground");
|
|
247
219
|
});
|
|
248
|
-
|
|
249
|
-
var _default = DxcCheckbox;
|
|
250
|
-
exports["default"] = _default;
|
|
220
|
+
var _default = exports["default"] = DxcCheckbox;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcCheckbox from "./Checkbox";
|
|
3
|
-
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
-
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
5
|
import styled from "styled-components";
|
|
8
6
|
import { HalstackProvider } from "../HalstackContext";
|
|
9
7
|
|
|
@@ -38,6 +36,22 @@ const Checkbox = () => (
|
|
|
38
36
|
<Title title="Disabled, checked and optional" theme="light" level={4} />
|
|
39
37
|
<DxcCheckbox label="Checkbox" disabled defaultChecked optional />
|
|
40
38
|
</ExampleContainer>
|
|
39
|
+
<ExampleContainer>
|
|
40
|
+
<Title title="Read-only" theme="light" level={4} />
|
|
41
|
+
<DxcCheckbox label="Checkbox" readOnly />
|
|
42
|
+
</ExampleContainer>
|
|
43
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
44
|
+
<Title title="Hovered read-only" theme="light" level={4} />
|
|
45
|
+
<DxcCheckbox label="Checkbox" readOnly />
|
|
46
|
+
</ExampleContainer>
|
|
47
|
+
<ExampleContainer>
|
|
48
|
+
<Title title="Read-only, checked and optional" theme="light" level={4} />
|
|
49
|
+
<DxcCheckbox label="Checkbox" readOnly defaultChecked optional />
|
|
50
|
+
</ExampleContainer>
|
|
51
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
52
|
+
<Title title="Hovered read-only and checked" theme="light" level={4} />
|
|
53
|
+
<DxcCheckbox label="Checkbox" readOnly defaultChecked optional />
|
|
54
|
+
</ExampleContainer>
|
|
41
55
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
42
56
|
<Title title="Focused" theme="light" level={4} />
|
|
43
57
|
<DxcCheckbox label="Focused" />
|
|
@@ -70,58 +84,6 @@ const Checkbox = () => (
|
|
|
70
84
|
<Title title="Disabled and optional with label after" theme="light" level={4} />
|
|
71
85
|
<DxcCheckbox label="Checkbox" disabled labelPosition="after" optional />
|
|
72
86
|
</ExampleContainer>
|
|
73
|
-
<BackgroundColorProvider color="#333333">
|
|
74
|
-
<DarkContainer>
|
|
75
|
-
<ExampleContainer>
|
|
76
|
-
<Title title="Default" theme="dark" level={4} />
|
|
77
|
-
<DxcCheckbox label="Checkbox" />
|
|
78
|
-
</ExampleContainer>
|
|
79
|
-
<ExampleContainer>
|
|
80
|
-
<Title title="Checked" theme="dark" level={4} />
|
|
81
|
-
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
82
|
-
</ExampleContainer>
|
|
83
|
-
<ExampleContainer>
|
|
84
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
85
|
-
<DxcCheckbox label="Checkbox" disabled />
|
|
86
|
-
</ExampleContainer>
|
|
87
|
-
<ExampleContainer>
|
|
88
|
-
<Title title="Disabled, checked and optional" theme="dark" level={4} />
|
|
89
|
-
<DxcCheckbox label="Checkbox" disabled defaultChecked optional />
|
|
90
|
-
</ExampleContainer>
|
|
91
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
92
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
93
|
-
<DxcCheckbox label="Focused" />
|
|
94
|
-
</ExampleContainer>
|
|
95
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
96
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
97
|
-
<DxcCheckbox label="Hovered" />
|
|
98
|
-
</ExampleContainer>
|
|
99
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
100
|
-
<Title title="Hovered and checked" theme="dark" level={4} />
|
|
101
|
-
<DxcCheckbox label="Hovered" defaultChecked />
|
|
102
|
-
</ExampleContainer>
|
|
103
|
-
<ExampleContainer>
|
|
104
|
-
<Title title="Optional" theme="dark" level={4} />
|
|
105
|
-
<DxcCheckbox label="Checkbox" optional />
|
|
106
|
-
</ExampleContainer>
|
|
107
|
-
<ExampleContainer>
|
|
108
|
-
<Title title="Label after" theme="dark" level={4} />
|
|
109
|
-
<DxcCheckbox label="Checkbox" labelPosition="after" />
|
|
110
|
-
</ExampleContainer>
|
|
111
|
-
<ExampleContainer>
|
|
112
|
-
<Title title="Checked with label after" theme="dark" level={4} />
|
|
113
|
-
<DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
|
|
114
|
-
</ExampleContainer>
|
|
115
|
-
<ExampleContainer>
|
|
116
|
-
<Title title="Optional with label after" theme="dark" level={4} />
|
|
117
|
-
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
118
|
-
</ExampleContainer>
|
|
119
|
-
<ExampleContainer>
|
|
120
|
-
<Title title="Disabled and optional with label after" theme="dark" level={4} />
|
|
121
|
-
<DxcCheckbox label="Checkbox" disabled labelPosition="after" optional />
|
|
122
|
-
</ExampleContainer>
|
|
123
|
-
</DarkContainer>
|
|
124
|
-
</BackgroundColorProvider>
|
|
125
87
|
<Title title="Sizes" theme="light" level={2} />
|
|
126
88
|
<ExampleContainer>
|
|
127
89
|
<DxcCheckbox label="Small" size="small" />
|