@dxc-technology/halstack-react 0.0.0-2bcc6e9 → 0.0.0-2ea264d

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 (116) hide show
  1. package/dist/ThemeContext.js +131 -99
  2. package/dist/V3Textarea/V3Textarea.js +264 -0
  3. package/dist/accordion/Accordion.js +72 -59
  4. package/dist/accordion-group/AccordionGroup.js +1 -3
  5. package/dist/alert/Alert.js +126 -111
  6. package/dist/alert/index.d.ts +51 -0
  7. package/dist/box/Box.js +1 -11
  8. package/dist/button/Button.js +30 -20
  9. package/dist/checkbox/Checkbox.js +30 -21
  10. package/dist/chip/Chip.js +21 -25
  11. package/dist/common/variables.js +967 -553
  12. package/dist/date/Date.js +13 -15
  13. package/dist/date-input/DateInput.js +400 -0
  14. package/dist/date-input/index.d.ts +95 -0
  15. package/dist/dialog/Dialog.js +15 -32
  16. package/dist/dropdown/Dropdown.js +123 -71
  17. package/dist/file-input/FileInput.js +644 -0
  18. package/dist/file-input/FileItem.js +280 -0
  19. package/dist/file-input/index.d.ts +81 -0
  20. package/dist/footer/Footer.js +69 -53
  21. package/dist/footer/Icons.js +77 -0
  22. package/dist/header/Header.js +89 -86
  23. package/dist/header/Icons.js +59 -0
  24. package/dist/heading/Heading.js +1 -5
  25. package/dist/input-text/InputText.js +96 -58
  26. package/dist/layout/ApplicationLayout.js +1 -1
  27. package/dist/link/Link.js +23 -26
  28. package/dist/main.d.ts +8 -0
  29. package/dist/main.js +62 -6
  30. package/dist/new-select/NewSelect.js +836 -0
  31. package/dist/new-select/index.d.ts +53 -0
  32. package/dist/number-input/NumberInput.js +136 -0
  33. package/dist/number-input/NumberInputContext.js +16 -0
  34. package/dist/number-input/index.d.ts +113 -0
  35. package/dist/paginator/Paginator.js +10 -4
  36. package/dist/password-input/PasswordInput.js +198 -0
  37. package/dist/password-input/index.d.ts +94 -0
  38. package/dist/progress-bar/ProgressBar.js +63 -27
  39. package/dist/resultsetTable/ResultsetTable.js +5 -22
  40. package/dist/select/Select.js +189 -185
  41. package/dist/sidenav/Sidenav.js +11 -15
  42. package/dist/slider/Slider.js +141 -62
  43. package/dist/spinner/Spinner.js +225 -58
  44. package/dist/table/Table.js +6 -2
  45. package/dist/tag/Tag.js +38 -36
  46. package/dist/text-input/TextInput.js +971 -0
  47. package/dist/text-input/index.d.ts +135 -0
  48. package/dist/textarea/Textarea.js +233 -124
  49. package/dist/textarea/index.d.ts +117 -0
  50. package/dist/toggle-group/ToggleGroup.js +130 -44
  51. package/dist/upload/Upload.js +3 -3
  52. package/dist/upload/buttons-upload/ButtonsUpload.js +5 -1
  53. package/dist/upload/dragAndDropArea/DragAndDropArea.js +10 -6
  54. package/dist/upload/file-upload/FileToUpload.js +1 -1
  55. package/dist/upload/readme.md +2 -2
  56. package/dist/upload/transaction/Transaction.js +12 -8
  57. package/dist/upload/transactions/Transactions.js +11 -11
  58. package/dist/wizard/Wizard.js +13 -13
  59. package/dist/wizard/invalid_icon.svg +4 -5
  60. package/dist/wizard/valid_icon.svg +4 -5
  61. package/package.json +4 -2
  62. package/test/Date.test.js +48 -44
  63. package/test/DateInput.test.js +242 -0
  64. package/test/Dropdown.test.js +15 -0
  65. package/test/FileInput.test.js +201 -0
  66. package/test/Footer.test.js +2 -7
  67. package/test/Header.test.js +5 -10
  68. package/test/InputText.test.js +24 -16
  69. package/test/NumberInput.test.js +259 -0
  70. package/test/Paginator.test.js +1 -1
  71. package/test/PasswordInput.test.js +83 -0
  72. package/test/ResultsetTable.test.js +1 -2
  73. package/test/Select.test.js +44 -24
  74. package/test/Spinner.test.js +5 -0
  75. package/test/TextInput.test.js +732 -0
  76. package/test/Textarea.test.js +193 -0
  77. package/test/ToggleGroup.test.js +5 -1
  78. package/test/Upload.test.js +5 -5
  79. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  80. package/dist/accordion/Accordion.stories.js +0 -207
  81. package/dist/accordion/readme.md +0 -96
  82. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  83. package/dist/accordion-group/readme.md +0 -70
  84. package/dist/alert/Alert.stories.js +0 -158
  85. package/dist/alert/close.svg +0 -4
  86. package/dist/alert/error.svg +0 -4
  87. package/dist/alert/info.svg +0 -4
  88. package/dist/alert/readme.md +0 -43
  89. package/dist/alert/success.svg +0 -4
  90. package/dist/alert/warning.svg +0 -4
  91. package/dist/button/Button.stories.js +0 -224
  92. package/dist/button/readme.md +0 -93
  93. package/dist/dialog/Dialog.stories.js +0 -217
  94. package/dist/dialog/readme.md +0 -32
  95. package/dist/dropdown/Dropdown.stories.js +0 -249
  96. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  97. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  98. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  99. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  100. package/dist/dropdown/readme.md +0 -69
  101. package/dist/footer/Footer.stories.js +0 -94
  102. package/dist/footer/dxc_logo_wht.png +0 -0
  103. package/dist/footer/readme.md +0 -41
  104. package/dist/header/Header.stories.js +0 -176
  105. package/dist/header/close_icon.svg +0 -1
  106. package/dist/header/dxc_logo_black.png +0 -0
  107. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  108. package/dist/header/dxc_logo_white.png +0 -0
  109. package/dist/header/hamb_menu_black.svg +0 -1
  110. package/dist/header/hamb_menu_white.svg +0 -1
  111. package/dist/header/readme.md +0 -33
  112. package/dist/input-text/InputText.stories.js +0 -209
  113. package/dist/select/Select.stories.js +0 -235
  114. package/dist/select/readme.md +0 -72
  115. package/dist/slider/Slider.stories.js +0 -241
  116. package/dist/toggle-group/readme.md +0 -82
