@dxc-technology/halstack-react 8.0.0 → 9.0.1

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 (163) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -5
  4. package/HalstackContext.js +114 -73
  5. package/accordion/Accordion.js +13 -24
  6. package/accordion/Accordion.stories.tsx +102 -13
  7. package/accordion/Accordion.test.js +1 -1
  8. package/accordion/types.d.ts +3 -3
  9. package/accordion-group/AccordionGroup.js +2 -2
  10. package/accordion-group/AccordionGroup.test.js +1 -1
  11. package/accordion-group/types.d.ts +2 -2
  12. package/alert/Alert.js +3 -5
  13. package/alert/Alert.stories.tsx +28 -0
  14. package/alert/Alert.test.js +1 -1
  15. package/box/Box.js +3 -5
  16. package/box/Box.stories.tsx +15 -0
  17. package/box/Box.test.js +1 -1
  18. package/button/Button.js +13 -15
  19. package/button/Button.stories.tsx +150 -8
  20. package/button/Button.test.js +1 -1
  21. package/button/types.d.ts +3 -3
  22. package/card/Card.js +12 -13
  23. package/card/Card.stories.tsx +12 -13
  24. package/card/Card.test.js +1 -1
  25. package/checkbox/Checkbox.js +3 -3
  26. package/checkbox/Checkbox.stories.tsx +52 -0
  27. package/checkbox/Checkbox.test.js +1 -1
  28. package/checkbox/types.d.ts +2 -2
  29. package/chip/Chip.js +18 -26
  30. package/chip/Chip.stories.tsx +96 -9
  31. package/chip/Chip.test.js +3 -5
  32. package/common/utils.d.ts +1 -0
  33. package/common/utils.js +4 -4
  34. package/common/variables.d.ts +1625 -0
  35. package/common/variables.js +280 -288
  36. package/date-input/Calendar.d.ts +1 -1
  37. package/date-input/Calendar.js +43 -43
  38. package/date-input/DateInput.js +74 -32
  39. package/date-input/DateInput.stories.tsx +183 -30
  40. package/date-input/DateInput.test.js +120 -37
  41. package/date-input/DatePicker.js +38 -52
  42. package/date-input/Icons.d.ts +6 -0
  43. package/date-input/Icons.js +75 -0
  44. package/date-input/YearPicker.d.ts +1 -1
  45. package/date-input/YearPicker.js +23 -12
  46. package/date-input/types.d.ts +6 -8
  47. package/dialog/Dialog.js +61 -74
  48. package/dialog/Dialog.stories.tsx +211 -159
  49. package/dialog/Dialog.test.js +302 -3
  50. package/dialog/types.d.ts +2 -2
  51. package/dropdown/Dropdown.js +5 -8
  52. package/dropdown/Dropdown.stories.tsx +210 -84
  53. package/dropdown/Dropdown.test.js +3 -2
  54. package/dropdown/DropdownMenu.js +8 -18
  55. package/dropdown/DropdownMenuItem.js +4 -17
  56. package/dropdown/types.d.ts +3 -3
  57. package/file-input/FileInput.js +4 -8
  58. package/file-input/FileInput.stories.tsx +85 -2
  59. package/file-input/FileInput.test.js +1 -42
  60. package/file-input/FileItem.js +1 -0
  61. package/footer/Footer.js +6 -8
  62. package/footer/Footer.stories.tsx +91 -0
  63. package/footer/Footer.test.js +14 -26
  64. package/header/Header.d.ts +3 -2
  65. package/header/Header.js +21 -23
  66. package/header/Header.stories.tsx +149 -6
  67. package/header/Header.test.js +2 -2
  68. package/header/types.d.ts +2 -2
  69. package/heading/Heading.js +1 -1
  70. package/heading/Heading.test.js +1 -1
  71. package/layout/ApplicationLayout.d.ts +1 -1
  72. package/layout/ApplicationLayout.js +1 -1
  73. package/link/Link.js +2 -2
  74. package/link/Link.stories.tsx +60 -0
  75. package/link/Link.test.js +2 -4
  76. package/link/types.d.ts +2 -2
  77. package/main.d.ts +1 -1
  78. package/main.js +1 -1
  79. package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
  80. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  81. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  82. package/{tabs-nav → nav-tabs}/Tab.js +37 -17
  83. package/number-input/NumberInput.test.js +1 -1
  84. package/package.json +2 -2
  85. package/paginator/Icons.d.ts +5 -0
  86. package/paginator/Icons.js +16 -28
  87. package/paginator/Paginator.js +6 -14
  88. package/paginator/Paginator.stories.tsx +24 -0
  89. package/paginator/Paginator.test.js +44 -47
  90. package/paragraph/Paragraph.d.ts +3 -4
  91. package/paragraph/Paragraph.js +5 -5
  92. package/password-input/PasswordInput.test.js +1 -1
  93. package/progress-bar/ProgressBar.d.ts +2 -2
  94. package/progress-bar/ProgressBar.js +5 -5
  95. package/progress-bar/ProgressBar.stories.jsx +35 -2
  96. package/progress-bar/ProgressBar.test.js +1 -1
  97. package/progress-bar/types.d.ts +4 -3
  98. package/quick-nav/QuickNav.stories.tsx +14 -0
  99. package/radio-group/RadioGroup.stories.tsx +131 -18
  100. package/radio-group/RadioGroup.test.js +1 -1
  101. package/resultsetTable/ResultsetTable.js +2 -2
  102. package/resultsetTable/ResultsetTable.test.js +18 -23
  103. package/resultsetTable/types.d.ts +3 -3
  104. package/select/Listbox.d.ts +1 -1
  105. package/select/Listbox.js +5 -34
  106. package/select/Option.js +11 -24
  107. package/select/Select.js +56 -35
  108. package/select/Select.stories.tsx +492 -145
  109. package/select/Select.test.js +76 -81
  110. package/select/types.d.ts +2 -2
  111. package/sidenav/Sidenav.js +9 -11
  112. package/sidenav/Sidenav.stories.tsx +148 -46
  113. package/slider/Slider.js +6 -7
  114. package/slider/Slider.stories.tsx +57 -0
  115. package/slider/Slider.test.js +1 -1
  116. package/slider/types.d.ts +2 -2
  117. package/spinner/Spinner.js +17 -23
  118. package/spinner/Spinner.stories.jsx +53 -27
  119. package/spinner/Spinner.test.js +1 -1
  120. package/switch/Switch.js +3 -3
  121. package/switch/Switch.stories.tsx +33 -0
  122. package/switch/Switch.test.js +1 -1
  123. package/switch/types.d.ts +2 -2
  124. package/table/Table.js +2 -2
  125. package/table/Table.stories.jsx +80 -1
  126. package/table/Table.test.js +1 -1
  127. package/tabs/Tab.js +12 -14
  128. package/tabs/Tabs.js +4 -6
  129. package/tabs/Tabs.stories.tsx +45 -5
  130. package/tabs/Tabs.test.js +4 -5
  131. package/tabs/types.d.ts +2 -2
  132. package/tag/Tag.js +7 -9
  133. package/tag/Tag.stories.tsx +14 -1
  134. package/tag/Tag.test.js +1 -1
  135. package/text-input/Suggestion.js +34 -7
  136. package/text-input/TextInput.js +10 -14
  137. package/text-input/TextInput.stories.tsx +92 -4
  138. package/text-input/TextInput.test.js +125 -26
  139. package/textarea/Textarea.js +3 -3
  140. package/textarea/Textarea.stories.jsx +60 -1
  141. package/textarea/Textarea.test.js +1 -1
  142. package/toggle-group/ToggleGroup.js +7 -4
  143. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  144. package/toggle-group/ToggleGroup.test.js +1 -1
  145. package/toggle-group/types.d.ts +1 -1
  146. package/typography/Typography.d.ts +2 -2
  147. package/typography/Typography.js +14 -113
  148. package/typography/Typography.stories.tsx +1 -1
  149. package/useTheme.d.ts +1234 -1
  150. package/useTheme.js +1 -1
  151. package/useTranslatedLabels.d.ts +84 -1
  152. package/utils/BaseTypography.d.ts +21 -0
  153. package/utils/BaseTypography.js +108 -0
  154. package/utils/FocusLock.d.ts +13 -0
  155. package/utils/FocusLock.js +139 -0
  156. package/wizard/Wizard.js +2 -2
  157. package/wizard/Wizard.stories.tsx +20 -0
  158. package/wizard/Wizard.test.js +1 -1
  159. package/wizard/types.d.ts +5 -6
  160. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  161. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  162. /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
  163. /package/{tabs-nav → nav-tabs}/types.js +0 -0
