@dxc-technology/halstack-react 0.0.0-f53e801 → 0.0.0-f6290b3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1243 -6
- package/HalstackContext.js +125 -110
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +116 -160
- package/accordion/Accordion.stories.tsx +101 -125
- package/accordion/Accordion.test.js +25 -41
- package/accordion/types.d.ts +5 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +30 -98
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +52 -105
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +11 -16
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +47 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +20 -59
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -60
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.js +19 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +69 -105
- package/button/Button.stories.tsx +152 -91
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +8 -4
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +140 -182
- package/checkbox/Checkbox.stories.tsx +128 -94
- package/checkbox/Checkbox.test.js +160 -39
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.js +39 -79
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +16 -31
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1395 -0
- package/common/variables.js +927 -1164
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +150 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +60 -118
- package/dialog/Dialog.stories.tsx +320 -166
- package/dialog/Dialog.test.js +269 -32
- package/dialog/types.d.ts +18 -25
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +19 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +81 -132
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +410 -402
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +10 -35
- package/dropdown/types.d.ts +18 -20
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +241 -355
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +369 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +45 -96
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +40 -40
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +84 -8
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -117
- package/footer/Footer.stories.tsx +60 -19
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -26
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +48 -133
- package/header/Header.stories.tsx +118 -39
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -21
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- 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 +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +29 -66
- package/layout/ApplicationLayout.stories.tsx +2 -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 +5 -6
- package/link/Link.js +25 -46
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +9 -5
- package/main.js +40 -59
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
- package/nav-tabs/Tab.js +118 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +47 -37
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -377
- package/number-input/types.d.ts +11 -5
- package/package.json +39 -42
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +23 -59
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +253 -226
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +160 -142
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +23 -55
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +15 -39
- package/quick-nav/QuickNav.stories.tsx +112 -20
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.js +59 -105
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +518 -457
- package/radio-group/types.d.ts +10 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +166 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +152 -30
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +167 -144
- package/{resultsetTable → resultset-table}/types.d.ts +13 -7
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +17 -73
- package/select/Option.js +27 -50
- package/select/Select.js +123 -176
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +1970 -1775
- package/select/types.d.ts +16 -17
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +82 -153
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +31 -28
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +146 -179
- package/slider/Slider.test.js +164 -97
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.js +31 -75
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +113 -150
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +70 -102
- package/switch/types.d.ts +8 -3
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +87 -35
- package/table/Table.stories.tsx +658 -0
- package/table/Table.test.js +95 -8
- package/table/types.d.ts +48 -6
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +116 -0
- package/tabs/Tabs.js +314 -141
- package/tabs/Tabs.stories.tsx +120 -6
- package/tabs/Tabs.test.js +223 -69
- package/tabs/types.d.ts +28 -18
- package/tag/Tag.js +29 -61
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.js +40 -28
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.js +301 -497
- package/text-input/TextInput.stories.tsx +266 -274
- package/text-input/TextInput.test.js +1419 -1375
- package/text-input/types.d.ts +43 -16
- package/textarea/Textarea.js +70 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1147 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.js +16 -51
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +9 -10
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- 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/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -254
- package/slider/Slider.stories.tsx +0 -177
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/Tab.js +0 -130
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → container}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/switch/Switch.js
CHANGED
|
@@ -1,183 +1,165 @@
|
|
|
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 _uuid = require("uuid");
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _utils = require("../common/utils.js");
|
|
27
|
-
|
|
15
|
+
var _variables = require("../common/variables");
|
|
16
|
+
var _utils = require("../common/utils");
|
|
28
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
-
|
|
30
18
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
|
-
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
var
|
|
35
|
-
|
|
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); }
|
|
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
|
-
|
|
40
|
-
var DxcSwitch = function DxcSwitch(_ref) {
|
|
41
|
-
var _ref2;
|
|
42
|
-
|
|
19
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
20
|
+
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); }
|
|
21
|
+
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; }
|
|
22
|
+
var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
43
23
|
var defaultChecked = _ref.defaultChecked,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
24
|
+
checked = _ref.checked,
|
|
25
|
+
value = _ref.value,
|
|
26
|
+
_ref$label = _ref.label,
|
|
27
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
28
|
+
_ref$labelPosition = _ref.labelPosition,
|
|
29
|
+
labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
|
|
30
|
+
_ref$name = _ref.name,
|
|
31
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
32
|
+
_ref$disabled = _ref.disabled,
|
|
33
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
34
|
+
_ref$optional = _ref.optional,
|
|
35
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
36
|
+
onChange = _ref.onChange,
|
|
37
|
+
margin = _ref.margin,
|
|
38
|
+
_ref$size = _ref.size,
|
|
39
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
40
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
41
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
63
42
|
var _useState = (0, _react.useState)("switch-".concat((0, _uuid.v4)())),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
43
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
44
|
+
switchId = _useState2[0];
|
|
67
45
|
var labelId = "label-".concat(switchId);
|
|
68
|
-
|
|
69
46
|
var _useState3 = (0, _react.useState)(defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : false),
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
var _useState5 = (0, _react.useState)((_ref2 = label !== "" && label !== null && label !== undefined) !== null && _ref2 !== void 0 ? _ref2 : false),
|
|
75
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
|
|
76
|
-
hasLabel = _useState6[0];
|
|
77
|
-
|
|
47
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
48
|
+
innerChecked = _useState4[0],
|
|
49
|
+
setInnerChecked = _useState4[1];
|
|
78
50
|
var colorsTheme = (0, _useTheme["default"])();
|
|
79
51
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
80
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
81
52
|
var refTrack = (0, _react.useRef)(null);
|
|
82
|
-
|
|
83
53
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
84
54
|
switch (event.key) {
|
|
85
55
|
case "Enter":
|
|
86
56
|
case " ":
|
|
87
|
-
//Space
|
|
57
|
+
// Space
|
|
88
58
|
event.preventDefault();
|
|
89
59
|
refTrack.current.focus();
|
|
90
60
|
var isChecked = !(checked !== null && checked !== void 0 ? checked : innerChecked);
|
|
91
61
|
setInnerChecked(isChecked);
|
|
92
|
-
|
|
93
|
-
if (typeof onChange === "function") {
|
|
94
|
-
onChange(isChecked);
|
|
95
|
-
}
|
|
96
|
-
|
|
62
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
|
|
97
63
|
break;
|
|
98
64
|
}
|
|
99
65
|
};
|
|
100
|
-
|
|
101
66
|
var handlerSwitchChange = function handlerSwitchChange(event) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
setInnerChecked(isChecked);
|
|
107
|
-
|
|
108
|
-
if (typeof onChange === "function") {
|
|
109
|
-
onChange(isChecked);
|
|
110
|
-
}
|
|
111
|
-
} else {
|
|
112
|
-
if (typeof onChange === "function") {
|
|
113
|
-
onChange(!checked);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
67
|
+
checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
|
|
68
|
+
return !innerChecked;
|
|
69
|
+
});
|
|
70
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(checked ? !checked : !innerChecked);
|
|
116
71
|
};
|
|
117
|
-
|
|
118
72
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
119
73
|
theme: colorsTheme["switch"]
|
|
120
74
|
}, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
|
|
121
75
|
margin: margin,
|
|
122
76
|
size: size,
|
|
123
|
-
onKeyDown: handleOnKeyDown
|
|
124
|
-
|
|
77
|
+
onKeyDown: handleOnKeyDown,
|
|
78
|
+
disabled: disabled,
|
|
79
|
+
onClick: !disabled ? handlerSwitchChange : undefined,
|
|
80
|
+
ref: ref
|
|
81
|
+
}, labelPosition === "before" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
125
82
|
id: labelId,
|
|
126
83
|
labelPosition: labelPosition,
|
|
127
|
-
onClick: !disabled ? handlerSwitchChange : undefined,
|
|
128
84
|
disabled: disabled,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(SwitchBase, {
|
|
132
|
-
labelPosition: labelPosition,
|
|
133
|
-
hasLabel: hasLabel,
|
|
134
|
-
htmlFor: labelId,
|
|
135
|
-
onClick: disabled === true ? function () {} : handlerSwitchChange
|
|
136
|
-
}, /*#__PURE__*/_react["default"].createElement(SwitchInput, {
|
|
85
|
+
label: label
|
|
86
|
+
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
137
87
|
type: "checkbox",
|
|
138
|
-
role: "switch",
|
|
139
88
|
name: name,
|
|
140
|
-
|
|
141
|
-
disabled: disabled,
|
|
89
|
+
"aria-hidden": true,
|
|
142
90
|
value: value,
|
|
143
|
-
|
|
144
|
-
|
|
91
|
+
disabled: disabled,
|
|
92
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
93
|
+
readOnly: true
|
|
94
|
+
}), /*#__PURE__*/_react["default"].createElement(SwitchBase, null, /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
|
|
95
|
+
role: "switch",
|
|
145
96
|
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
"data-checked": checked !== null && checked !== void 0 ? checked : innerChecked ? innerChecked : undefined,
|
|
151
|
-
tabIndex: -1
|
|
152
|
-
}) : /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
|
|
153
|
-
backgroundType: backgroundType,
|
|
154
|
-
"data-checked": checked !== null && checked !== void 0 ? checked : innerChecked ? innerChecked : undefined,
|
|
155
|
-
tabIndex: tabIndex,
|
|
97
|
+
"aria-disabled": disabled,
|
|
98
|
+
disabled: disabled,
|
|
99
|
+
"aria-labelledby": labelId,
|
|
100
|
+
tabIndex: !disabled ? tabIndex : -1,
|
|
156
101
|
ref: refTrack
|
|
157
|
-
})), labelPosition === "after" &&
|
|
102
|
+
})), labelPosition === "after" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
158
103
|
id: labelId,
|
|
159
104
|
labelPosition: labelPosition,
|
|
160
|
-
onClick: !disabled ? handlerSwitchChange : undefined,
|
|
161
105
|
disabled: disabled,
|
|
162
|
-
|
|
163
|
-
hasLabel: hasLabel
|
|
106
|
+
label: label
|
|
164
107
|
}, optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel), " ", label)));
|
|
165
|
-
};
|
|
166
|
-
|
|
108
|
+
});
|
|
167
109
|
var sizes = {
|
|
168
110
|
small: "60px",
|
|
169
111
|
medium: "240px",
|
|
170
112
|
large: "480px",
|
|
171
113
|
fillParent: "100%",
|
|
172
|
-
fitContent: "
|
|
114
|
+
fitContent: "fit-content"
|
|
173
115
|
};
|
|
174
|
-
|
|
175
116
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
176
117
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
177
118
|
};
|
|
178
|
-
|
|
179
|
-
|
|
119
|
+
var getDisabledColor = function getDisabledColor(theme, element, subElement) {
|
|
120
|
+
switch (element) {
|
|
121
|
+
case "track":
|
|
122
|
+
switch (subElement) {
|
|
123
|
+
case "check":
|
|
124
|
+
return theme.disabledCheckedTrackBackgroundColor;
|
|
125
|
+
case "uncheck":
|
|
126
|
+
return theme.disabledUncheckedTrackBackgroundColor;
|
|
127
|
+
}
|
|
128
|
+
case "thumb":
|
|
129
|
+
switch (subElement) {
|
|
130
|
+
case "check":
|
|
131
|
+
return theme.disabledCheckedThumbBackgroundColor;
|
|
132
|
+
case "uncheck":
|
|
133
|
+
return theme.disabledUncheckedThumbBackgroundColor;
|
|
134
|
+
}
|
|
135
|
+
case "label":
|
|
136
|
+
return theme.disabledLabelFontColor;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
var getNotDisabledColor = function getNotDisabledColor(theme, element, subElement) {
|
|
140
|
+
switch (element) {
|
|
141
|
+
case "track":
|
|
142
|
+
switch (subElement) {
|
|
143
|
+
case "check":
|
|
144
|
+
return theme.checkedTrackBackgroundColor;
|
|
145
|
+
case "uncheck":
|
|
146
|
+
return theme.uncheckedTrackBackgroundColor;
|
|
147
|
+
}
|
|
148
|
+
case "thumb":
|
|
149
|
+
switch (subElement) {
|
|
150
|
+
case "check":
|
|
151
|
+
return theme.checkedThumbBackgroundColor;
|
|
152
|
+
case "uncheck":
|
|
153
|
+
return theme.uncheckedThumbBackgroundColor;
|
|
154
|
+
}
|
|
155
|
+
case "label":
|
|
156
|
+
return theme.labelFontColor;
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: ", ";\n height: 40px;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
180
160
|
return calculateWidth(props.margin, props.size);
|
|
161
|
+
}, function (props) {
|
|
162
|
+
return props.disabled === true ? "not-allowed" : "pointer";
|
|
181
163
|
}, function (props) {
|
|
182
164
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
183
165
|
}, function (props) {
|
|
@@ -189,9 +171,8 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
189
171
|
}, function (props) {
|
|
190
172
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
191
173
|
});
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
174
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n\n ", ";\n\n ", "\n"])), function (props) {
|
|
175
|
+
return props.disabled ? getDisabledColor(props.theme, "label") : getNotDisabledColor(props.theme, "label");
|
|
195
176
|
}, function (props) {
|
|
196
177
|
return props.theme.labelFontFamily;
|
|
197
178
|
}, function (props) {
|
|
@@ -201,51 +182,33 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_tem
|
|
|
201
182
|
}, function (props) {
|
|
202
183
|
return props.theme.labelFontWeight;
|
|
203
184
|
}, function (props) {
|
|
204
|
-
return props.
|
|
205
|
-
}, function (props) {
|
|
206
|
-
return !props.hasLabel ? "margin: 0px;" : props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
|
|
185
|
+
return !props.label ? "margin: 0px;" : props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
|
|
207
186
|
}, function (props) {
|
|
208
187
|
return props.labelPosition === "before" && "order: -1";
|
|
209
188
|
});
|
|
210
|
-
|
|
211
|
-
var
|
|
212
|
-
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
var SwitchInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0px;\n"])));
|
|
216
|
-
|
|
217
|
-
var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n transition: transform 0.2s ease;\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n transition: transform 0.2s ease;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n z-index: 1;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[data-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
189
|
+
var SwitchBase = _styledComponents["default"].label(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n margin: 0px 12px;\n"])));
|
|
190
|
+
var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
191
|
+
var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[aria-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
218
192
|
return props.theme.trackWidth;
|
|
219
193
|
}, function (props) {
|
|
220
194
|
return props.theme.trackHeight;
|
|
221
195
|
}, function (props) {
|
|
222
|
-
return
|
|
196
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
197
|
+
}, function (props) {
|
|
198
|
+
return "".concat(props.theme.thumbFocusColor, " solid 2px");
|
|
223
199
|
}, function (props) {
|
|
224
200
|
return props.theme.thumbWidth;
|
|
225
201
|
}, function (props) {
|
|
226
202
|
return props.theme.thumbHeight;
|
|
227
203
|
}, function (props) {
|
|
228
|
-
return props.
|
|
229
|
-
}, function (props) {
|
|
230
|
-
return props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
|
|
231
|
-
}, function (props) {
|
|
232
|
-
return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
|
|
233
|
-
}, function (props) {
|
|
234
|
-
return props.theme.thumbShift;
|
|
235
|
-
}, function (props) {
|
|
236
|
-
return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
|
|
237
|
-
});
|
|
238
|
-
|
|
239
|
-
var DisabledSwitchTrack = (0, _styledComponents["default"])(SwitchTrack)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: not-allowed;\n\n /* Unchecked */\n background-color: ", ";\n\n ::before {\n background-color: ", ";\n }\n\n /* Checked */\n &[data-checked=\"true\"] {\n background-color: ", ";\n\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
240
|
-
return props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
|
|
204
|
+
return props.disabled ? getDisabledColor(props.theme, "thumb", "uncheck") : getNotDisabledColor(props.theme, "thumb", "uncheck");
|
|
241
205
|
}, function (props) {
|
|
242
|
-
return props.
|
|
206
|
+
return props.disabled ? getDisabledColor(props.theme, "track", "uncheck") : getNotDisabledColor(props.theme, "track", "uncheck");
|
|
243
207
|
}, function (props) {
|
|
244
|
-
return props.
|
|
208
|
+
return props.disabled ? getDisabledColor(props.theme, "track", "check") : getNotDisabledColor(props.theme, "track", "check");
|
|
245
209
|
}, function (props) {
|
|
246
210
|
return props.theme.thumbShift;
|
|
247
211
|
}, function (props) {
|
|
248
|
-
return props.
|
|
212
|
+
return props.disabled ? getDisabledColor(props.theme, "thumb", "check") : getNotDisabledColor(props.theme, "thumb", "check");
|
|
249
213
|
});
|
|
250
|
-
var _default = DxcSwitch;
|
|
251
|
-
exports["default"] = _default;
|
|
214
|
+
var _default = exports["default"] = DxcSwitch;
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcSwitch from "./Switch";
|
|
3
|
-
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
-
import
|
|
5
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
7
6
|
|
|
8
7
|
export default {
|
|
9
8
|
title: "Switch",
|
|
10
9
|
component: DxcSwitch,
|
|
11
10
|
};
|
|
12
11
|
|
|
12
|
+
const opinionatedTheme = {
|
|
13
|
+
switch: {
|
|
14
|
+
checkedBaseColor: "#5f249f",
|
|
15
|
+
fontColor: "#000000",
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
|
|
13
19
|
export const Chromatic = () => (
|
|
14
20
|
<>
|
|
15
21
|
<ExampleContainer>
|
|
@@ -44,38 +50,6 @@ export const Chromatic = () => (
|
|
|
44
50
|
<Title title="Disabled checked" theme="light" level={4} />
|
|
45
51
|
<DxcSwitch label="Switch" disabled defaultChecked labelPosition="after" />
|
|
46
52
|
</ExampleContainer>
|
|
47
|
-
<BackgroundColorProvider color="#333333">
|
|
48
|
-
<DarkContainer>
|
|
49
|
-
<ExampleContainer>
|
|
50
|
-
<Title title="With label" theme="dark" level={4} />
|
|
51
|
-
<DxcSwitch label="Switch" />
|
|
52
|
-
</ExampleContainer>
|
|
53
|
-
<ExampleContainer pseudoState="pseudo-focus-visible">
|
|
54
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
55
|
-
<DxcSwitch label="Switch" labelPosition="after" />
|
|
56
|
-
</ExampleContainer>
|
|
57
|
-
<ExampleContainer>
|
|
58
|
-
<Title title="Checked" theme="dark" level={4} />
|
|
59
|
-
<DxcSwitch label="Switch" defaultChecked />
|
|
60
|
-
</ExampleContainer>
|
|
61
|
-
<ExampleContainer>
|
|
62
|
-
<Title title="Optional" theme="dark" level={4} />
|
|
63
|
-
<DxcSwitch label="Switch" optional />
|
|
64
|
-
</ExampleContainer>
|
|
65
|
-
<ExampleContainer>
|
|
66
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
67
|
-
<DxcSwitch label="Switch" disabled />
|
|
68
|
-
</ExampleContainer>
|
|
69
|
-
<ExampleContainer>
|
|
70
|
-
<Title title="Disabled optional" theme="dark" level={4} />
|
|
71
|
-
<DxcSwitch label="Switch" disabled optional labelPosition="after" />
|
|
72
|
-
</ExampleContainer>
|
|
73
|
-
<ExampleContainer>
|
|
74
|
-
<Title title="Disabled checked" theme="dark" level={4} />
|
|
75
|
-
<DxcSwitch label="Switch" disabled defaultChecked labelPosition="after" />
|
|
76
|
-
</ExampleContainer>
|
|
77
|
-
</DarkContainer>
|
|
78
|
-
</BackgroundColorProvider>
|
|
79
53
|
<Title title="Margins" theme="light" level={2} />
|
|
80
54
|
<ExampleContainer>
|
|
81
55
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
@@ -134,5 +108,30 @@ export const Chromatic = () => (
|
|
|
134
108
|
<Title title="FitContent size" theme="light" level={4} />
|
|
135
109
|
<DxcSwitch label="FitContent" size="fitContent" />
|
|
136
110
|
</ExampleContainer>
|
|
111
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
112
|
+
<ExampleContainer>
|
|
113
|
+
<Title title="Checked" theme="light" level={4} />
|
|
114
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
115
|
+
<DxcSwitch label="Switch" defaultChecked />
|
|
116
|
+
</HalstackProvider>
|
|
117
|
+
</ExampleContainer>
|
|
118
|
+
<ExampleContainer>
|
|
119
|
+
<Title title="Default" theme="light" level={4} />
|
|
120
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
121
|
+
<DxcSwitch label="Switch" />
|
|
122
|
+
</HalstackProvider>
|
|
123
|
+
</ExampleContainer>
|
|
124
|
+
<ExampleContainer>
|
|
125
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
126
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
127
|
+
<DxcSwitch label="Switch" disabled />
|
|
128
|
+
</HalstackProvider>
|
|
129
|
+
</ExampleContainer>
|
|
130
|
+
<ExampleContainer>
|
|
131
|
+
<Title title="Disabled checked" theme="light" level={4} />
|
|
132
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
133
|
+
<DxcSwitch label="Switch" disabled defaultChecked />
|
|
134
|
+
</HalstackProvider>
|
|
135
|
+
</ExampleContainer>
|
|
137
136
|
</>
|
|
138
137
|
);
|