@dxc-technology/halstack-react 0.0.0-e2d44ba → 0.0.0-e628009

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 (138) hide show
  1. package/dist/ThemeContext.js +69 -61
  2. package/dist/V3Textarea/V3Textarea.js +264 -0
  3. package/dist/alert/Alert.js +4 -4
  4. package/dist/alert/index.d.ts +51 -0
  5. package/dist/button/Button.js +3 -3
  6. package/dist/common/variables.js +302 -98
  7. package/dist/date/Date.js +10 -12
  8. package/dist/{new-date/NewDate.js → date-input/DateInput.js} +69 -72
  9. package/dist/date-input/index.d.ts +95 -0
  10. package/dist/file-input/FileInput.js +644 -0
  11. package/dist/file-input/FileItem.js +280 -0
  12. package/dist/file-input/index.d.ts +81 -0
  13. package/dist/footer/Footer.js +44 -18
  14. package/dist/footer/Icons.js +77 -0
  15. package/dist/header/Header.js +82 -51
  16. package/dist/header/Icons.js +59 -0
  17. package/dist/heading/Heading.js +12 -0
  18. package/dist/input-text/Icons.js +22 -0
  19. package/dist/input-text/InputText.js +7 -9
  20. package/dist/layout/ApplicationLayout.js +5 -9
  21. package/dist/layout/Icons.js +55 -0
  22. package/dist/link/Link.js +4 -8
  23. package/dist/main.d.ts +8 -0
  24. package/dist/main.js +37 -21
  25. package/dist/new-select/NewSelect.js +836 -0
  26. package/dist/new-select/index.d.ts +53 -0
  27. package/dist/{number/Number.js → number-input/NumberInput.js} +9 -11
  28. package/dist/{number/NumberContext.js → number-input/NumberInputContext.js} +2 -2
  29. package/dist/number-input/index.d.ts +113 -0
  30. package/dist/paginator/Icons.js +66 -0
  31. package/dist/paginator/Paginator.js +5 -11
  32. package/dist/{password/Password.js → password-input/PasswordInput.js} +11 -13
  33. package/dist/password-input/index.d.ts +94 -0
  34. package/dist/sidenav/Sidenav.js +6 -4
  35. package/dist/slider/Slider.js +104 -19
  36. package/dist/tag/Tag.js +26 -32
  37. package/dist/{new-input-text/NewInputText.js → text-input/TextInput.js} +180 -170
  38. package/dist/text-input/index.d.ts +135 -0
  39. package/dist/textarea/Textarea.js +227 -122
  40. package/dist/textarea/index.d.ts +117 -0
  41. package/dist/toggle-group/ToggleGroup.js +132 -28
  42. package/dist/upload/Upload.js +3 -3
  43. package/dist/upload/buttons-upload/ButtonsUpload.js +7 -11
  44. package/dist/upload/buttons-upload/Icons.js +40 -0
  45. package/dist/upload/dragAndDropArea/DragAndDropArea.js +14 -14
  46. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  47. package/dist/upload/file-upload/FileToUpload.js +26 -21
  48. package/dist/upload/file-upload/Icons.js +66 -0
  49. package/dist/upload/transaction/Icons.js +160 -0
  50. package/dist/upload/transaction/Transaction.js +11 -38
  51. package/dist/wizard/Icons.js +65 -0
  52. package/dist/wizard/Wizard.js +3 -9
  53. package/package.json +2 -1
  54. package/test/Date.test.js +48 -44
  55. package/test/{NewDate.test.js → DateInput.test.js} +66 -27
  56. package/test/FileInput.test.js +201 -0
  57. package/test/Footer.test.js +2 -7
  58. package/test/Header.test.js +5 -10
  59. package/test/Heading.test.js +60 -12
  60. package/test/InputText.test.js +24 -16
  61. package/test/{Number.test.js → NumberInput.test.js} +84 -66
  62. package/test/PasswordInput.test.js +83 -0
  63. package/test/Slider.test.js +9 -17
  64. package/test/{NewInputText.test.js → TextInput.test.js} +146 -231
  65. package/test/Textarea.test.js +193 -0
  66. package/test/ToggleGroup.test.js +5 -1
  67. package/test/Upload.test.js +5 -5
  68. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  69. package/dist/checkbox/Checkbox.stories.js +0 -144
  70. package/dist/checkbox/readme.md +0 -116
  71. package/dist/date/Date.stories.js +0 -205
  72. package/dist/date/readme.md +0 -73
  73. package/dist/footer/Footer.stories.js +0 -94
  74. package/dist/footer/dxc_logo.svg +0 -15
  75. package/dist/footer/readme.md +0 -41
  76. package/dist/header/Header.stories.js +0 -176
  77. package/dist/header/close_icon.svg +0 -1
  78. package/dist/header/dxc_logo_black.svg +0 -8
  79. package/dist/header/hamb_menu_black.svg +0 -1
  80. package/dist/header/hamb_menu_white.svg +0 -1
  81. package/dist/header/readme.md +0 -33
  82. package/dist/input-text/InputText.stories.js +0 -209
  83. package/dist/input-text/error.svg +0 -1
  84. package/dist/input-text/readme.md +0 -91
  85. package/dist/layout/facebook.svg +0 -45
  86. package/dist/layout/linkedin.svg +0 -50
  87. package/dist/layout/twitter.svg +0 -53
  88. package/dist/link/readme.md +0 -51
  89. package/dist/new-textarea/NewTextarea.js +0 -346
  90. package/dist/paginator/images/next.svg +0 -3
  91. package/dist/paginator/images/nextPage.svg +0 -3
  92. package/dist/paginator/images/previous.svg +0 -3
  93. package/dist/paginator/images/previousPage.svg +0 -3
  94. package/dist/paginator/readme.md +0 -50
  95. package/dist/password/styles.css +0 -3
  96. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  97. package/dist/progress-bar/readme.md +0 -63
  98. package/dist/radio/Radio.stories.js +0 -166
  99. package/dist/radio/readme.md +0 -70
  100. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  101. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  102. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  103. package/dist/slider/Slider.stories.js +0 -241
  104. package/dist/slider/readme.md +0 -64
  105. package/dist/spinner/Spinner.stories.js +0 -183
  106. package/dist/spinner/readme.md +0 -65
  107. package/dist/switch/Switch.stories.js +0 -134
  108. package/dist/switch/readme.md +0 -133
  109. package/dist/tabs/Tabs.stories.js +0 -130
  110. package/dist/tabs/readme.md +0 -78
  111. package/dist/tabs-for-sections/readme.md +0 -78
  112. package/dist/toggle/Toggle.stories.js +0 -297
  113. package/dist/toggle/readme.md +0 -80
  114. package/dist/upload/Upload.stories.js +0 -72
  115. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  116. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  117. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  118. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  119. package/dist/upload/file-upload/audio-icon.svg +0 -4
  120. package/dist/upload/file-upload/close.svg +0 -4
  121. package/dist/upload/file-upload/file-icon.svg +0 -4
  122. package/dist/upload/file-upload/video-icon.svg +0 -4
  123. package/dist/upload/readme.md +0 -37
  124. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  125. package/dist/upload/transaction/audio-icon.svg +0 -4
  126. package/dist/upload/transaction/error-icon.svg +0 -4
  127. package/dist/upload/transaction/file-icon-err.svg +0 -4
  128. package/dist/upload/transaction/file-icon.svg +0 -4
  129. package/dist/upload/transaction/image-icon-err.svg +0 -4
  130. package/dist/upload/transaction/image-icon.svg +0 -4
  131. package/dist/upload/transaction/success-icon.svg +0 -4
  132. package/dist/upload/transaction/video-icon-err.svg +0 -4
  133. package/dist/upload/transaction/video-icon.svg +0 -4
  134. package/dist/wizard/invalid_icon.svg +0 -5
  135. package/dist/wizard/valid_icon.svg +0 -5
  136. package/dist/wizard/validation-wrong.svg +0 -6
  137. package/test/NewTextarea.test.js +0 -201
  138. package/test/Password.test.js +0 -76