package/select/Option.js CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -13,19 +11,13 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
13
11
 
14
12
  var _react = _interopRequireDefault(require("react"));
15
13
 
16
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
- var _useTheme = _interopRequireDefault(require("../useTheme"));
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
15
 
20
16
  var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
21
17
 
22
18
  var _Icons = _interopRequireDefault(require("./Icons"));
23
19
 
24
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
25
-
26
- 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); }
27
-
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
29
21
 
30
22
  var Option = function Option(_ref) {
31
23
  var id = _ref.id,
@@ -37,10 +29,7 @@ var Option = function Option(_ref) {
37
29
  isGroupedOption = _ref$isGroupedOption === void 0 ? false : _ref$isGroupedOption,
38
30
  isLastOption = _ref.isLastOption,
39
31
  isSelected = _ref.isSelected;
40
- var colorsTheme = (0, _useTheme["default"])();
41
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
42
- theme: colorsTheme.select
43
- }, /*#__PURE__*/_react["default"].createElement(OptionItem, {
32
+ return /*#__PURE__*/_react["default"].createElement(OptionItem, {
44
33
  id: id,
45
34
  onClick: function onClick() {
46
35
  _onClick(option);
@@ -62,13 +51,13 @@ var Option = function Option(_ref) {
62
51
  grouped: isGroupedOption,
63
52
  multiple: multiple,
64
53
  role: !(typeof option.icon === "string") ? "img" : undefined
65
- }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
54
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
66
55
  src: option.icon
67
56
  }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
68
57
  grouped: isGroupedOption,
69
58
  hasIcon: option.icon ? true : false,
70
59
  multiple: multiple
71
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, _Icons["default"].selected)))));
60
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, _Icons["default"].selected))));
72
61
  };
