@dxc-technology/halstack-react 0.0.0-099fc65 → 0.0.0-0a4df06

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 (224) hide show
  1. package/README.md +46 -0
  2. package/dist/index.d.mts +3906 -0
  3. package/dist/index.d.ts +3906 -0
  4. package/dist/index.js +14363 -0
  5. package/dist/index.mjs +14275 -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.js +0 -235
  111. package/layout/Icons.js +0 -55
  112. package/link/Link.d.ts +0 -3
  113. package/link/Link.js +0 -161
  114. package/link/Link.stories.tsx +0 -146
  115. package/link/types.d.ts +0 -74
  116. package/link/types.js +0 -5
  117. package/main.d.ts +0 -44
  118. package/main.js +0 -363
  119. package/number-input/NumberInput.d.ts +0 -4
  120. package/number-input/NumberInput.js +0 -86
  121. package/number-input/NumberInput.stories.tsx +0 -115
  122. package/number-input/NumberInputContext.d.ts +0 -4
  123. package/number-input/NumberInputContext.js +0 -19
  124. package/number-input/numberInputContextTypes.d.ts +0 -19
  125. package/number-input/numberInputContextTypes.js +0 -5
  126. package/number-input/types.d.ts +0 -117
  127. package/number-input/types.js +0 -5
  128. package/paginator/Icons.js +0 -66
  129. package/paginator/Paginator.d.ts +0 -4
  130. package/paginator/Paginator.js +0 -198
  131. package/paginator/Paginator.stories.tsx +0 -63
  132. package/paginator/types.d.ts +0 -38
  133. package/paginator/types.js +0 -5
  134. package/password-input/PasswordInput.d.ts +0 -4
  135. package/password-input/PasswordInput.js +0 -164
  136. package/password-input/PasswordInput.stories.tsx +0 -131
  137. package/password-input/types.d.ts +0 -107
  138. package/password-input/types.js +0 -5
  139. package/progress-bar/ProgressBar.d.ts +0 -4
  140. package/progress-bar/ProgressBar.js +0 -170
  141. package/progress-bar/ProgressBar.stories.jsx +0 -58
  142. package/progress-bar/types.d.ts +0 -37
  143. package/progress-bar/types.js +0 -5
  144. package/radio/Radio.d.ts +0 -4
  145. package/radio/Radio.js +0 -174
  146. package/radio/Radio.stories.tsx +0 -192
  147. package/radio/types.d.ts +0 -54
  148. package/radio/types.js +0 -5
  149. package/resultsetTable/ResultsetTable.d.ts +0 -4
  150. package/resultsetTable/ResultsetTable.js +0 -251
  151. package/resultsetTable/types.d.ts +0 -67
  152. package/resultsetTable/types.js +0 -5
  153. package/select/Select.js +0 -865
  154. package/select/Select.stories.tsx +0 -572
  155. package/select/index.d.ts +0 -131
  156. package/sidenav/Sidenav.d.ts +0 -9
  157. package/sidenav/Sidenav.js +0 -136
  158. package/sidenav/Sidenav.stories.tsx +0 -165
  159. package/sidenav/types.d.ts +0 -50
  160. package/sidenav/types.js +0 -5
  161. package/slider/Slider.d.ts +0 -4
  162. package/slider/Slider.js +0 -317
  163. package/slider/Slider.stories.tsx +0 -177
  164. package/slider/types.d.ts +0 -78
  165. package/slider/types.js +0 -5
  166. package/spinner/Spinner.d.ts +0 -4
  167. package/spinner/Spinner.js +0 -250
  168. package/spinner/Spinner.stories.jsx +0 -102
  169. package/spinner/types.d.ts +0 -32
  170. package/spinner/types.js +0 -5
  171. package/switch/Switch.d.ts +0 -4
  172. package/switch/Switch.js +0 -179
  173. package/switch/Switch.stories.tsx +0 -160
  174. package/switch/types.d.ts +0 -58
  175. package/switch/types.js +0 -5
  176. package/table/Table.d.ts +0 -4
  177. package/table/Table.js +0 -118
  178. package/table/Table.stories.jsx +0 -276
  179. package/table/types.d.ts +0 -21
  180. package/table/types.js +0 -5
  181. package/tabs/Tabs.d.ts +0 -4
  182. package/tabs/Tabs.js +0 -213
  183. package/tabs/Tabs.stories.tsx +0 -121
  184. package/tabs/types.d.ts +0 -70
  185. package/tabs/types.js +0 -5
  186. package/tag/Tag.d.ts +0 -4
  187. package/tag/Tag.js +0 -193
  188. package/tag/Tag.stories.tsx +0 -145
  189. package/tag/types.d.ts +0 -60
  190. package/tag/types.js +0 -5
  191. package/text-input/TextInput.d.ts +0 -4
  192. package/text-input/TextInput.js +0 -786
  193. package/text-input/TextInput.stories.tsx +0 -456
  194. package/text-input/types.d.ts +0 -159
  195. package/text-input/types.js +0 -5
  196. package/textarea/Textarea.js +0 -316
  197. package/textarea/Textarea.stories.jsx +0 -135
  198. package/textarea/index.d.ts +0 -127
  199. package/toggle/Toggle.js +0 -186
  200. package/toggle/index.d.ts +0 -21
  201. package/toggle-group/ToggleGroup.d.ts +0 -4
  202. package/toggle-group/ToggleGroup.js +0 -217
  203. package/toggle-group/ToggleGroup.stories.tsx +0 -178
  204. package/toggle-group/types.d.ts +0 -84
  205. package/toggle-group/types.js +0 -5
  206. package/upload/Upload.js +0 -201
  207. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  208. package/upload/buttons-upload/Icons.js +0 -40
  209. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  210. package/upload/dragAndDropArea/Icons.js +0 -39
  211. package/upload/file-upload/FileToUpload.js +0 -115
  212. package/upload/file-upload/Icons.js +0 -66
  213. package/upload/files-upload/FilesToUpload.js +0 -109
  214. package/upload/index.d.ts +0 -15
  215. package/upload/transaction/Icons.js +0 -160
  216. package/upload/transaction/Transaction.js +0 -104
  217. package/upload/transactions/Transactions.js +0 -94
  218. package/useTheme.js +0 -22
  219. package/wizard/Icons.js +0 -65
  220. package/wizard/Wizard.d.ts +0 -4
  221. package/wizard/Wizard.js +0 -231
  222. package/wizard/Wizard.stories.jsx +0 -224
  223. package/wizard/types.d.ts +0 -64
  224. 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
- };