@@ -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,56 @@ 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
+
62
+ function _templateObject6() {
63
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
64
+
65
+ _templateObject6 = function _templateObject6() {
66
+ return data;
67
+ };
68
+
69
+ return data;
70
+ }
71
+
30
72
  function _templateObject5() {
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"]);
73
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"]);
32
74
 
33
75
  _templateObject5 = function _templateObject5() {
34
76
  return data;
@@ -38,7 +80,7 @@ function _templateObject5() {
38
80
  }
39
81
 
40
82
  function _templateObject4() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\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"]);
42
84
 
43
85
  _templateObject4 = function _templateObject4() {
44
86
  return data;
@@ -48,7 +90,7 @@ function _templateObject4() {
48
90
  }
49
91
 
50
92
  function _templateObject3() {
51
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\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"]);
52
94
 
53
95
  _templateObject3 = function _templateObject3() {
54
96
  return data;
@@ -58,7 +100,7 @@ function _templateObject3() {
58
100
  }
59
101
 
60
102
  function _templateObject2() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n ", "\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"]);
62
104
 
63
105
  _templateObject2 = function _templateObject2() {
64
106
  return data;
@@ -68,7 +110,7 @@ function _templateObject2() {
68
110
  }
69
111
 
70
112
  function _templateObject() {
71
- 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: row;\n opacity: 1;\n min-height: 40px;\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"]);
72
114
 
73
115
  _templateObject = function _templateObject() {
74
116
  return data;
@@ -78,7 +120,9 @@ function _templateObject() {
78
120
  }
79
121
 
80
122
  var DxcToggleGroup = function DxcToggleGroup(_ref) {
81
- var value = _ref.value,
123
+ var label = _ref.label,
124
+ helperText = _ref.helperText,
125
+ value = _ref.value,
82
126
  onChange = _ref.onChange,
83
127
  _ref$disabled = _ref.disabled,
84
128
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
@@ -96,6 +140,10 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
96
140
  selectedValue = _useState2[0],
97
141
  setSelectedValue = _useState2[1];
98
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
+
99
147
  var handleToggleChange = function handleToggleChange(selectedOption) {
100
148
  var newSelectedOptions;
101
149
 
@@ -139,9 +187,19 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
139
187
  }, _react["default"].createElement(ToggleGroup, {
140
188
  margin: margin,
141
189
  disabled: disabled
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"
142
198
  }, options.map(function (option, i) {
143
199
  return _react["default"].createElement(ToggleContainer, {
144
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,
145
203
  tabIndex: !disabled ? tabIndex : -1,
146
204
  onClick: function onClick() {
147
205
  return !disabled && handleToggleChange(option.value);
@@ -149,20 +207,50 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
149
207
  isFirst: i === 0,
150
208
  isLast: i === options.length - 1,
151
209
  isIcon: option.iconSrc || option.icon,
210
+ optionLabel: option.label,
152
211
  disabled: disabled,
153
212
  onKeyPress: function onKeyPress(event) {
154
213
  handleKeyPress(event, option.value);
155
214
  },
156
215
  key: "toggle-".concat(i, "-").concat(option.label)
157
- }, 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, {
158
- src: option.iconSrc
159
- }) : _react["default"].createElement(LabelContainer, {
160
- disabled: disabled
161
- }, option.label));
162
- })));
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)));
222
+ }))));
163
223
  };
