@dxc-technology/halstack-react 0.0.0-06273eb → 0.0.0-068a224

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.
Files changed (139) hide show
  1. package/README.md +46 -0
  2. package/dist/index.d.mts +6439 -0
  3. package/dist/index.d.ts +6439 -0
  4. package/dist/index.js +12601 -0
  5. package/dist/index.mjs +12513 -0
  6. package/package.json +72 -67
  7. package/BackgroundColorContext.js +0 -50
  8. package/ThemeContext.js +0 -246
  9. package/V3Select/V3Select.js +0 -455
  10. package/V3Select/index.d.ts +0 -27
  11. package/V3Textarea/V3Textarea.js +0 -260
  12. package/V3Textarea/index.d.ts +0 -27
  13. package/accordion/Accordion.js +0 -289
  14. package/accordion/index.d.ts +0 -28
  15. package/accordion-group/AccordionGroup.js +0 -184
  16. package/accordion-group/index.d.ts +0 -16
  17. package/alert/Alert.d.ts +0 -4
  18. package/alert/Alert.js +0 -290
  19. package/alert/types.d.ts +0 -49
  20. package/alert/types.js +0 -5
  21. package/badge/Badge.js +0 -59
  22. package/box/Box.js +0 -152
  23. package/box/index.d.ts +0 -25
  24. package/button/Button.d.ts +0 -4
  25. package/button/Button.js +0 -182
  26. package/button/Button.stories.tsx +0 -306
  27. package/button/types.d.ts +0 -57
  28. package/button/types.js +0 -5
  29. package/card/Card.js +0 -200
  30. package/card/index.d.ts +0 -22
  31. package/checkbox/Checkbox.d.ts +0 -4
  32. package/checkbox/Checkbox.js +0 -253
  33. package/checkbox/types.d.ts +0 -61
  34. package/checkbox/types.js +0 -5
  35. package/chip/Chip.js +0 -221
  36. package/chip/index.d.ts +0 -22
  37. package/common/OpenSans.css +0 -81
  38. package/common/RequiredComponent.js +0 -32
  39. package/common/fonts/OpenSans-Bold.ttf +0 -0
  40. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  41. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  42. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  43. package/common/fonts/OpenSans-Italic.ttf +0 -0
  44. package/common/fonts/OpenSans-Light.ttf +0 -0
  45. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  46. package/common/fonts/OpenSans-Regular.ttf +0 -0
  47. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  48. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  49. package/common/utils.js +0 -22
  50. package/common/variables.js +0 -1569
  51. package/date/Date.js +0 -373
  52. package/date/index.d.ts +0 -27
  53. package/date-input/DateInput.d.ts +0 -4
  54. package/date-input/DateInput.js +0 -361
  55. package/date-input/types.d.ts +0 -100
  56. package/date-input/types.js +0 -5
  57. package/dialog/Dialog.js +0 -184
  58. package/dialog/index.d.ts +0 -18
  59. package/dropdown/Dropdown.js +0 -450
  60. package/dropdown/index.d.ts +0 -26
  61. package/file-input/FileInput.js +0 -532
  62. package/file-input/FileItem.js +0 -193
  63. package/file-input/index.d.ts +0 -81
  64. package/footer/Footer.js +0 -297
  65. package/footer/Icons.js +0 -77
  66. package/footer/index.d.ts +0 -25
  67. package/header/Header.js +0 -326
  68. package/header/Icons.js +0 -59
  69. package/header/index.d.ts +0 -25
  70. package/heading/Heading.js +0 -176
  71. package/heading/index.d.ts +0 -17
  72. package/input-text/Icons.js +0 -22
  73. package/input-text/InputText.js +0 -611
  74. package/input-text/index.d.ts +0 -36
  75. package/layout/ApplicationLayout.js +0 -235
  76. package/layout/Icons.js +0 -55
  77. package/link/Link.js +0 -183
  78. package/link/index.d.ts +0 -23
  79. package/main.d.ts +0 -44
  80. package/main.js +0 -363
  81. package/number-input/NumberInput.js +0 -128
  82. package/number-input/NumberInputContext.js +0 -16
  83. package/number-input/index.d.ts +0 -113
  84. package/paginator/Icons.js +0 -66
  85. package/paginator/Paginator.d.ts +0 -4
  86. package/paginator/Paginator.js +0 -198
  87. package/paginator/types.d.ts +0 -38
  88. package/paginator/types.js +0 -5
  89. package/password-input/PasswordInput.js +0 -199
  90. package/password-input/PasswordInput.stories.jsx +0 -131
  91. package/password-input/index.d.ts +0 -94
  92. package/progress-bar/ProgressBar.js +0 -188
  93. package/progress-bar/index.d.ts +0 -18
  94. package/radio/Radio.js +0 -195
  95. package/radio/index.d.ts +0 -23
  96. package/resultsetTable/ResultsetTable.js +0 -274
  97. package/resultsetTable/index.d.ts +0 -19
  98. package/select/Select.js +0 -865
  99. package/select/index.d.ts +0 -131
  100. package/sidenav/Sidenav.js +0 -145
  101. package/sidenav/index.d.ts +0 -13
  102. package/slider/Slider.js +0 -340
  103. package/slider/index.d.ts +0 -29
  104. package/spinner/Spinner.js +0 -267
  105. package/spinner/index.d.ts +0 -17
  106. package/switch/Switch.d.ts +0 -4
  107. package/switch/Switch.js +0 -179
  108. package/switch/types.d.ts +0 -58
  109. package/switch/types.js +0 -5
  110. package/table/Table.js +0 -118
  111. package/table/index.d.ts +0 -13
  112. package/tabs/Tabs.js +0 -259
  113. package/tabs/index.d.ts +0 -19
  114. package/tag/Tag.js +0 -208
  115. package/tag/index.d.ts +0 -24
  116. package/text-input/TextInput.js +0 -825
  117. package/text-input/index.d.ts +0 -135
  118. package/textarea/Textarea.js +0 -317
  119. package/textarea/index.d.ts +0 -117
  120. package/toggle/Toggle.js +0 -186
  121. package/toggle/index.d.ts +0 -21
  122. package/toggle-group/ToggleGroup.js +0 -243
  123. package/toggle-group/index.d.ts +0 -21
  124. package/upload/Upload.js +0 -201
  125. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  126. package/upload/buttons-upload/Icons.js +0 -40
  127. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  128. package/upload/dragAndDropArea/Icons.js +0 -39
  129. package/upload/file-upload/FileToUpload.js +0 -115
  130. package/upload/file-upload/Icons.js +0 -66
  131. package/upload/files-upload/FilesToUpload.js +0 -109
  132. package/upload/index.d.ts +0 -15
  133. package/upload/transaction/Icons.js +0 -160
  134. package/upload/transaction/Transaction.js +0 -104
  135. package/upload/transactions/Transactions.js +0 -94
  136. package/useTheme.js +0 -22
  137. package/wizard/Icons.js +0 -65
  138. package/wizard/Wizard.js +0 -271
  139. package/wizard/index.d.ts +0 -18
