@dxc-technology/halstack-react 0.0.0-b061aa1 → 0.0.0-b08b8e8

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 (227) hide show
  1. package/README.md +46 -0
  2. package/dist/index.d.mts +3914 -0
  3. package/dist/index.d.ts +3914 -0
  4. package/dist/index.js +14224 -0
  5. package/dist/index.mjs +14136 -0
  6. package/package.json +86 -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/AccordionGroup.stories.tsx +0 -225
  20. package/accordion-group/types.d.ts +0 -72
  21. package/accordion-group/types.js +0 -5
  22. package/alert/Alert.d.ts +0 -4
  23. package/alert/Alert.js +0 -290
  24. package/alert/Alert.stories.tsx +0 -170
  25. package/alert/types.d.ts +0 -49
  26. package/alert/types.js +0 -5
  27. package/badge/Badge.js +0 -59
  28. package/box/Box.d.ts +0 -4
  29. package/box/Box.js +0 -126
  30. package/box/Box.stories.tsx +0 -132
  31. package/box/types.d.ts +0 -43
  32. package/box/types.js +0 -5
  33. package/button/Button.d.ts +0 -4
  34. package/button/Button.js +0 -179
  35. package/button/Button.stories.tsx +0 -276
  36. package/button/types.d.ts +0 -57
  37. package/button/types.js +0 -5
  38. package/card/Card.d.ts +0 -4
  39. package/card/Card.js +0 -164
  40. package/card/Card.stories.tsx +0 -201
  41. package/card/ice-cream.jpg +0 -0
  42. package/card/types.d.ts +0 -67
  43. package/card/types.js +0 -5
  44. package/checkbox/Checkbox.d.ts +0 -4
  45. package/checkbox/Checkbox.js +0 -253
  46. package/checkbox/Checkbox.stories.tsx +0 -192
  47. package/checkbox/types.d.ts +0 -60
  48. package/checkbox/types.js +0 -5
  49. package/chip/Chip.d.ts +0 -4
  50. package/chip/Chip.js +0 -199
  51. package/chip/Chip.stories.tsx +0 -121
  52. package/chip/types.d.ts +0 -53
  53. package/chip/types.js +0 -5
  54. package/common/OpenSans.css +0 -81
  55. package/common/RequiredComponent.js +0 -32
  56. package/common/fonts/OpenSans-Bold.ttf +0 -0
  57. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  58. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  59. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  60. package/common/fonts/OpenSans-Italic.ttf +0 -0
  61. package/common/fonts/OpenSans-Light.ttf +0 -0
  62. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  63. package/common/fonts/OpenSans-Regular.ttf +0 -0
  64. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  65. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  66. package/common/utils.js +0 -22
  67. package/common/variables.js +0 -1578
  68. package/date/Date.js +0 -373
  69. package/date/index.d.ts +0 -27
  70. package/date-input/DateInput.d.ts +0 -4
  71. package/date-input/DateInput.js +0 -361
  72. package/date-input/DateInput.stories.tsx +0 -138
  73. package/date-input/types.d.ts +0 -100
  74. package/date-input/types.js +0 -5
  75. package/dialog/Dialog.d.ts +0 -4
  76. package/dialog/Dialog.js +0 -165
  77. package/dialog/Dialog.stories.tsx +0 -212
  78. package/dialog/types.d.ts +0 -43
  79. package/dialog/types.js +0 -5
  80. package/dropdown/Dropdown.d.ts +0 -4
  81. package/dropdown/Dropdown.js +0 -417
  82. package/dropdown/types.d.ts +0 -89
  83. package/dropdown/types.js +0 -5
  84. package/file-input/FileInput.d.ts +0 -4
  85. package/file-input/FileInput.js +0 -511
  86. package/file-input/FileItem.d.ts +0 -14
  87. package/file-input/FileItem.js +0 -184
  88. package/file-input/types.d.ts +0 -87
  89. package/file-input/types.js +0 -5
  90. package/footer/Footer.d.ts +0 -4
  91. package/footer/Footer.js +0 -266
  92. package/footer/Footer.stories.jsx +0 -151
  93. package/footer/Icons.js +0 -77
  94. package/footer/types.d.ts +0 -69
  95. package/footer/types.js +0 -5
  96. package/header/Header.d.ts +0 -7
  97. package/header/Header.js +0 -324
  98. package/header/Header.stories.tsx +0 -162
  99. package/header/Icons.js +0 -34
  100. package/header/types.d.ts +0 -47
  101. package/header/types.js +0 -5
  102. package/heading/Heading.d.ts +0 -4
  103. package/heading/Heading.js +0 -159
  104. package/heading/Heading.stories.tsx +0 -53
  105. package/heading/types.d.ts +0 -33
  106. package/heading/types.js +0 -5
  107. package/input-text/Icons.js +0 -22
  108. package/input-text/InputText.js +0 -611
  109. package/input-text/index.d.ts +0 -36
  110. package/layout/ApplicationLayout.d.ts +0 -10
  111. package/layout/ApplicationLayout.js +0 -224
  112. package/layout/Icons.js +0 -55
  113. package/layout/types.d.ts +0 -57
  114. package/layout/types.js +0 -5
  115. package/link/Link.d.ts +0 -3
  116. package/link/Link.js +0 -161
  117. package/link/Link.stories.tsx +0 -146
  118. package/link/types.d.ts +0 -74
  119. package/link/types.js +0 -5
  120. package/main.d.ts +0 -44
  121. package/main.js +0 -363
  122. package/number-input/NumberInput.d.ts +0 -4
  123. package/number-input/NumberInput.js +0 -86
  124. package/number-input/NumberInput.stories.tsx +0 -115
  125. package/number-input/NumberInputContext.d.ts +0 -4
  126. package/number-input/NumberInputContext.js +0 -19
  127. package/number-input/numberInputContextTypes.d.ts +0 -19
  128. package/number-input/numberInputContextTypes.js +0 -5
  129. package/number-input/types.d.ts +0 -117
  130. package/number-input/types.js +0 -5
  131. package/paginator/Icons.js +0 -66
  132. package/paginator/Paginator.d.ts +0 -4
  133. package/paginator/Paginator.js +0 -198
  134. package/paginator/Paginator.stories.tsx +0 -63
  135. package/paginator/types.d.ts +0 -38
  136. package/paginator/types.js +0 -5
  137. package/password-input/PasswordInput.d.ts +0 -4
  138. package/password-input/PasswordInput.js +0 -164
  139. package/password-input/PasswordInput.stories.tsx +0 -131
  140. package/password-input/types.d.ts +0 -107
  141. package/password-input/types.js +0 -5
  142. package/progress-bar/ProgressBar.d.ts +0 -4
  143. package/progress-bar/ProgressBar.js +0 -170
  144. package/progress-bar/ProgressBar.stories.jsx +0 -58
  145. package/progress-bar/types.d.ts +0 -37
  146. package/progress-bar/types.js +0 -5
  147. package/radio/Radio.d.ts +0 -4
  148. package/radio/Radio.js +0 -174
  149. package/radio/Radio.stories.tsx +0 -192
  150. package/radio/types.d.ts +0 -54
  151. package/radio/types.js +0 -5
  152. package/resultsetTable/ResultsetTable.d.ts +0 -4
  153. package/resultsetTable/ResultsetTable.js +0 -251
  154. package/resultsetTable/types.d.ts +0 -67
  155. package/resultsetTable/types.js +0 -5
  156. package/select/Select.js +0 -865
  157. package/select/Select.stories.tsx +0 -572
  158. package/select/index.d.ts +0 -131
  159. package/sidenav/Sidenav.d.ts +0 -9
  160. package/sidenav/Sidenav.js +0 -136
  161. package/sidenav/Sidenav.stories.tsx +0 -165
  162. package/sidenav/types.d.ts +0 -50
  163. package/sidenav/types.js +0 -5
  164. package/slider/Slider.d.ts +0 -4
  165. package/slider/Slider.js +0 -317
  166. package/slider/Slider.stories.tsx +0 -177
  167. package/slider/types.d.ts +0 -78
  168. package/slider/types.js +0 -5
  169. package/spinner/Spinner.d.ts +0 -4
  170. package/spinner/Spinner.js +0 -250
  171. package/spinner/Spinner.stories.jsx +0 -102
  172. package/spinner/types.d.ts +0 -32
  173. package/spinner/types.js +0 -5
  174. package/switch/Switch.d.ts +0 -4
  175. package/switch/Switch.js +0 -179
  176. package/switch/Switch.stories.tsx +0 -160
  177. package/switch/types.d.ts +0 -58
  178. package/switch/types.js +0 -5
  179. package/table/Table.d.ts +0 -4
  180. package/table/Table.js +0 -118
  181. package/table/Table.stories.jsx +0 -276
  182. package/table/types.d.ts +0 -21
  183. package/table/types.js +0 -5
  184. package/tabs/Tabs.d.ts +0 -4
  185. package/tabs/Tabs.js +0 -213
  186. package/tabs/Tabs.stories.tsx +0 -121
  187. package/tabs/types.d.ts +0 -70
  188. package/tabs/types.js +0 -5
  189. package/tag/Tag.d.ts +0 -4
  190. package/tag/Tag.js +0 -193
  191. package/tag/Tag.stories.tsx +0 -145
  192. package/tag/types.d.ts +0 -60
  193. package/tag/types.js +0 -5
  194. package/text-input/TextInput.d.ts +0 -4
  195. package/text-input/TextInput.js +0 -788
  196. package/text-input/TextInput.stories.tsx +0 -456
  197. package/text-input/types.d.ts +0 -159
  198. package/text-input/types.js +0 -5
  199. package/textarea/Textarea.js +0 -316
  200. package/textarea/Textarea.stories.jsx +0 -135
  201. package/textarea/index.d.ts +0 -127
  202. package/toggle/Toggle.js +0 -186
  203. package/toggle/index.d.ts +0 -21
  204. package/toggle-group/ToggleGroup.d.ts +0 -4
  205. package/toggle-group/ToggleGroup.js +0 -217
  206. package/toggle-group/ToggleGroup.stories.tsx +0 -178
  207. package/toggle-group/types.d.ts +0 -84
  208. package/toggle-group/types.js +0 -5
  209. package/upload/Upload.js +0 -201
  210. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  211. package/upload/buttons-upload/Icons.js +0 -40
  212. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  213. package/upload/dragAndDropArea/Icons.js +0 -39
  214. package/upload/file-upload/FileToUpload.js +0 -115
  215. package/upload/file-upload/Icons.js +0 -66
  216. package/upload/files-upload/FilesToUpload.js +0 -109
  217. package/upload/index.d.ts +0 -15
  218. package/upload/transaction/Icons.js +0 -160
  219. package/upload/transaction/Transaction.js +0 -104
  220. package/upload/transactions/Transactions.js +0 -94
  221. package/useTheme.js +0 -22
  222. package/wizard/Icons.js +0 -65
  223. package/wizard/Wizard.d.ts +0 -4
  224. package/wizard/Wizard.js +0 -231
  225. package/wizard/Wizard.stories.jsx +0 -224
  226. package/wizard/types.d.ts +0 -64
  227. 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
- };