164
224
 
165
- 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) {
166
254
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
167
255
  }, function (props) {
168
256
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -174,33 +262,49 @@ var ToggleGroup = _styledComponents["default"].div(_templateObject(), function (
174
262
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
175
263
  });
176
264
 
177
- var ToggleContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
178
- 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-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 \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 outline: ").concat(props.theme.focusColor, " solid 2px;\n outline-offset: -2px;\n }\n cursor: pointer;") : "color: ".concat(props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor, " !important;\n cursor: not-allowed;"), "\n ");
179
- });
180
-
181
- var LabelContainer = _styledComponents["default"].span(_templateObject3(), function (props) {
182
- return props.theme.fontFamily;
265
+ var OptionsContainer = _styledComponents["default"].div(_templateObject4(), function (props) {
266
+ return props.theme.containerBorderThickness;
267
+ }, function (props) {
268
+ return props.theme.containerBorderStyle;
269
+ }, function (props) {
270
+ return props.theme.containerBorderRadius;
183
271
  }, function (props) {
184
- return props.theme.fontSize;
272
+ return props.theme.containerBorderColor;
185
273
  }, function (props) {
186
- return props.theme.fontStyle;
274
+ return props.theme.containerBackgroundColor;
187
275
  }, function (props) {
188
- return props.theme.fontWeight;
276
+ return props.theme.containerMarginTop;
189
277
  });
190
278
 
191
- var Icon = _styledComponents["default"].img(_templateObject4(), function (props) {
192
- return props.theme.iconSize;
279
+ var ToggleContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
280
+ return !props.isLast && "4px";
193
281
  }, function (props) {
194
- 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 ");
195
283
  });
196
284
 
197
- var IconContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
198
- return props.theme.iconSize;
285
+ var LabelContainer = _styledComponents["default"].span(_templateObject6(), function (props) {
286
+ return props.theme.optionLabelFontFamily;
199
287
  }, function (props) {
200
- return props.theme.iconSize;
288
+ return props.theme.optionLabelFontSize;
289
+ }, function (props) {
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;
201
303
  });
202
304
 
203
305
  DxcToggleGroup.propTypes = {
306
+ label: _propTypes["default"].string,
307
+ helperText: _propTypes["default"].string,
204
308
  value: _propTypes["default"].any,
205
309
  onChange: _propTypes["default"].func,
206
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;
@@ -19,16 +19,14 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
19
 
20
20
  var _Button = _interopRequireDefault(require("../../button/Button"));
21
21
 
22
- var _uploadButton = _interopRequireDefault(require("./upload-button.svg"));
23
-
24
- var _dragDropIcon = _interopRequireDefault(require("./drag-drop-icon.svg"));
22
+ var _Icons = require("./Icons");
25
23
 
26
24
  var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
27
25
 
28
26
  var _BackgroundColorContext = require("../../BackgroundColorContext.js");
29
27
 
30
28
  function _templateObject3() {
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"]);
29
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-right: 5px;\n & svg {\n fill: ", ";\n }\n"]);
32
30
 
33
31
  _templateObject3 = function _templateObject3() {
34
32
  return data;
@@ -81,7 +79,7 @@ var DxcButtonsUpload = function DxcButtonsUpload(_ref) {
81
79
  theme: colorsTheme.upload
82
80
  }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
83
81
  color: colorsTheme.upload.backgroundColor
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"], {
82
+ }, _react["default"].createElement(DXCButtonsUpload, null, _react["default"].createElement(DragAndDropLabel, null, _react["default"].createElement(DragAndDropIconContainer, null, _Icons.dragAndDropIcon), "Drag and Drop area"), _react["default"].createElement(_Button["default"], {
85
83
  margin: {
86
84
  right: "small"
87
85
  },
@@ -99,7 +97,7 @@ var DxcButtonsUpload = function DxcButtonsUpload(_ref) {
99
97
  }), _react["default"].createElement(_Button["default"], {
100
98
  label: "UPLOAD",
101
99
  iconPosition: "after",
102
- iconSrc: _uploadButton["default"],
100
+ icon: _Icons.uploadIcon,
103
101
  onClick: onUpload
104
102
  }))));
105
103
  };
@@ -125,14 +123,12 @@ var DragAndDropLabel = _styledComponents["default"].div(_templateObject2(), func
125
123
  return props.theme.dragAndDropAreaTextFontColor;
126
124
  });
127
125
 
128
- var DragAndDropIcon = _styledComponents["default"].div(_templateObject3(), function (props) {
129
- return props.theme.dragAndDropAreaIconColor;
130
- }, _dragDropIcon["default"], function (props) {
131
- return "".concat(props.theme.dragAndDropAreaIconSize, " ").concat(props.theme.dragAndDropAreaIconSize);
132
- }, function (props) {
126
+ var DragAndDropIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
133
127
  return props.theme.dragAndDropAreaIconSize;
134
128
  }, function (props) {
135
129
  return props.theme.dragAndDropAreaIconSize;
130
+ }, function (props) {
131
+ return props.theme.dragAndDropAreaIconColor;
136
132
  });
137
133
 
138
134
  var _default = DxcButtonsUpload;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.dragAndDropIcon = exports.uploadIcon = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var uploadIcon = _react["default"].createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: "24",
15
+ height: "24",
16
+ viewBox: "0 0 24 24",
17
+ fill: "#FFFFFF"
18
+ }, _react["default"].createElement("path", {
19
+ d: "M0 0h24v24H0z",
20
+ fill: "none"
21
+ }), _react["default"].createElement("path", {
22
+ d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"
23
+ }));
24
+
25
+ exports.uploadIcon = uploadIcon;
26
+
27
+ var dragAndDropIcon = _react["default"].createElement("svg", {
28
+ xmlns: "http://www.w3.org/2000/svg",
29
+ width: "24",
30
+ height: "24",
31
+ viewBox: "0 0 24 24",
32
+ fill: "#666666"
33
+ }, _react["default"].createElement("path", {
34
+ fill: "none",
35
+ d: "M0 0h24v24H0V0z"
36
+ }), _react["default"].createElement("path", {
37
+ d: "M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-2h-2v2zm4-18H9c-1.11 0-2 .9-2 2v10c0 1.1.89 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12H9V5h10v10zm-8 6h2v-2h-2v2zm-4 0h2v-2H7v2z"
38
+ }));
39
+
40
+ exports.dragAndDropIcon = dragAndDropIcon;
@@ -19,11 +19,7 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
19
 
