@dxc-technology/halstack-react 0.0.0-c1c5f49 → 0.0.0-c22b99b

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 (221) hide show
  1. package/README.md +46 -0
  2. package/dist/index.d.mts +6491 -0
  3. package/dist/index.d.ts +6491 -0
  4. package/dist/index.js +12932 -0
  5. package/dist/index.mjs +12875 -0
  6. package/package.json +74 -69
  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.d.ts +0 -4
  14. package/accordion/Accordion.js +0 -258
  15. package/accordion/types.d.ts +0 -68
  16. package/accordion/types.js +0 -5
  17. package/accordion-group/AccordionGroup.d.ts +0 -7
  18. package/accordion-group/AccordionGroup.js +0 -170
  19. package/accordion-group/types.d.ts +0 -72
  20. package/accordion-group/types.js +0 -5
  21. package/alert/Alert.d.ts +0 -4
  22. package/alert/Alert.js +0 -290
  23. package/alert/Alert.stories.tsx +0 -170
  24. package/alert/types.d.ts +0 -49
  25. package/alert/types.js +0 -5
  26. package/badge/Badge.js +0 -59
  27. package/box/Box.d.ts +0 -4
  28. package/box/Box.js +0 -126
  29. package/box/Box.stories.tsx +0 -132
  30. package/box/types.d.ts +0 -43
  31. package/box/types.js +0 -5
  32. package/button/Button.d.ts +0 -4
  33. package/button/Button.js +0 -179
  34. package/button/Button.stories.tsx +0 -276
  35. package/button/types.d.ts +0 -57
  36. package/button/types.js +0 -5
  37. package/card/Card.d.ts +0 -4
  38. package/card/Card.js +0 -164
  39. package/card/Card.stories.tsx +0 -201
  40. package/card/ice-cream.jpg +0 -0
  41. package/card/types.d.ts +0 -67
  42. package/card/types.js +0 -5
  43. package/checkbox/Checkbox.d.ts +0 -4
  44. package/checkbox/Checkbox.js +0 -253
  45. package/checkbox/Checkbox.stories.tsx +0 -192
  46. package/checkbox/types.d.ts +0 -60
  47. package/checkbox/types.js +0 -5
  48. package/chip/Chip.js +0 -221
  49. package/chip/Chip.stories.tsx +0 -121
  50. package/chip/index.d.ts +0 -22
  51. package/common/OpenSans.css +0 -81
  52. package/common/RequiredComponent.js +0 -32
  53. package/common/fonts/OpenSans-Bold.ttf +0 -0
  54. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  55. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  56. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  57. package/common/fonts/OpenSans-Italic.ttf +0 -0
  58. package/common/fonts/OpenSans-Light.ttf +0 -0
  59. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  60. package/common/fonts/OpenSans-Regular.ttf +0 -0
  61. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  62. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  63. package/common/utils.js +0 -22
  64. package/common/variables.js +0 -1578
  65. package/date/Date.js +0 -373
  66. package/date/index.d.ts +0 -27
  67. package/date-input/DateInput.d.ts +0 -4
  68. package/date-input/DateInput.js +0 -361
  69. package/date-input/DateInput.stories.tsx +0 -138
  70. package/date-input/types.d.ts +0 -100
  71. package/date-input/types.js +0 -5
  72. package/dialog/Dialog.d.ts +0 -4
  73. package/dialog/Dialog.js +0 -165
  74. package/dialog/Dialog.stories.tsx +0 -212
  75. package/dialog/types.d.ts +0 -43
  76. package/dialog/types.js +0 -5
  77. package/dropdown/Dropdown.d.ts +0 -4
  78. package/dropdown/Dropdown.js +0 -417
  79. package/dropdown/types.d.ts +0 -89
  80. package/dropdown/types.js +0 -5
  81. package/file-input/FileInput.d.ts +0 -4
  82. package/file-input/FileInput.js +0 -511
  83. package/file-input/FileItem.d.ts +0 -14
  84. package/file-input/FileItem.js +0 -184
  85. package/file-input/types.d.ts +0 -87
  86. package/file-input/types.js +0 -5
  87. package/footer/Footer.d.ts +0 -4
  88. package/footer/Footer.js +0 -266
  89. package/footer/Footer.stories.jsx +0 -151
  90. package/footer/Icons.js +0 -77
  91. package/footer/types.d.ts +0 -61
  92. package/footer/types.js +0 -5
  93. package/header/Header.d.ts +0 -7
  94. package/header/Header.js +0 -324
  95. package/header/Header.stories.tsx +0 -162
  96. package/header/Icons.js +0 -34
  97. package/header/types.d.ts +0 -47
  98. package/header/types.js +0 -5
  99. package/heading/Heading.d.ts +0 -4
  100. package/heading/Heading.js +0 -159
  101. package/heading/Heading.stories.tsx +0 -53
  102. package/heading/types.d.ts +0 -33
  103. package/heading/types.js +0 -5
  104. package/input-text/Icons.js +0 -22
  105. package/input-text/InputText.js +0 -611
  106. package/input-text/index.d.ts +0 -36
  107. package/layout/ApplicationLayout.js +0 -235
  108. package/layout/Icons.js +0 -55
  109. package/link/Link.d.ts +0 -3
  110. package/link/Link.js +0 -161
  111. package/link/Link.stories.tsx +0 -146
  112. package/link/types.d.ts +0 -74
  113. package/link/types.js +0 -5
  114. package/main.d.ts +0 -44
  115. package/main.js +0 -363
  116. package/number-input/NumberInput.d.ts +0 -4
  117. package/number-input/NumberInput.js +0 -86
  118. package/number-input/NumberInput.stories.tsx +0 -115
  119. package/number-input/NumberInputContext.d.ts +0 -4
  120. package/number-input/NumberInputContext.js +0 -19
  121. package/number-input/numberInputContextTypes.d.ts +0 -19
  122. package/number-input/numberInputContextTypes.js +0 -5
  123. package/number-input/types.d.ts +0 -117
  124. package/number-input/types.js +0 -5
  125. package/paginator/Icons.js +0 -66
  126. package/paginator/Paginator.d.ts +0 -4
  127. package/paginator/Paginator.js +0 -198
  128. package/paginator/Paginator.stories.tsx +0 -63
  129. package/paginator/types.d.ts +0 -38
  130. package/paginator/types.js +0 -5
  131. package/password-input/PasswordInput.d.ts +0 -4
  132. package/password-input/PasswordInput.js +0 -164
  133. package/password-input/PasswordInput.stories.tsx +0 -131
  134. package/password-input/types.d.ts +0 -107
  135. package/password-input/types.js +0 -5
  136. package/progress-bar/ProgressBar.d.ts +0 -4
  137. package/progress-bar/ProgressBar.js +0 -170
  138. package/progress-bar/ProgressBar.stories.jsx +0 -58
  139. package/progress-bar/types.d.ts +0 -37
  140. package/progress-bar/types.js +0 -5
  141. package/radio/Radio.d.ts +0 -4
  142. package/radio/Radio.js +0 -174
  143. package/radio/Radio.stories.tsx +0 -192
  144. package/radio/types.d.ts +0 -54
  145. package/radio/types.js +0 -5
  146. package/resultsetTable/ResultsetTable.d.ts +0 -4
  147. package/resultsetTable/ResultsetTable.js +0 -251
  148. package/resultsetTable/types.d.ts +0 -67
  149. package/resultsetTable/types.js +0 -5
  150. package/select/Select.js +0 -865
  151. package/select/Select.stories.tsx +0 -572
  152. package/select/index.d.ts +0 -131
  153. package/sidenav/Sidenav.d.ts +0 -9
  154. package/sidenav/Sidenav.js +0 -136
  155. package/sidenav/Sidenav.stories.tsx +0 -165
  156. package/sidenav/types.d.ts +0 -50
  157. package/sidenav/types.js +0 -5
  158. package/slider/Slider.d.ts +0 -4
  159. package/slider/Slider.js +0 -317
  160. package/slider/Slider.stories.tsx +0 -177
  161. package/slider/types.d.ts +0 -78
  162. package/slider/types.js +0 -5
  163. package/spinner/Spinner.d.ts +0 -4
  164. package/spinner/Spinner.js +0 -250
  165. package/spinner/Spinner.stories.jsx +0 -102
  166. package/spinner/types.d.ts +0 -32
  167. package/spinner/types.js +0 -5
  168. package/switch/Switch.d.ts +0 -4
  169. package/switch/Switch.js +0 -179
  170. package/switch/Switch.stories.tsx +0 -160
  171. package/switch/types.d.ts +0 -58
  172. package/switch/types.js +0 -5
  173. package/table/Table.d.ts +0 -4
  174. package/table/Table.js +0 -118
  175. package/table/Table.stories.jsx +0 -276
  176. package/table/types.d.ts +0 -21
  177. package/table/types.js +0 -5
  178. package/tabs/Tabs.d.ts +0 -4
  179. package/tabs/Tabs.js +0 -213
  180. package/tabs/Tabs.stories.tsx +0 -121
  181. package/tabs/types.d.ts +0 -70
  182. package/tabs/types.js +0 -5
  183. package/tag/Tag.d.ts +0 -4
  184. package/tag/Tag.js +0 -193
  185. package/tag/Tag.stories.tsx +0 -145
  186. package/tag/types.d.ts +0 -60
  187. package/tag/types.js +0 -5
  188. package/text-input/TextInput.d.ts +0 -4
  189. package/text-input/TextInput.js +0 -786
  190. package/text-input/TextInput.stories.tsx +0 -456
  191. package/text-input/types.d.ts +0 -159
  192. package/text-input/types.js +0 -5
  193. package/textarea/Textarea.js +0 -316
  194. package/textarea/Textarea.stories.jsx +0 -135
  195. package/textarea/index.d.ts +0 -127
  196. package/toggle/Toggle.js +0 -186
  197. package/toggle/index.d.ts +0 -21
  198. package/toggle-group/ToggleGroup.d.ts +0 -4
  199. package/toggle-group/ToggleGroup.js +0 -217
  200. package/toggle-group/ToggleGroup.stories.tsx +0 -178
  201. package/toggle-group/types.d.ts +0 -84
  202. package/toggle-group/types.js +0 -5
  203. package/upload/Upload.js +0 -201
  204. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  205. package/upload/buttons-upload/Icons.js +0 -40
  206. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  207. package/upload/dragAndDropArea/Icons.js +0 -39
  208. package/upload/file-upload/FileToUpload.js +0 -115
  209. package/upload/file-upload/Icons.js +0 -66
  210. package/upload/files-upload/FilesToUpload.js +0 -109
  211. package/upload/index.d.ts +0 -15
  212. package/upload/transaction/Icons.js +0 -160
  213. package/upload/transaction/Transaction.js +0 -104
  214. package/upload/transactions/Transactions.js +0 -94
  215. package/useTheme.js +0 -22
  216. package/wizard/Icons.js +0 -65
  217. package/wizard/Wizard.d.ts +0 -4
  218. package/wizard/Wizard.js +0 -231
  219. package/wizard/Wizard.stories.jsx +0 -224
  220. package/wizard/types.d.ts +0 -64
  221. package/wizard/types.js +0 -5
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,4 +0,0 @@
1
- /// <reference types="react" />
2
- import ToogleGroupPropsType from "./types";
3
- declare const DxcToggleGroup: ({ label, helperText, value, onChange, disabled, options, margin, multiple, tabIndex, }: ToogleGroupPropsType) => JSX.Element;
4
- export default DxcToggleGroup;
@@ -1,217 +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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _uuid = require("uuid");
23
-
24
- var _variables = require("../common/variables.js");
25
-
26
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
27
-
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
29
-
30
- 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); }
31
-
32
- 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; }
33
-
34
- var DxcToggleGroup = function DxcToggleGroup(_ref) {
35
- var label = _ref.label,
36
- helperText = _ref.helperText,
37
- value = _ref.value,
38
- onChange = _ref.onChange,
39
- _ref$disabled = _ref.disabled,
40
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
41
- options = _ref.options,
42
- margin = _ref.margin,
43
- _ref$multiple = _ref.multiple,
44
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
45
- _ref$tabIndex = _ref.tabIndex,
46
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
47
- var colorsTheme = (0, _useTheme["default"])();
48
-
49
- var _useState = (0, _react.useState)(multiple ? [] : ""),
50
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
- selectedValue = _useState2[0],
52
- setSelectedValue = _useState2[1];
53
-
54
- var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
55
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
56
- toggleGroupId = _useState4[0];
57
-
58
- var handleToggleChange = function handleToggleChange(selectedOption) {
59
- var newSelectedOptions;
60
-
61
- if (value == null) {
62
- if (multiple && Array.isArray(selectedValue)) {
63
- newSelectedOptions = selectedValue.map(function (value) {
64
- return value;
65
- });
66
-
67
- if (newSelectedOptions.includes(selectedOption)) {
68
- var index = newSelectedOptions.indexOf(selectedOption);
69
- newSelectedOptions.splice(index, 1);
70
- } else {
71
- newSelectedOptions.push(selectedOption);
72
- }
73
-
74
- setSelectedValue(newSelectedOptions);
75
- } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
76
- } else if (multiple) {
77
- newSelectedOptions = Array.isArray(value) ? value.map(function (v) {
78
- return v;
79
- }) : value;
80
-
81
- if (newSelectedOptions.includes(selectedOption)) {
82
- var _index = newSelectedOptions.indexOf(selectedOption);
83
-
84
- newSelectedOptions.splice(_index, 1);
85
- } else newSelectedOptions.push(selectedOption);
86
- }
87
-
88
- typeof onChange === "function" && onChange(multiple ? newSelectedOptions : selectedOption);
89
- };
90
-
91
- var handleKeyPress = function handleKeyPress(event, optionValue) {
92
- event.preventDefault();
93
- if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
94
- };
95
-
96
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
97
- theme: colorsTheme.toggleGroup
98
- }, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
99
- margin: margin,
100
- disabled: disabled
101
- }, /*#__PURE__*/_react["default"].createElement(Label, {
102
- htmlFor: toggleGroupId,
103
- disabled: disabled
104
- }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
105
- disabled: disabled
106
- }, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
107
- id: toggleGroupId,
108
- role: multiple ? "group" : "radiogroup"
109
- }, options.map(function (option, i) {
110
- return /*#__PURE__*/_react["default"].createElement(ToggleContainer, {
111
- selected: multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
112
- role: multiple ? "switch" : "radio",
113
- "aria-checked": multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
114
- tabIndex: !disabled ? tabIndex : -1,
115
- onClick: function onClick() {
116
- return !disabled && handleToggleChange(option.value);
117
- },
118
- isFirst: i === 0,
119
- isLast: i === options.length - 1,
120
- isIcon: option.iconSrc || option.icon,
121
- optionLabel: option.label,
122
- disabled: disabled,
123
- onKeyPress: function onKeyPress(event) {
124
- handleKeyPress(event, option.value);
125
- },
126
- key: "toggle-".concat(i, "-").concat(option.label)
127
- }, /*#__PURE__*/_react["default"].createElement(OptionContent, null, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
128
- optionLabel: option.label
129
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)), option.iconSrc && /*#__PURE__*/_react["default"].createElement(Icon, {
130
- src: option.iconSrc,
131
- optionLabel: option.label
132
- }), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
133
- }))));
134
- };
135
-
136
- 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) {
137
- return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
138
- }, function (props) {
139
- return props.theme.labelFontFamily;
140
- }, function (props) {
141
- return props.theme.labelFontSize;
142
- }, function (props) {
143
- return props.theme.labelFontStyle;
144
- }, function (props) {
145
- return props.theme.labelFontWeight;
146
- }, function (props) {
147
- return props.theme.labelLineHeight;
148
- });
149
-
150
- 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) {
151
- return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
152
- }, function (props) {
153
- return props.theme.helperTextFontFamily;
154
- }, function (props) {
155
- return props.theme.helperTextFontSize;
156
- }, function (props) {
157
- return props.theme.helperTextFontStyle;
158
- }, function (props) {
159
- return props.theme.helperTextFontWeight;
160
- }, function (props) {
161
- return props.theme.helperTextLineHeight;
162
- });
163
-
164
- 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) {
165
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
166
- }, function (props) {
167
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
168
- }, function (props) {
169
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
170
- }, function (props) {
171
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
172
- }, function (props) {
173
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
174
- });
175
-
176
- 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) {
177
- return props.theme.containerBorderThickness;
178
- }, function (props) {
179
- return props.theme.containerBorderStyle;
180
- }, function (props) {
181
- return props.theme.containerBorderRadius;
182
- }, function (props) {
183
- return props.theme.containerBorderColor;
184
- }, function (props) {
185
- return props.theme.containerBackgroundColor;
186
- }, function (props) {
187
- return props.theme.containerMarginTop;
188
- });
189
-
190
- 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) {
191
- return !props.isLast && "4px";
192
- }, function (props) {
193
- 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 ");
194
- });
195
-
196
- 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) {
197
- return props.theme.optionLabelFontFamily;
198
- }, function (props) {
199
- return props.theme.optionLabelFontSize;
200
- }, function (props) {
201
- return props.theme.optionLabelFontStyle;
202
- }, function (props) {
203
- return props.theme.optionLabelFontWeight;
204
- });
205
-
206
- var OptionContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n"])));
207
-
208
- var Icon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 24px;\n width: 24px;\n margin-right: ", ";\n"])), function (props) {
209
- return props.optionLabel && props.theme.iconMarginRight;
210
- });
211
-
212
- 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) {
213
- return props.optionLabel && props.theme.iconMarginRight;
214
- });
215
-
216
- var _default = DxcToggleGroup;
217
- exports["default"] = _default;
@@ -1,178 +0,0 @@
1
- import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
3
- import DxcToggleGroup from "./ToggleGroup";
4
- import Title from "../../.storybook/components/Title";
5
- import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
-
7
- export default {
8
- title: "ToggleGroup",
9
- component: DxcToggleGroup,
10
- };
11
-
12
- const ethernetSVG = () => {
13
- return (
14
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
15
- <path d="M0 0h24v24H0V0z" fill="none" />
16
- <path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z" />
17
- </svg>
18
- );
19
- };
20
- const gMobileSVG = () => {
21
- return (
22
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
23
- <g>
24
- <path d="M0,0h24v24H0V0z" fill="none" />
25
- </g>
26
- <g>
27
- <g>
28
- <path d="M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z" />
29
- </g>
30
- </g>
31
- </svg>
32
- );
33
- };
34
- const wifiSVG = () => {
35
- return (
36
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
37
- <path d="M0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" />
38
- <path d="M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z" />
39
- </svg>
40
- );
41
- };
42
- const options = [
43
- {
44
- value: 1,
45
- label: "Facebook",
46
- },
47
- {
48
- value: 2,
49
- label: "Twitter",
50
- },
51
- {
52
- value: 3,
53
- label: "Linkedin",
54
- },
55
- ];
56
- const optionsWithIcon = [
57
- {
58
- value: 1,
59
- icon: wifiSVG,
60
- },
61
- {
62
- value: 2,
63
- icon: ethernetSVG,
64
- },
65
- {
66
- value: 3,
67
- icon: gMobileSVG,
68
- },
69
- ];
70
- const optionsWithIconAndLabel = [
71
- {
72
- value: 1,
73
- label: "Wi-fi",
74
- icon: wifiSVG,
75
- },
76
- {
77
- value: 2,
78
- label: "Ethernet",
79
- icon: ethernetSVG,
80
- },
81
- {
82
- value: 3,
83
- label: "3G Mobile",
84
- icon: gMobileSVG,
85
- },
86
- ];
87
- const twoOptions = [
88
- {
89
- value: 1,
90
- label: "Facebook",
91
- },
92
- {
93
- value: 2,
94
- label: "Twitter",
95
- },
96
- ];
97
- export const Chromatic = () => (
98
- <>
99
- <ExampleContainer>
100
- <Title title="Basic toggle group" theme="light" level={4} />
101
- <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />
102
- </ExampleContainer>
103
- <ExampleContainer>
104
- <Title title="Selected" theme="light" level={4} />
105
- <DxcToggleGroup label="Selected" helperText="HelperText" value={2} options={options} />
106
- </ExampleContainer>
107
- <ExampleContainer>
108
- <Title title="Icons toggle group" theme="light" level={4} />
109
- <DxcToggleGroup label="Icons group" options={optionsWithIcon} />
110
- </ExampleContainer>
111
- <ExampleContainer>
112
- <Title title="Icons & label toggle group" theme="light" level={4} />
113
- <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
114
- </ExampleContainer>
115
- <ExampleContainer>
116
- <Title title="Disabled" theme="light" level={4} />
117
- <DxcToggleGroup label="Disabled" value={2} options={options} disabled />
118
- </ExampleContainer>
119
- <ExampleContainer pseudoState="pseudo-hover">
120
- <Title title="Hovered" theme="light" level={4} />
121
- <DxcToggleGroup label="Hovered" options={twoOptions} value={2} />
122
- </ExampleContainer>
123
- <ExampleContainer>
124
- <Title title="Multiple toggleGroup" theme="light" level={4} />
125
- <DxcToggleGroup
126
- label="Toggle group"
127
- helperText="Please select one or more"
128
- options={options}
129
- value={[1, 3]}
130
- multiple
131
- ></DxcToggleGroup>
132
- </ExampleContainer>
133
- <Title title="Margins" theme="light" level={2} />
134
- <ExampleContainer>
135
- <Title title="xxSmall" theme="light" level={4} />
136
- <DxcToggleGroup label="xxSmall margin" options={options} margin="xxsmall" />
137
- </ExampleContainer>
138
- <ExampleContainer>
139
- <Title title="xSmall" theme="light" level={4} />
140
- <DxcToggleGroup label="xSmall margin" options={options} margin="xsmall" />
141
- </ExampleContainer>
142
- <ExampleContainer>
143
- <Title title="Small" theme="light" level={4} />
144
- <DxcToggleGroup label="Small margin" options={options} margin="small" />
145
- </ExampleContainer>
146
- <ExampleContainer>
147
- <Title title="Medium" theme="light" level={4} />
148
- <DxcToggleGroup label="Medium margin" options={options} margin="medium" />
149
- </ExampleContainer>
150
- <ExampleContainer>
151
- <Title title="Large" theme="light" level={4} />
152
- <DxcToggleGroup label="Large margin" options={options} margin="large" />
153
- </ExampleContainer>
154
- <ExampleContainer>
155
- <Title title="xLarge" theme="light" level={4} />
156
- <DxcToggleGroup label="xLarge margin" options={options} margin="xlarge" />
157
- </ExampleContainer>
158
- <ExampleContainer>
159
- <Title title="xxLarge" theme="light" level={4} />
160
- <DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
161
- </ExampleContainer>
162
- </>
163
- );
164
- const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
165
-
166
- export const ToggleGroupSelectedActived = OptionSelected.bind({});
167
- ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
168
- const canvas = within(canvasElement);
169
- const option = canvas.getByText("Linkedin");
170
- await userEvent.click(option);
171
- };
172
- export const ToggleGroupUnselectedActived = OptionSelected.bind({});
173
- ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
174
- const canvas = within(canvasElement);
175
- const option = canvas.getByText("Twitter");
176
- await userEvent.click(option);
177
- userEvent.tab();
178
- };