73
62
 
74
63
  var OptionItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
@@ -87,21 +76,19 @@ var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templ
87
76
  return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
88
77
  });
89
78
 
90
- var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"])), function (props) {
91
- return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
79
+ var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.125rem;\n margin-left: ", ";\n color: ", ";\n\n svg,\n img {\n height: 20px;\n width: 20px;\n }\n"])), function (props) {
80
+ return props.grouped && !props.multiple ? "16px" : "8px";
92
81
  }, function (props) {
93
82
  return props.theme.listOptionIconColor;
94
83
  });
95
84
 
96
- var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"])), function (props) {
97
- return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
85
+ var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n gap: 0.25rem;\n width: 100%;\n overflow: hidden;\n margin-left: ", ";\n"])), function (props) {
86
+ return props.grouped && !props.multiple && !props.hasIcon ? "16px" : "8px";
98
87
  });
99
88
 
100
- var OptionIconImg = _styledComponents["default"].img(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
101
-
102
- var OptionLabel = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
89
+ var OptionLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
103
90
 
104
- var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"])), function (props) {
91
+ var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n\n svg {\n width: 16px;\n height: 16px;\n }\n"])), function (props) {
105
92
  return props.theme.selectedListOptionIconColor;
106
93
  });
107
94
 
package/select/Select.js CHANGED
@@ -25,11 +25,11 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
26
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
27
 
28
- var _variables = require("../common/variables.js");
28
+ var _variables = require("../common/variables");
29
29
 
30
30
  var _uuid = require("uuid");
31
31
 
32
- var _utils = require("../common/utils.js");
32
+ var _utils = require("../common/utils");
33
33
 
34
34
  var _Icons = _interopRequireDefault(require("./Icons"));
35
35
 
@@ -99,9 +99,9 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
99
99
  options.forEach(function (option) {
100
100
  if (option.options) {
101
101
  option.options.forEach(function (singleOption) {
102
- if (value.includes(singleOption.value)) selectedOption.push(singleOption);
102
+ if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
103
103
  });
104
- } else if (value.includes(option.value)) selectedOption.push(option);
104
+ } else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
105
105
  });
106
106
  }
107
107
  } else {
@@ -140,8 +140,30 @@ var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
140
140
  return !optional && (multiple ? value.length === 0 : value === "");
141
141
  };
142
142
 
143
+ var useWidth = function useWidth(target) {
144
+ var _useState = (0, _react.useState)(0),
145
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
146
+ width = _useState2[0],
147
+ setWidth = _useState2[1];
148
+
149
+ (0, _react.useEffect)(function () {
150
+ if (target != null) {
151
+ setWidth(target.getBoundingClientRect().width);
152
+ var triggerObserver = new ResizeObserver(function (entries) {
153
+ var rect = entries[0].target.getBoundingClientRect();
154
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
155
+ });
156
+ triggerObserver.observe(target);
157
+ return function () {
158
+ triggerObserver.unobserve(target);
159
+ };
160
+ }
161
+ }, [target]);
162
+ return width;
163
+ };
164
+
143
165
  var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
144
- var _selectedOption$label;
166
+ var _ref4, _selectedOption$label;
145
167
 
146
168
  var label = _ref.label,
147
169
  _ref$name = _ref.name,
@@ -169,36 +191,37 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
169
191
  _ref$tabIndex = _ref.tabIndex,