20
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
 
22
- require("../../common/variables.js");
23
-
24
- var _upload_file = _interopRequireDefault(require("./upload_file.svg"));
25
-
26
- var _upload_drop = _interopRequireDefault(require("./upload_drop.svg"));
22
+ var _Icons = require("./Icons");
27
23
 
28
24
  var _Button = _interopRequireDefault(require("../../button/Button"));
29
25
 
@@ -42,7 +38,7 @@ function _templateObject11() {
42
38
  }
43
39
 
44
40
  function _templateObject10() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n mask: url(", ") no-repeat center;\n mask-size: ", ";\n height: ", ";\n width: ", ";\n"]);
41
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n & svg {\n fill: ", ";\n height: ", ";\n width: ", ";\n }\n"]);
46
42
 
47
43
  _templateObject10 = function _templateObject10() {
48
44
  return data;
@@ -102,7 +98,7 @@ function _templateObject5() {
102
98
  }
103
99
 
104
100
  function _templateObject4() {
105
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n mask: url(", ") no-repeat center;\n mask-size: ", ";\n height: ", ";\n width: ", ";\n margin-bottom: 20px;\n"]);
101
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-bottom: 20px;\n & svg {\n fill: ", ";\n height: ", ";\n width: ", ";\n }\n"]);
106
102
 
107
103
  _templateObject4 = function _templateObject4() {
108
104
  return data;
@@ -216,7 +212,7 @@ var DxcDragAndDropArea = function DxcDragAndDropArea(_ref) {
216
212
  onDragOver: handleDrag,
217
213
  onDragLeave: handleDragOut,
218
214
  dashed: dashed
219
- }, !dragging && !dashed && _react["default"].createElement(DXCDragAndDropArea, null, _react["default"].createElement(DragAndDropContent, null, _react["default"].createElement(DragAndDropIcon, null), _react["default"].createElement(DragAndDropText, null, _react["default"].createElement(DragAndDropTitle, null, text), _react["default"].createElement(DragAndDropDescription, null, description)), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
215
+ }, !dragging && !dashed && _react["default"].createElement(DXCDragAndDropArea, null, _react["default"].createElement(DragAndDropContent, null, _react["default"].createElement(DragAndDropIcon, null, _Icons.uploadFileIcon), _react["default"].createElement(DragAndDropText, null, _react["default"].createElement(DragAndDropTitle, null, text), _react["default"].createElement(DragAndDropDescription, null, description)), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
220
216
  label: "CHOOSE FILES",
221
217
  onClick: handleClick,
222
218
  tabIndex: tabIndexValue
@@ -228,7 +224,7 @@ var DxcDragAndDropArea = function DxcDragAndDropArea(_ref) {
228
224
  style: {
229
225
  display: "none"
230
226
  }
231
- })))), !dragging && dashed && _react["default"].createElement(DragAndDropContentHover, null, _react["default"].createElement(DragAndDropContent, null, _react["default"].createElement(DragAndDropIcon, null), _react["default"].createElement(DragAndDropText, null, _react["default"].createElement(DragAndDropTitle, null, text), _react["default"].createElement(DragAndDropDescription, null, description)), _react["default"].createElement(ButtonChooseFiles, null, _react["default"].createElement(_Button["default"], {
227
+ })))), !dragging && dashed && _react["default"].createElement(DragAndDropContentHover, null, _react["default"].createElement(DragAndDropContent, null, _react["default"].createElement(DragAndDropIcon, null, _Icons.uploadFileIcon), _react["default"].createElement(DragAndDropText, null, _react["default"].createElement(DragAndDropTitle, null, text), _react["default"].createElement(DragAndDropDescription, null, description)), _react["default"].createElement(ButtonChooseFiles, null, _react["default"].createElement(_Button["default"], {
232
228
  theme: "light",
233
229
  label: "CHOOSE FILES",
234
230
  onClick: handleClick,
@@ -241,7 +237,7 @@ var DxcDragAndDropArea = function DxcDragAndDropArea(_ref) {
241
237
  style: {
242
238
  display: "none"
243
239
  }
244
- })))), dragging && _react["default"].createElement(DragAndDropContentHover, null, _react["default"].createElement(DragAndDropTextHover, null, textHover), _react["default"].createElement(DragAndDropIconHover, null)))));
240
+ })))), dragging && _react["default"].createElement(DragAndDropContentHover, null, _react["default"].createElement(DragAndDropTextHover, null, textHover), _react["default"].createElement(DragAndDropIconHover, null, _Icons.dropFileIcon)))));
245
241
  };