@@ -0,0 +1,117 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ /**
12
+ * Text to be placed above the textarea.
13
+ */
14
+ label?: string;
15
+ /**
16
+ * Name attribute of the textarea element.
17
+ */
18
+ name?: string;
19
+ /**
20
+ * Value of the textarea. If undefined, the component will be uncontrolled and the value will be managed internally.
21
+ */
22
+ value?: string;
23
+ /**
24
+ * Helper text to be placed above the textarea.
25
+ */
26
+ helperText?: string;
27
+ /**
28
+ * Text to be put as placeholder of the textarea.
29
+ */
30
+ placeholder?: string;
31
+ /**
32
+ * If true, the component will be disabled.
33
+ */
34
+ disabled?: boolean;
35
+ /**
36
+ * If true, the textarea will be optional, showing '(Optional)'
37
+ * next to the label. Otherwise, the field will be considered required
38
+ * and an error will be passed as a parameter to the OnBlur and onChange functions
39
+ * when it has not been filled.
40
+ */
41
+ optional?: boolean;
42
+ /**
43
+ * Defines the textarea's ability to resize vertically. It can be:
44
+ * - 'auto': The textarea grows or shrinks automatically in order to fit the content.
45
+ * - 'manual': The height of the textarea is enabled to be manually modified.
46
+ * - 'none': The textarea has a fixed height and can't be modified.
47
+ */
48
+ verticalGrow?: "auto" | "manual" | "none";
49
+ /**
50
+ * Number of rows of the textarea.
51
+ */
52
+ rows?: number;
53
+ /**
54
+ * This function will be called when the user types within the textarea.
55
+ * An object including the current value and the error (if the value
56
+ * entered is not valid) will be passed to this function.
57
+ * If there is no error, error will be null.
58
+ */
59
+ onChange?: (val: { value: string; error: string }) => void;
60
+ /**
61
+ * This function will be called when the textarea loses the focus. An
62
+ * object including the textarea value and the error (if the value entered
63
+ * is not valid) will be passed to this function. If there is no error,
64
+ * error will be null.
65
+ */
66
+ onBlur?: (val: { value: string; error: string }) => void;
67
+ /**
68
+ * If it is defined, the component will change its appearance, showing
69
+ * the error below the textarea. If it is not defined, the error
70
+ * messages will be managed internally, but never displayed on its own.
71
+ */
72
+ error?: string;
73
+ /**
74
+ * Regular expression that defines the valid format allowed by the
75
+ * textarea. This will be checked both when the textarea loses the focus
76
+ * and while typing within it. If the string entered does not match the
77
+ * pattern, the onBlur and onChange functions will be called with the
78
+ * current value and an internal error informing that this value does not
79
+ * match the pattern. If the pattern is met, the error parameter of both
80
+ * events will be null.
81
+ */
82
+ pattern?: string;
83
+ /**
84
+ * Specifies the minimun and maximum length allowed by the textarea.
85
+ * This will be checked both when the textarea loses the
86
+ * focus and while typing within it. If the string entered does not
87
+ * comply the length, the onBlur and onChange functions will be called
88
+ * with the current value and an internal error informing that the value
89
+ * length does not comply the specified range. If a valid length is
90
+ * reached, the error parameter of both events will be null.
91
+ */
92
+ length?: { min: number; max: number };
93
+ /**
94
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the textarea value.
95
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
96
+ */
97
+ autocomplete?: string;
98
+ /**
99
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
100
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
101
+ */
102
+ margin?: Space | Margin;
103
+ /**
104
+ * Size of the component ('small' | 'medium' | 'large' | 'fillParent').
105
+ */
106
+ size?: Size;
107
+ /**
108
+ * Value of the tabindex attribute.
109
+ */
110
+ tabIndex?: number;
111
+ /**
112
+ * Reference to the component.
113
+ */
114
+ ref?: React.RefObject<HTMLDivElement>;
115
+ };
116
+
117
+ export default function DxcTextarea(props: Props): JSX.Element;
@@ -21,14 +21,46 @@ var _react = _interopRequireWildcard(require("react"));
21
21
 