170
192
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
171
193
 
172
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
173
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
174
- selectId = _useState2[0];
194
+ var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
195
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
196
+ selectId = _useState4[0];
175
197
 
176
198
  var selectLabelId = "label-".concat(selectId);
177
199
  var errorId = "error-".concat(selectId);
178
200
  var optionsListId = "".concat(selectId, "-listbox");
179
201
 
180
- var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
181
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
182
- innerValue = _useState4[0],
183
- setInnerValue = _useState4[1];
184
-
185
- var _useState5 = (0, _react.useState)(""),
202
+ var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
186
203
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
187
- searchValue = _useState6[0],
188
- setSearchValue = _useState6[1];
204
+ innerValue = _useState6[0],
205
+ setInnerValue = _useState6[1];
189
206
 
190
- var _useState7 = (0, _react.useState)(-1),
207
+ var _useState7 = (0, _react.useState)(""),
191
208
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
192
- visualFocusIndex = _useState8[0],
193
- changeVisualFocusIndex = _useState8[1];
209
+ searchValue = _useState8[0],
210
+ setSearchValue = _useState8[1];
194
211
 
195
- var _useState9 = (0, _react.useState)(false),
212
+ var _useState9 = (0, _react.useState)(-1),
196
213
  _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
197
- isOpen = _useState10[0],
198
- changeIsOpen = _useState10[1];
214
+ visualFocusIndex = _useState10[0],
215
+ changeVisualFocusIndex = _useState10[1];
216
+
217
+ var _useState11 = (0, _react.useState)(false),
218
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
219
+ isOpen = _useState12[0],
220
+ changeIsOpen = _useState12[1];
199
221
 
200
222
  var selectRef = (0, _react.useRef)(null);
201
223
  var selectSearchInputRef = (0, _react.useRef)(null);
224
+ var width = useWidth(selectRef.current);
202
225
  var colorsTheme = (0, _useTheme["default"])();
203
226
  var translatedLabels = (0, _useTranslatedLabels["default"])();
204
227
  var optionalItem = {
@@ -233,9 +256,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
233
256
  var newValue;
234
257
 
235
258
  if (multiple) {
236
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
259
+ var _ref2, _ref3;
260
+
261
+ if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = ((_ref2 = value && Array.isArray(value) && value) !== null && _ref2 !== void 0 ? _ref2 : innerValue && Array.isArray(innerValue) && innerValue).filter(function (optionVal) {
237
262
  return optionVal !== newOption.value;
238
- });else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
263
+ });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
239
264
  } else newValue = newOption.value;
240
265
 
241
266
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
@@ -359,12 +384,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
359
384
  !multiple && closeOptions();
360
385
  setSearchValue("");
361
386
  }, [handleSelectChangeValue, closeOptions, multiple]);
362
- var getSelectWidth = (0, _react.useCallback)(function () {
363
- var _selectRef$current;
364
-
365
- var rect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
366
- return rect === null || rect === void 0 ? void 0 : rect.width;
367
- }, []);
368
387
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
369
388
  theme: colorsTheme.select
370
389
  }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
@@ -405,7 +424,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
405
424
  "aria-invalid": error ? true : false,
406
425
  "aria-errormessage": error ? errorId : undefined,
407
426
  "aria-required": !disabled && !optional
408
- }, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
427
+ }, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
409
428
  disabled: disabled
410
429
  }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
411
430
  disabled: disabled,
@@ -420,7 +439,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
420
439
  }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
421
440
  name: name,
422
441
  disabled: disabled,
423
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
442
+ value: multiple ? ((_ref4 = value && Array.isArray(value) && value) !== null && _ref4 !== void 0 ? _ref4 : innerValue && Array.isArray(innerValue) && innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
424
443
  readOnly: true,
425
444
  "aria-hidden": "true"
426
445
  }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
@@ -434,9 +453,9 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
434
453
  }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
435
454
  disabled: disabled,
436
455
  atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
437
- }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
456
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, Array.isArray(selectedOption) && selectedOption.map(function (option) {
438
457
  return option.label;
439
- }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
458
+ }).join(", ")), Array.isArray(selectedOption) && selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
440
459
  disabled: disabled,
441
460
  atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
442
461
  }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
@@ -471,7 +490,9 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
471
490
  optionalItem: optionalItem,
472
491
  searchable: searchable,
473
492
  handleOptionOnClick: handleOptionOnClick,
474
- getSelectWidth: getSelectWidth
493
+ styles: {
494
+ width: width
495
+ }
475
496
  }))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
476
497
  id: errorId,
477
498
  "aria-live": error ? "assertive" : "off"