246
242
 
247
243
  DxcDragAndDropArea.propTypes = {
@@ -262,9 +258,11 @@ var DXCDragAndDropArea = _styledComponents["default"].div(_templateObject2(), fu
262
258
  var DragAndDropContent = _styledComponents["default"].div(_templateObject3());
263
259
 
264
260
  var DragAndDropIcon = _styledComponents["default"].div(_templateObject4(), function (props) {
261
+ return props.theme.dragAndDropIconSize;
262
+ }, function (props) {
263
+ return props.theme.dragAndDropIconSize;
264
+ }, function (props) {
265
265
  return props.theme.dragAndDropIconColor;
266
- }, _upload_file["default"], function (props) {
267
- return "".concat(props.theme.dragAndDropIconSize, " ").concat(props.theme.dragAndDropIconSize);
268
266
  }, function (props) {
269
267
  return props.theme.dragAndDropIconSize;
270
268
  }, function (props) {
@@ -304,9 +302,11 @@ var DragAndDropContentHover = _styledComponents["default"].div(_templateObject9(
304
302
  });
305
303
 
306
304
  var DragAndDropIconHover = _styledComponents["default"].div(_templateObject10(), function (props) {
305
+ return props.theme.dragAndDropDraggingStateIconSize;
306
+ }, function (props) {
307
+ return props.theme.dragAndDropDraggingStateIconSize;
308
+ }, function (props) {
307
309
  return props.theme.dragAndDropDraggingStateIconColor;
308
- }, _upload_drop["default"], function (props) {
309
- return "".concat(props.theme.dragAndDropDraggingStateIconSize, " ").concat(props.theme.dragAndDropDraggingStateIconSize);
310
310
  }, function (props) {
311
311
  return props.theme.dragAndDropDraggingStateIconSize;
312
312
  }, function (props) {
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.uploadFileIcon = exports.dropFileIcon = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var dropFileIcon = _react["default"].createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: "74.5",
15
+ height: "74.5",
16
+ viewBox: "0 0 24 24",
17
+ fill: "#666666"
18
+ }, _react["default"].createElement("path", {
19
+ fill: "none",
20
+ d: "M0 0h24v24H0z"
21
+ }), _react["default"].createElement("path", {
22
+ d: "M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"
23
+ }));
24
+
25
+ exports.dropFileIcon = dropFileIcon;
26
+
27
+ var uploadFileIcon = _react["default"].createElement("svg", {
28
+ xmlns: "http://www.w3.org/2000/svg",
29
+ width: "43.5",
30
+ height: "43.5",
31
+ viewBox: "0 0 24 24"
32
+ }, _react["default"].createElement("path", {
33
+ d: "M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"
34
+ }), _react["default"].createElement("path", {
35
+ d: "M0 0h24v24H0z",
36
+ fill: "none"
37
+ }));
38
+
39
+ exports.uploadFileIcon = uploadFileIcon;