22
22
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
23
 
24
+ var _uuid = require("uuid");
25
+
24
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
27
 
26
28
  var _variables = require("../common/variables.js");
27
29
 
28
30
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
31
 
32
+ function _templateObject9() {
33
+ var data = (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"]);
34
+
35
+ _templateObject9 = function _templateObject9() {
36
+ return data;
37
+ };
38
+
39
+ return data;
40
+ }
41
+
42
+ function _templateObject8() {
43
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 24px;\n width: 24px;\n margin-right: ", ";\n"]);
44
+
45
+ _templateObject8 = function _templateObject8() {
46
+ return data;
47
+ };
48
+
49
+ return data;
50
+ }
51
+
52
+ function _templateObject7() {
53
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n"]);
54
+
55
+ _templateObject7 = function _templateObject7() {
56
+ return data;
57
+ };
58
+
59
+ return data;
60
+ }
61
+
30
62
  function _templateObject6() {
31
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
63
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
32
64
 
33
65
  _templateObject6 = function _templateObject6() {
34
66
  return data;
@@ -38,7 +70,7 @@ function _templateObject6() {
38
70
  }
39
71
 
40
72
  function _templateObject5() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n"]);
73
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"]);
42
74
 
43
75
  _templateObject5 = function _templateObject5() {
44
76
  return data;
@@ -48,7 +80,7 @@ function _templateObject5() {
48
80
  }
49
81
 
50
82
  function _templateObject4() {
51
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n letter-spacing: ", ";\n"]);
83
+ var data = (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"]);
52
84
 
53
85
  _templateObject4 = function _templateObject4() {
54
86
  return data;
@@ -58,7 +90,7 @@ function _templateObject4() {
58
90
  }
59
91
 
60
92
  function _templateObject3() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n ", "\n"]);
93
+ var data = (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"]);
62
94
 
63
95
  _templateObject3 = function _templateObject3() {
64
96
  return data;
@@ -68,7 +100,7 @@ function _templateObject3() {
68
100
  }
69
101
 
70
102
  function _templateObject2() {
71
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"]);
103
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
72
104
 
73
105
  _templateObject2 = function _templateObject2() {
74
106
  return data;
@@ -78,7 +110,7 @@ function _templateObject2() {
78
110
  }
79
111
 
80
112
  function _templateObject() {
81
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: flex;\n flex-direction: column;\n opacity: 1;\n"]);
113
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
82
114
 
83
115
  _templateObject = function _templateObject() {
84
116
  return data;
@@ -88,7 +120,9 @@ function _templateObject() {
88
120
  }
89
121
 
90
122
  var DxcToggleGroup = function DxcToggleGroup(_ref) {
91
- var value = _ref.value,
123
+ var label = _ref.label,
124
+ helperText = _ref.helperText,
125
+ value = _ref.value,
92
126
  onChange = _ref.onChange,
93
127
  _ref$disabled = _ref.disabled,
94
128
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
@@ -106,6 +140,10 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
106
140
  selectedValue = _useState2[0],
107
141
  setSelectedValue = _useState2[1];
108
142
 
143
+ var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
144
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
145
+ toggleGroupId = _useState4[0];
146
+
109
147
  var handleToggleChange = function handleToggleChange(selectedOption) {
110
148
  var newSelectedOptions;
111
149
 
@@ -123,27 +161,25 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
123
161
  }
124
162
 
125
163
  setSelectedValue(newSelectedOptions);
126
- } else {
127
- setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
128
- }
164
+ } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
129
165
  } else if (multiple) {
130
166
  newSelectedOptions = value.map(function (v) {
131
167
  return v;
132
168
  });
133
- newSelectedOptions.push(selectedOption);
134
- }
135
169
 
136
- if (typeof onChange === "function") {
137
- onChange(multiple ? newSelectedOptions : selectedOption);
170
+ if (newSelectedOptions.includes(selectedOption)) {
171
+ var _index = newSelectedOptions.indexOf(selectedOption);
172
+
173
+ newSelectedOptions.splice(_index, 1);
174
+ } else newSelectedOptions.push(selectedOption);
138
175
  }
176
+
177
+ typeof onChange === "function" && onChange(multiple ? newSelectedOptions : selectedOption);
139
178
  };
140
179
 
141
180
  var handleKeyPress = function handleKeyPress(event, optionValue) {
142
181
  event.preventDefault();
143
-
144
- if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) {
145
- handleToggleChange(optionValue);
146
- }
182
+ if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
147
183
  };
148
184
 
149
185
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
@@ -151,9 +187,19 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
151
187
  }, _react["default"].createElement(ToggleGroup, {
152
188
  margin: margin,
153
189
  disabled: disabled
154
- }, _react["default"].createElement(ToggleGroupContainer, null, options.map(function (option, i) {
190
+ }, _react["default"].createElement(Label, {
191
+ htmlFor: toggleGroupId,
192
+ disabled: disabled
193
+ }, label), _react["default"].createElement(HelperText, {
194
+ disabled: disabled
195
+ }, helperText), _react["default"].createElement(OptionsContainer, {
196
+ id: toggleGroupId,
197
+ role: multiple ? "group" : "radiogroup"
198
+ }, options.map(function (option, i) {
155
199
  return _react["default"].createElement(ToggleContainer, {
156
200
  selected: multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
201
+ role: multiple ? "switch" : "radio",
202
+ "aria-checked": multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
157
203
  tabIndex: !disabled ? tabIndex : -1,
158
204
  onClick: function onClick() {
159
205
  return !disabled && handleToggleChange(option.value);
@@ -161,20 +207,50 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
161
207
  isFirst: i === 0,
162
208
  isLast: i === options.length - 1,
163
209
  isIcon: option.iconSrc || option.icon,
210
+ optionLabel: option.label,
164
211
  disabled: disabled,
165
212
  onKeyPress: function onKeyPress(event) {
166
213
  handleKeyPress(event, option.value);
167
214
  },
168
215
  key: "toggle-".concat(i, "-").concat(option.label)
169
- }, option.icon ? _react["default"].createElement(IconContainer, null, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc ? _react["default"].createElement(Icon, {
170
- src: option.iconSrc
171
- }) : _react["default"].createElement(LabelContainer, {
172
- disabled: disabled
173
- }, option.label));
216
+ }, _react["default"].createElement(OptionContent, null, option.icon && _react["default"].createElement(IconContainer, {
217
+ optionLabel: option.label
218
+ }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)), option.iconSrc && _react["default"].createElement(Icon, {
219
+ src: option.iconSrc,
220
+ optionLabel: option.label
221
+ }), option.label && _react["default"].createElement(LabelContainer, null, option.label)));
174
222
  }))));
175
223
  };
176
224
 
177
- var ToggleGroup = _styledComponents["default"].div(_templateObject(), function (props) {
225
+ var Label = _styledComponents["default"].label(_templateObject(), function (props) {
226
+ return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
227
+ }, function (props) {
228
+ return props.theme.labelFontFamily;
229
+ }, function (props) {
230
+ return props.theme.labelFontSize;
231
+ }, function (props) {
232
+ return props.theme.labelFontStyle;
233
+ }, function (props) {
234
+ return props.theme.labelFontWeight;
235
+ }, function (props) {
236
+ return props.theme.labelLineHeight;
237
+ });
238
+
239
+ var HelperText = _styledComponents["default"].span(_templateObject2(), function (props) {
240
+ return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
241
+ }, function (props) {
242
+ return props.theme.helperTextFontFamily;
243
+ }, function (props) {
244
+ return props.theme.helperTextFontSize;
245
+ }, function (props) {
246
+ return props.theme.helperTextFontStyle;
247
+ }, function (props) {
248
+ return props.theme.helperTextFontWeight;
249
+ }, function (props) {
250
+ return props.theme.helperTextLineHeight;
251
+ });
252
+
253
+ var ToggleGroup = _styledComponents["default"].div(_templateObject3(), function (props) {
178
254
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
179
255
  }, function (props) {
180
256
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -186,39 +262,49 @@ var ToggleGroup = _styledComponents["default"].div(_templateObject(), function (
186
262
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
187
263
  });
188
264
 
189
- var ToggleGroupContainer = _styledComponents["default"].div(_templateObject2());
190
-
191
- var ToggleContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
192
- return "\n background-color: ".concat(props.selected ? props.disabled ? props.theme.disabledSelectedBackgroundColor : props.theme.selectedBackgroundColor : props.disabled ? props.theme.disabledUnselectedBackgroundColor : props.theme.unselectedBackgroundColor, ";\n &:focus {\n outline: ").concat(props.theme.focusColor, " auto 1px;\n }\n border-radius: ").concat(props.isFirst ? "4px 0 0 4px" : props.isLast ? "0 4px 4px 0" : "0", ";\n color: ").concat(props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor, ";\n padding: ").concat(props.isIcon ? "".concat(props.theme.iconPaddingTop, " ").concat(props.theme.iconPaddingRight, " ").concat(props.theme.iconPaddingBottom, " ").concat(props.theme.iconPaddingLeft) : "".concat(props.theme.labelPaddingTop, " ").concat(props.theme.labelPaddingRight, " ").concat(props.theme.labelPaddingBottom, " ").concat(props.theme.labelPaddingLeft), ";\n ").concat(!props.disabled ? "&:hover {\n background-color: ".concat(props.selected ? props.theme.selectedBackgroundHoverColor : props.theme.unselectedBackgroundHoverColor, ";\n color: ").concat(props.selected ? props.theme.selectedHoverFontColor : props.theme.unselectedHoverFontColor, " !important;\n }\n cursor: pointer;") : "color: ".concat(props.selected ? props.theme.disabledSelectedFontColor : props.theme.disabledUnselectedFontColor, " !important;\n cursor: not-allowed;"), "\n ");
193
- });
194
-
195
- var LabelContainer = _styledComponents["default"].span(_templateObject4(), function (props) {
196
- return props.theme.fontFamily;
265
+ var OptionsContainer = _styledComponents["default"].div(_templateObject4(), function (props) {
266
+ return props.theme.containerBorderThickness;
197
267
  }, function (props) {
198
- return props.theme.fontSize;
268
+ return props.theme.containerBorderStyle;
199
269
  }, function (props) {
200
- return props.theme.fontStyle;
270
+ return props.theme.containerBorderRadius;
201
271
  }, function (props) {
202
- return props.theme.fontWeight;
272
+ return props.theme.containerBorderColor;
203
273
  }, function (props) {
204
- return props.theme.fontTextTransform;
274
+ return props.theme.containerBackgroundColor;
205
275
  }, function (props) {
206
- return props.theme.fontLetterSpacing;
276
+ return props.theme.containerMarginTop;
207
277
  });
208
278
 
209
- var Icon = _styledComponents["default"].img(_templateObject5(), function (props) {
210
- return props.theme.iconSize;
279
+ var ToggleContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
280
+ return !props.isLast && "4px";
211
281
  }, function (props) {
212
- return props.theme.iconSize;
282
+ 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 ");
213
283
  });
214
284
 
215
- var IconContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
216
- return props.theme.iconSize;
285
+ var LabelContainer = _styledComponents["default"].span(_templateObject6(), function (props) {
286
+ return props.theme.optionLabelFontFamily;
287
+ }, function (props) {
288
+ return props.theme.optionLabelFontSize;
217
289
  }, function (props) {
218
- return props.theme.iconSize;
290
+ return props.theme.optionLabelFontStyle;
291
+ }, function (props) {
292
+ return props.theme.optionLabelFontWeight;
293
+ });
294
+
295
+ var OptionContent = _styledComponents["default"].div(_templateObject7());
296
+
297
+ var Icon = _styledComponents["default"].img(_templateObject8(), function (props) {
298
+ return props.optionLabel && props.theme.iconMarginRight;
299
+ });
300
+
301
+ var IconContainer = _styledComponents["default"].div(_templateObject9(), function (props) {
302
+ return props.optionLabel && props.theme.iconMarginRight;
219
303
  });
220
304
 
221
305
  DxcToggleGroup.propTypes = {
306
+ label: _propTypes["default"].string,
307
+ helperText: _propTypes["default"].string,
222
308
  value: _propTypes["default"].any,
223
309
  onChange: _propTypes["default"].func,
224
310
  disabled: _propTypes["default"].bool,
@@ -41,7 +41,7 @@ function _templateObject() {
41
41
  return data;
42
42
  }
43
43
 
44
- var DxcUpload = function DxcUpload(_ref) {
44
+ var V3DxcUpload = function V3DxcUpload(_ref) {
45
45
  var callbackUpload = _ref.callbackUpload,
46
46
  margin = _ref.margin,
47
47
  _ref$tabIndex = _ref.tabIndex,
@@ -178,7 +178,7 @@ var DxcUpload = function DxcUpload(_ref) {
178
178
  }));
179
179
  };
180
180
 
181
- DxcUpload.propTypes = {
181
+ V3DxcUpload.propTypes = {
182
182
  callbackUpload: _propTypes["default"].func,
183
183
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
184
184
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
@@ -201,5 +201,5 @@ var DXCUpload = _styledComponents["default"].div(_templateObject(), function (pr
201
201
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
202
202
  });
203
203
 
204
- var _default = DxcUpload;
204
+ var _default = V3DxcUpload;
205
205
  exports["default"] = _default;
@@ -25,6 +25,8 @@ var _dragDropIcon = _interopRequireDefault(require("./drag-drop-icon.svg"));
25
25
 
26
26
  var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
27
27
 
28
+ var _BackgroundColorContext = require("../../BackgroundColorContext.js");
29
+
28
30
  function _templateObject3() {
29
31
  var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n mask: url(", ") no-repeat center;\n mask-size: ", ";\n height: ", ";\n width: ", ";\n margin-right: 5px;\n"]);
30
32
 
@@ -77,6 +79,8 @@ var DxcButtonsUpload = function DxcButtonsUpload(_ref) {
77
79
 
78
80
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
79
81
  theme: colorsTheme.upload
82
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
83
+ color: colorsTheme.upload.backgroundColor
80
84
  }, _react["default"].createElement(DXCButtonsUpload, null, _react["default"].createElement(DragAndDropLabel, null, _react["default"].createElement(DragAndDropIcon, null), "Drag and Drop area"), _react["default"].createElement(_Button["default"], {
81
85
  margin: {
82
86
  right: "small"
@@ -97,7 +101,7 @@ var DxcButtonsUpload = function DxcButtonsUpload(_ref) {
97
101
  iconPosition: "after",
98
102
  iconSrc: _uploadButton["default"],
99
103
  onClick: onUpload
100
- })));
104
+ }))));
101
105
  };
102
106
 
103
107
  DxcButtonsUpload.propTypes = {
@@ -29,6 +29,8 @@ var _Button = _interopRequireDefault(require("../../button/Button"));
29
29
 
30
30
  var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
31
31
 
32
+ var _BackgroundColorContext = require("../../BackgroundColorContext.js");
33
+
32
34
  function _templateObject11() {
33
35
  var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-bottom: 10px;\n"]);
34
36
 
@@ -206,6 +208,8 @@ var DxcDragAndDropArea = function DxcDragAndDropArea(_ref) {
206
208
 
207
209
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
208
210
  theme: colorsTheme.upload
211
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
212
+ color: colorsTheme.upload.backgroundColor
209
213
  }, _react["default"].createElement(DXCDragAndDrop, {
210
214
  onDrop: handleDrop,
211
215
  onDragEnter: handleDragIn,
@@ -237,7 +241,7 @@ var DxcDragAndDropArea = function DxcDragAndDropArea(_ref) {
237
241
  style: {
238
242
  display: "none"
239
243
  }
240
- })))), dragging && _react["default"].createElement(DragAndDropContentHover, null, _react["default"].createElement(DragAndDropTextHover, null, textHover), _react["default"].createElement(DragAndDropIconHover, null))));
244
+ })))), dragging && _react["default"].createElement(DragAndDropContentHover, null, _react["default"].createElement(DragAndDropTextHover, null, textHover), _react["default"].createElement(DragAndDropIconHover, null)))));
241
245
  };