package/toggle/Toggle.js DELETED
@@ -1,186 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
- var _react = _interopRequireDefault(require("react"));
19
-
20
- var _lab = require("@material-ui/lab");
21
-
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
-
26
- var _utils = require("../common/utils.js");
27
-
28
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
-
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
31
-
32
- 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); }
33
-
34
- 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; }
35
-
36
- var DxcToggle = function DxcToggle(_ref) {
37
- var _ref$label = _ref.label,
38
- label = _ref$label === void 0 ? "" : _ref$label,
39
- _ref$iconSrc = _ref.iconSrc,
40
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
41
- _ref$mode = _ref.mode,
42
- mode = _ref$mode === void 0 ? "basic" : _ref$mode,
43
- _ref$theme = _ref.theme,
44
- theme = _ref$theme === void 0 ? "light" : _ref$theme,
45
- _ref$disableRipple = _ref.disableRipple,
46
- disableRipple = _ref$disableRipple === void 0 ? false : _ref$disableRipple,
47
- _ref$iconPosition = _ref.iconPosition,
48
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
49
- _ref$disabled = _ref.disabled,
50
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
51
- onClick = _ref.onClick,
52
- _ref$selected = _ref.selected,
53
- selected = _ref$selected === void 0 ? false : _ref$selected,
54
- margin = _ref.margin,
55
- _ref$size = _ref.size,
56
- size = _ref$size === void 0 ? "fitContent" : _ref$size;
57
- var colorsTheme = (0, _useTheme["default"])();
58
-
59
- var handlerToggleClick = function handlerToggleClick() {
60
- if (!disabled && typeof onClick === "function") {
61
- onClick(!selected);
62
- }
63
- };
64
-
65
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
66
- theme: colorsTheme
67
- }, /*#__PURE__*/_react["default"].createElement(DxcToggleContainer, {
68
- margin: margin,
69
- brightness: theme,
70
- disabled: disabled,
71
- disableRipple: disableRipple,
72
- selected: selected,
73
- label: label,
74
- mode: mode,
75
- iconPosition: iconPosition,
76
- value: true,
77
- size: size,
78
- onClick: handlerToggleClick
79
- }, /*#__PURE__*/_react["default"].createElement(_lab.ToggleButton, {
80
- disabled: disabled,
81
- disableRipple: disableRipple,
82
- selected: selected,
83
- label: label,
84
- value: true
85
- }, /*#__PURE__*/_react["default"].createElement(ContentContainer, {
86
- iconPosition: iconPosition,
87
- label: label,
88
- iconSrc: iconSrc
89
- }, iconSrc !== "" && /*#__PURE__*/_react["default"].createElement(IconContainer, {
90
- iconPosition: iconPosition,
91
- label: label,
92
- src: iconSrc
93
- }), label !== "" && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, label)))));
94
- };
95
-
96
- var sizes = {
97
- small: "42px",
98
- medium: "120px",
99
- large: "240px",
100
- fillParent: "100%",
101
- fitContent: "unset"
102
- };
103
-
104
- var calculateWidth = function calculateWidth(margin, size) {
105
- if (size === "fillParent") {
106
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
107
- }
108
-
109
- return sizes[size];
110
- };
111
-
112
- var DxcToggleContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n & {\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n opacity: ", ";\n cursor: ", ";\n display: inline-block;\n width: ", ";\n }\n\n .MuiToggleButton-label {\n font-size: 14px;\n font-family: ", ";\n color: ", ";\n }\n .MuiButtonBase-root {\n width: ", ";\n min-height: ", ";\n background-color: ", ";\n &:hover {\n background-color: ", ";\n .MuiToggleButton-label {\n color: ", ";\n }\n }\n }\n\n .MuiToggleButton-root {\n min-width: 42px;\n height: 43px;\n border: ", ";\n\n border-radius: 4px !important;\n }\n\n .MuiToggleButton-root.Mui-selected {\n background-color: ", ";\n &:hover {\n background-color: ", ";\n .MuiToggleButton-label {\n color: ", ";\n }\n }\n }\n\n .MuiToggleButton-root:last-child,\n .MuiToggleButton-root:first-child,\n .MuiToggleButton-root:not(:first-child) {\n padding: ", ";\n }\n\n .MuiTouchRipple-child {\n background-color: ", ";\n }\n"])), function (props) {
113
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? spaces[props.margin] : "0px";
114
- }, function (props) {
115
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? spaces[props.margin.top] : "";
116
- }, function (props) {
117
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? spaces[props.margin.right] : "";
118
- }, function (props) {
119
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? spaces[props.margin.bottom] : "";
120
- }, function (props) {
121
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? spaces[props.margin.left] : "";
122
- }, function (props) {
123
- return props.disabled ? "0.5" : "1";
124
- }, function (props) {
125
- return props.disabled ? "not-allowed" : "pointer";
126
- }, function (props) {
127
- return calculateWidth(props.margin, props.size);
128
- }, function (props) {
129
- return props.theme.fontFamily;
130
- }, function (props) {
131
- return props.brightness === "dark" && props.mode === "outlined" ? props.theme.white : props.theme.black;
132
- }, function (props) {
133
- return calculateWidth(props.margin, props.size);
134
- }, function (props) {
135
- return props.mode === "outlined" ? "41px" : "43px";
136
- }, function (props) {
137
- return props.mode !== "outlined" ? props.theme.darkWhite : "transparent";
138
- }, function (props) {
139
- return props.mode === "basic" ? props.theme.lightGrey : props.brightness === "dark" ? props.theme.darkGrey : props.theme.darkWhite;
140
- }, function (props) {
141
- return props.brightness === "dark" && props.mode === "outlined" ? props.theme.white : props.theme.black;
142
- }, function (props) {
143
- return props.mode === "basic" ? "none !important" : props.brightness === "dark" && !props.selected ? "2px solid ".concat(props.theme.white, " !important") : props.brightness === "dark" && props.selected ? "2px solid ".concat(props.theme.yellow, " !important") : "2px solid ".concat(props.theme.black, " !important");
144
- }, function (props) {
145
- return props.mode === "outlined" ? props.brightness === "light" ? props.theme.darkWhite : "transparent" : props.theme.yellow;
146
- }, function (props) {
147
- return props.mode === "basic" && props.brightness === "light" ? props.theme.black : props.mode === "basic" && props.brightness === "dark" ? props.theme.lightBlack : props.brightness === "light" ? props.theme.lightGrey : props.theme.darkGrey;
148
- }, function (props) {
149
- return props.mode === "basic" ? props.theme.yellow : props.brightness === "dark" && props.mode === "outlined" ? props.theme.white : props.theme.black;
150
- }, function (props) {
151
- return props.label !== "" && props.size !== "small" ? props.mode === "outlined" ? "8px 30px " : "12px 30px" : props.mode === "outlined" ? "8px 10px " : "12px 10px";
152
- }, function (props) {
153
- return props.mode === "basic" ? props.selected === false ? props.theme.yellow : props.theme.darkWhite : props.selected === false ? props.theme.lightGrey : props.theme.white;
154
- });
155
-
156
- var ContentContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n line-height: 1;\n display: flex;\n align-items: center;\n flex-direction: ", ";\n"])), function (props) {
157
- return props.iconPosition === "after" ? "row-reverse" : "row";
158
- });
159
-
160
- var IconContainer = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 20px;\n height: 20px;\n line-height: 1;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
161
- return props.label !== "" && props.iconPosition === "before" ? "10px" : "";
162
- }, function (props) {
163
- return props.label !== "" && props.iconPosition === "after" ? "10px" : "";
164
- });
165
-
166
- var LabelContainer = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])([""])));
167
-
168
- DxcToggle.propTypes = {
169
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
170
- theme: _propTypes["default"].oneOf(["light", "dark", ""]),
171
- mode: _propTypes["default"].oneOf(["basic", "outlined", ""]),
172
- iconPosition: _propTypes["default"].oneOf(["before", "after", ""]),
173
- iconSrc: _propTypes["default"].string,
174
- selected: _propTypes["default"].bool,
175
- disabled: _propTypes["default"].bool,
176
- disableRipple: _propTypes["default"].bool,
177
- onClick: _propTypes["default"].func,
178
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
179
- top: _propTypes["default"].oneOf(Object.keys(spaces)),
180
- bottom: _propTypes["default"].oneOf(Object.keys(spaces)),
181
- left: _propTypes["default"].oneOf(Object.keys(spaces)),
182
- right: _propTypes["default"].oneOf(Object.keys(spaces))
183
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(spaces)))])
184
- };
185
- var _default = DxcToggle;
186
- exports["default"] = _default;
package/toggle/index.d.ts DELETED
@@ -1,21 +0,0 @@
1
- type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- type Margin = {
3
- top?: Space;
4
- bottom?: Space;
5
- left?: Space;
6
- right?: Space;
7
- };
8
-
9
- type Props = {
10
- label?: string;
11
- helperText?: string;
12
- value?: any;
13
- onChange?: void;
14
- disabled?: boolean,
15
- options?: any;
16
- multiple?: boolean;
17
- margin?: Space | Margin;
18
- tabIndex?: number;
19
- };
20
-
21
- export default function DxcToggle(props: Props): JSX.Element;
@@ -1,243 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
-
18
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
- var _react = _interopRequireWildcard(require("react"));
21
-
22
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
- var _uuid = require("uuid");
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _variables = require("../common/variables.js");
29
-
30
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
-
32
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
33
-
34
- 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); }
35
-
36
- 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; }
37
-
38
- var DxcToggleGroup = function DxcToggleGroup(_ref) {
39
- var label = _ref.label,
40
- helperText = _ref.helperText,
41
- value = _ref.value,
42
- onChange = _ref.onChange,
43
- _ref$disabled = _ref.disabled,
44
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
45
- _ref$options = _ref.options,
46
- options = _ref$options === void 0 ? [] : _ref$options,
47
- margin = _ref.margin,
48
- _ref$multiple = _ref.multiple,
49
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
50
- _ref$tabIndex = _ref.tabIndex,
51
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
52
- var colorsTheme = (0, _useTheme["default"])();
53
-
54
- var _useState = (0, _react.useState)(multiple ? [] : null),
55
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
56
- selectedValue = _useState2[0],
57
- setSelectedValue = _useState2[1];
58
-
59
- var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
60
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
61
- toggleGroupId = _useState4[0];
62
-
63
- var handleToggleChange = function handleToggleChange(selectedOption) {
64
- var newSelectedOptions;
65
-
66
- if (value == null) {
67
- if (multiple) {
68
- newSelectedOptions = selectedValue.map(function (value) {
69
- return value;
70
- });
71
-
72
- if (newSelectedOptions.includes(selectedOption)) {
73
- var index = newSelectedOptions.indexOf(selectedOption);
74
- newSelectedOptions.splice(index, 1);
75
- } else {
76
- newSelectedOptions.push(selectedOption);
77
- }
78
-
79
- setSelectedValue(newSelectedOptions);
80
- } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
81
- } else if (multiple) {
82
- newSelectedOptions = value.map(function (v) {
83
- return v;
84
- });
85
-
86
- if (newSelectedOptions.includes(selectedOption)) {
87
- var _index = newSelectedOptions.indexOf(selectedOption);
88
-
89
- newSelectedOptions.splice(_index, 1);
90
- } else newSelectedOptions.push(selectedOption);
91
- }
92
-
93
- typeof onChange === "function" && onChange(multiple ? newSelectedOptions : selectedOption);
94
- };
95
-
96
- var handleKeyPress = function handleKeyPress(event, optionValue) {
97
- event.preventDefault();
98
- if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
99
- };
100
-
101
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
102
- theme: colorsTheme.toggleGroup
103
- }, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
104
- margin: margin,
105
- disabled: disabled
106
- }, /*#__PURE__*/_react["default"].createElement(Label, {
107
- htmlFor: toggleGroupId,
108
- disabled: disabled
109
- }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
110
- disabled: disabled
111
- }, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
112
- id: toggleGroupId,
113
- role: multiple ? "group" : "radiogroup"
114
- }, options.map(function (option, i) {
115
- return /*#__PURE__*/_react["default"].createElement(ToggleContainer, {
116
- selected: multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
117
- role: multiple ? "switch" : "radio",
118
- "aria-checked": multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
119
- tabIndex: !disabled ? tabIndex : -1,
120
- onClick: function onClick() {
121
- return !disabled && handleToggleChange(option.value);
122
- },
123
- isFirst: i === 0,
124
- isLast: i === options.length - 1,
125
- isIcon: option.iconSrc || option.icon,
126
- optionLabel: option.label,
127
- disabled: disabled,
128
- onKeyPress: function onKeyPress(event) {
129
- handleKeyPress(event, option.value);
130
- },
131
- key: "toggle-".concat(i, "-").concat(option.label)
132
- }, /*#__PURE__*/_react["default"].createElement(OptionContent, null, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
133
- optionLabel: option.label
134
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)), option.iconSrc && /*#__PURE__*/_react["default"].createElement(Icon, {
135
- src: option.iconSrc,
136
- optionLabel: option.label
137
- }), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
138
- }))));
139
- };
140
-
141
- var Label = _styledComponents["default"].label(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
142
- return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
143
- }, function (props) {
144
- return props.theme.labelFontFamily;
145
- }, function (props) {
146
- return props.theme.labelFontSize;
147
- }, function (props) {
148
- return props.theme.labelFontStyle;
149
- }, function (props) {
150
- return props.theme.labelFontWeight;
151
- }, function (props) {
152
- return props.theme.labelLineHeight;
153
- });
154
-
155
- var HelperText = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
156
- return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
157
- }, function (props) {
158
- return props.theme.helperTextFontFamily;
159
- }, function (props) {
160
- return props.theme.helperTextFontSize;
161
- }, function (props) {
162
- return props.theme.helperTextFontStyle;
163
- }, function (props) {
164
- return props.theme.helperTextFontWeight;
165
- }, function (props) {
166
- return props.theme.helperTextLineHeight;
167
- });
168
-
169
- var ToggleGroup = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
170
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
171
- }, function (props) {
172
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
173
- }, function (props) {
174
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
175
- }, function (props) {
176
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
177
- }, function (props) {
178
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
179
- });
180
-
181
- var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n opacity: 1;\n height: calc(48px - 4px - 4px);\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n background-color: ", ";\n padding: 4px;\n margin-top: ", ";\n"])), function (props) {
182
- return props.theme.containerBorderThickness;
183
- }, function (props) {
184
- return props.theme.containerBorderStyle;
185
- }, function (props) {
186
- return props.theme.containerBorderRadius;
187
- }, function (props) {
188
- return props.theme.containerBorderColor;
189
- }, function (props) {
190
- return props.theme.containerBackgroundColor;
191
- }, function (props) {
192
- return props.theme.containerMarginTop;
193
- });
194
-
195
- var ToggleContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"])), function (props) {
196
- return !props.isLast && "4px";
197
- }, function (props) {
198
- return "\n background-color: ".concat(props.selected ? props.disabled ? props.theme.selectedDisabledBackgroundColor : props.theme.selectedBackgroundColor : props.disabled ? props.theme.unselectedDisabledBackgroundColor : props.theme.unselectedBackgroundColor, ";\n border-width: ").concat(props.theme.optionBorderThickness, ";\n border-style: ").concat(props.theme.optionBorderStyle, ";\n border-radius: ").concat(props.theme.optionBorderRadius, ";\n padding-left: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft, ";\n padding-right: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight, ";\n ").concat(!props.disabled ? ":hover {\n background-color: ".concat(props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor, ";\n }\n :active {\n background-color: ").concat(props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor, ";\n color: #ffffff;\n } \n :focus {\n border-color: transparent;\n box-shadow: 0 0 0 ").concat(props.theme.optionFocusBorderThickness, " ").concat(props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor, ";\n }\n &:focus-visible {\n outline: none;\n }\n cursor: pointer;\n color: ").concat(props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor, ";\n") : "color: ".concat(props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor, ";\n cursor: not-allowed;"), "\n ");
199
- });
200
-
201
- var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
202
- return props.theme.optionLabelFontFamily;
203
- }, function (props) {
204
- return props.theme.optionLabelFontSize;
205
- }, function (props) {
206
- return props.theme.optionLabelFontStyle;
207
- }, function (props) {
208
- return props.theme.optionLabelFontWeight;
209
- });
210
-
211
- var OptionContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n"])));
212
-
213
- var Icon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 24px;\n width: 24px;\n margin-right: ", ";\n"])), function (props) {
214
- return props.optionLabel && props.theme.iconMarginRight;
215
- });
216
-
217
- var IconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n height: 24px;\n width: 24px;\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
218
- return props.optionLabel && props.theme.iconMarginRight;
219
- });
220
-
221
- DxcToggleGroup.propTypes = {
222
- label: _propTypes["default"].string,
223
- helperText: _propTypes["default"].string,
224
- value: _propTypes["default"].any,
225
- onChange: _propTypes["default"].func,
226
- disabled: _propTypes["default"].bool,
227
- multiple: _propTypes["default"].bool,
228
- options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
229
- value: _propTypes["default"].any.isRequired,
230
- label: _propTypes["default"].string,
231
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
232
- iconSrc: _propTypes["default"].string
233
- })),
234
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
235
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
236
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
237
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
238
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
239
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
240
- tabIndex: _propTypes["default"].number
241
- };
242
- var _default = DxcToggleGroup;
243
- exports["default"] = _default;
@@ -1,21 +0,0 @@
1
- type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- type Margin = {
3
- top?: Space;
4
- bottom?: Space;
5
- left?: Space;
6
- right?: Space;
7
- };
8
-
9
- type Props = {
10
- label?: string;
11
- helperText?: string;
12
- value?: any;
13
- onChange?: void;
14
- disabled?: boolean;
15
- options?: any;
16
- multiple?: boolean;
17
- margin?: Space | Margin;
18
- tabIndex?: number;
19
- };
20
-
21
- export default function DxcToggleGroup(props: Props): JSX.Element;