242
246
 
243
247
  DxcDragAndDropArea.propTypes = {
@@ -288,15 +292,15 @@ var DragAndDropDescription = _styledComponents["default"].div(_templateObject7()
288
292
  }, function (props) {
289
293
  return props.theme.dragAndDropDescriptionFontWeight;
290
294
  }, function (props) {
291
- return props.theme.dragAndDropTextDescriptionFontTextTransform;
295
+ return props.theme.dragAndDropDescriptionFontTextTransform;
292
296
  }, function (props) {
293
- return props.theme.dragAndDropTextDescriptionFontColor;
297
+ return props.theme.dragAndDropDescriptionFontColor;
294
298
  });
295
299
 
296
300
  var ButtonChooseFiles = _styledComponents["default"].div(_templateObject8());
297
301
 
298
302
  var DragAndDropContentHover = _styledComponents["default"].div(_templateObject9(), function (props) {
299
- return props.theme.draggingAreaBackgroundColor;
303
+ return props.theme.draggingStateBackgroundColor;
300
304
  });
301
305
 
302
306
  var DragAndDropIconHover = _styledComponents["default"].div(_templateObject10(), function (props) {
@@ -316,9 +320,9 @@ var DragAndDropTextHover = _styledComponents["default"].div(_templateObject11(),
316
320
  }, function (props) {
317
321
  return props.theme.dragAndDropDraggingStateFontWeight;
318
322
  }, function (props) {
319
- return props.theme.dragAndDropTextDraggingStateFontTextTransform;
323
+ return props.theme.dragAndDropDraggingStateFontTextTransform;
320
324
  }, function (props) {
321
- return props.theme.dragAndDropTextDraggingStateFontColor;
325
+ return props.theme.dragAndDropDraggingStateFontColor;
322
326
  });
323
327
 
324
328
  var _default = DxcDragAndDropArea;
@@ -137,7 +137,7 @@ var DXCFileToUpload = _styledComponents["default"].div(_templateObject(), functi
137
137
  }, function (props) {
138
138
  return props.theme.fileUnderlineColor;
139
139
  }, function (props) {
140
- return props.theme.fileHoverColor;
140
+ return props.theme.hoverFileColor;
141
141
  });
142
142
 
143
143
  var FileContent = _styledComponents["default"].div(_templateObject2());
@@ -3,7 +3,7 @@
3
3
  ## Usage
4
4
 
5
5
  ```js
6
- import { DxcUpload } from "@dxc-technology/halstack-react";
6
+ import { V3DxcUpload } from "@dxc-technology/halstack-react";
7
7
  ```
8
8
 
9
9
  ## Props
@@ -27,7 +27,7 @@ import { DxcUpload } from "@dxc-technology/halstack-react";
27
27
  ```js
28
28
  import React from "react";
29
29
 
30
- import { DxcUpload } from "@dxc-technology/halstack-react";
30
+ import { V3DxcUpload } from "@dxc-technology/halstack-react";
31
31
 
32
32
  function App() {
33
33
  return <Upload callbackUpload={callbackFunc} />;
@@ -43,6 +43,8 @@ var _Spinner = _interopRequireDefault(require("../../spinner/Spinner"));
43
43
 
44
44
  var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
45
45
 
46
+ var _BackgroundColorContext = require("../../BackgroundColorContext.js");
47
+
46
48
  function _templateObject5() {
47
49
  var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n width: 80%;\n"]);
48
50
 
@@ -113,11 +115,13 @@ var DxcTransaction = function DxcTransaction(_ref) {
113
115
  }, _react["default"].createElement(FileImage, {
114
116
  status: status,
115
117
  img: icon
116
- }), status === "processing" && _react["default"].createElement(Prueba, null, _react["default"].createElement(FileName, null, name), _react["default"].createElement(_Spinner["default"], {
118
+ }), status === "processing" && _react["default"].createElement(FileData, null, _react["default"].createElement(FileName, null, name), _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
119
+ color: colorsTheme.upload.backgroundColor
120
+ }, _react["default"].createElement(_Spinner["default"], {
117
121
  mode: "small"
118
- })) || status === "success" && _react["default"].createElement(Prueba, null, _react["default"].createElement(FileName, null, name), _react["default"].createElement(FileStatus, {
122
+ }))) || status === "success" && _react["default"].createElement(FileData, null, _react["default"].createElement(FileName, null, name), _react["default"].createElement(FileStatus, {
119
123
  status: status
120
- })) || status === "error" && _react["default"].createElement(Prueba, null, _react["default"].createElement(_Tooltip["default"], {
124
+ })) || status === "error" && _react["default"].createElement(FileData, null, _react["default"].createElement(_Tooltip["default"], {
121
125
  title: message
122
126
  }, _react["default"].createElement(FileName, null, name)), _react["default"].createElement(FileStatus, {
123
127
  status: status
@@ -138,15 +142,15 @@ var DXCTransaction = _styledComponents["default"].div(_templateObject(), functio
138
142
  });
139
143
 
140
144
  var FileImage = _styledComponents["default"].div(_templateObject2(), function (props) {
141
- return props.status === "error" && props.theme.errorColor || props.theme.fileUploadedIconColor;
145
+ return props.status === "error" && props.theme.errorColor || props.theme.uploadedFileIconColor;
142
146
  }, function (props) {
143
147
  return props.img;
144
148
  }, function (props) {
145
- return "".concat(props.theme.fileUploadedIconSize, " ").concat(props.theme.fileUploadedIconSize);
149
+ return "".concat(props.theme.uploadedFileIconSize, " ").concat(props.theme.uploadedFileIconSize);
146
150
  }, function (props) {
147
- return props.theme.fileUploadedIconSize;
151
+ return props.theme.uploadedFileIconSize;
148
152
  }, function (props) {
149
- return props.theme.fileUploadedIconSize;
153
+ return props.theme.uploadedFileIconSize;
150
154
  });
151
155
 
152
156
  var FileName = _styledComponents["default"].div(_templateObject3(), function (props) {
@@ -165,7 +169,7 @@ var FileStatus = _styledComponents["default"].div(_templateObject4(), function (
165
169
  return props.status === "success" && "url('".concat(_successIcon["default"], "') no-repeat padding-box") || props.status === "error" && "url('".concat(_errorIcon["default"], "') no-repeat padding-box");
166
170
  });
167
171
 
168
- var Prueba = _styledComponents["default"].div(_templateObject5());
172
+ var FileData = _styledComponents["default"].div(_templateObject5());
169
173
 
170
174
  var _default = DxcTransaction;
171
175
  exports["default"] = _default;
@@ -107,31 +107,31 @@ var DXCTransactions = _styledComponents["default"].div(_templateObject(), functi
107
107
  var TransactionsText = _styledComponents["default"].span(_templateObject2());
108
108
 
109
109
  var TransactionsTitle = _styledComponents["default"].span(_templateObject3(), function (props) {
110
- return props.theme.filesUploadedTitleFontSize;
110
+ return props.theme.uploadedFilesTitleFontSize;
111
111
  }, function (props) {
112
- return props.theme.filesUploadedTitleFontStyle;
112
+ return props.theme.uploadedFilesTitleFontStyle;
113
113
  }, function (props) {
114
- return props.theme.filesUploadedTitleFontWeight;
114
+ return props.theme.uploadedFilesTitleFontWeight;
115
115
  }, function (props) {
116
- return props.theme.filesUploadedTitleFontTextTransform;
116
+ return props.theme.uploadedFilesTitleFontTextTransform;
117
117
  }, function (props) {
118
- return props.theme.filesUploadedTitleFontColor;
118
+ return props.theme.uploadedFilesTitleFontColor;
119
119
  });
120
120
 
121
121
  var TransactionsSubTitle = _styledComponents["default"].span(_templateObject4(), function (props) {
122
- return props.theme.filesUploadedSubtitleFontSize;
122
+ return props.theme.uploadedFilesSubtitleFontSize;
123
123
  }, function (props) {
124
- return props.theme.filesUploadedSubtitleFontStyle;
124
+ return props.theme.uploadedFilesSubtitleFontStyle;
125
125
  }, function (props) {
126
- return props.theme.filesUploadedSubtitleFontWeight;
126
+ return props.theme.uploadedFilesSubtitleFontWeight;
127
127
  }, function (props) {
128
- return props.theme.filesUploadedSubtitleFontTextTransform;
128
+ return props.theme.uploadedFilesSubtitleFontTextTransform;
129
129
  }, function (props) {
130
- return props.theme.filesUploadedSubtitleFontColor;
130
+ return props.theme.uploadedFilesSubtitleFontColor;
131
131
  });
132
132
 
133
133
  var TransactionsNumber = _styledComponents["default"].span(_templateObject5(), function (props) {
134
- return props.theme.filesUploadedNumberFontWeight;
134
+ return props.theme.uploadedFilesNumberFontWeight;
135
135
  });
136
136
 
137
137
  var _default = DxcTransactions;