@dxc-technology/halstack-react 10.1.0 → 11.0.0

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 (210) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +5 -17
  3. package/HalstackContext.d.ts +18 -6
  4. package/HalstackContext.js +9 -34
  5. package/accordion/Accordion.js +21 -58
  6. package/accordion/Accordion.stories.tsx +1 -15
  7. package/accordion/Accordion.test.js +18 -33
  8. package/accordion/types.d.ts +5 -5
  9. package/accordion-group/AccordionGroup.js +15 -42
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +42 -60
  12. package/accordion-group/AccordionGroupAccordion.js +9 -21
  13. package/accordion-group/types.d.ts +6 -6
  14. package/alert/Alert.js +14 -46
  15. package/alert/Alert.test.js +28 -45
  16. package/alert/types.d.ts +5 -5
  17. package/badge/Badge.js +4 -17
  18. package/badge/types.d.ts +1 -1
  19. package/bleed/Bleed.js +13 -21
  20. package/bleed/types.d.ts +2 -2
  21. package/box/Box.js +10 -29
  22. package/box/Box.test.js +1 -6
  23. package/box/types.d.ts +3 -3
  24. package/bulleted-list/BulletedList.js +7 -33
  25. package/bulleted-list/BulletedList.stories.tsx +1 -91
  26. package/bulleted-list/types.d.ts +5 -5
  27. package/button/Button.js +23 -46
  28. package/button/Button.stories.tsx +5 -86
  29. package/button/Button.test.js +11 -21
  30. package/button/types.d.ts +4 -4
  31. package/card/Card.js +21 -44
  32. package/card/Card.test.js +10 -21
  33. package/card/types.d.ts +5 -5
  34. package/checkbox/Checkbox.js +81 -111
  35. package/checkbox/Checkbox.stories.tsx +16 -54
  36. package/checkbox/Checkbox.test.js +107 -63
  37. package/checkbox/types.d.ts +8 -4
  38. package/chip/Chip.js +12 -31
  39. package/chip/Chip.test.js +15 -28
  40. package/chip/types.d.ts +4 -4
  41. package/common/coreTokens.js +1 -2
  42. package/common/utils.js +2 -8
  43. package/common/variables.d.ts +15 -6
  44. package/common/variables.js +17 -15
  45. package/date-input/Calendar.js +13 -57
  46. package/date-input/DateInput.js +50 -96
  47. package/date-input/DateInput.stories.tsx +11 -30
  48. package/date-input/DateInput.test.js +674 -701
  49. package/date-input/DatePicker.js +11 -42
  50. package/date-input/Icons.d.ts +6 -6
  51. package/date-input/Icons.js +6 -23
  52. package/date-input/YearPicker.js +8 -34
  53. package/date-input/types.d.ts +27 -21
  54. package/dialog/Dialog.js +11 -35
  55. package/dialog/Dialog.test.js +125 -187
  56. package/dialog/types.d.ts +18 -13
  57. package/dropdown/Dropdown.js +39 -93
  58. package/dropdown/Dropdown.test.js +391 -378
  59. package/dropdown/DropdownMenu.js +8 -19
  60. package/dropdown/DropdownMenuItem.js +5 -17
  61. package/dropdown/types.d.ts +17 -19
  62. package/file-input/FileInput.js +131 -220
  63. package/file-input/FileInput.stories.tsx +1 -1
  64. package/file-input/FileInput.test.js +293 -342
  65. package/file-input/FileItem.js +12 -39
  66. package/file-input/types.d.ts +9 -9
  67. package/flex/Flex.js +25 -39
  68. package/flex/types.d.ts +6 -6
  69. package/footer/Footer.js +9 -39
  70. package/footer/Footer.test.js +18 -32
  71. package/footer/Icons.d.ts +2 -2
  72. package/footer/Icons.js +2 -7
  73. package/footer/types.d.ts +13 -13
  74. package/grid/Grid.js +1 -16
  75. package/grid/types.d.ts +10 -10
  76. package/header/Header.d.ts +1 -1
  77. package/header/Header.js +19 -64
  78. package/header/Header.test.js +12 -25
  79. package/header/Icons.d.ts +2 -2
  80. package/header/Icons.js +2 -7
  81. package/header/types.d.ts +5 -7
  82. package/heading/Heading.js +9 -31
  83. package/heading/Heading.test.js +70 -87
  84. package/heading/types.d.ts +7 -7
  85. package/image/Image.d.ts +2 -2
  86. package/image/Image.js +17 -32
  87. package/image/types.d.ts +2 -2
  88. package/inset/Inset.js +13 -21
  89. package/inset/types.d.ts +2 -2
  90. package/layout/ApplicationLayout.d.ts +1 -1
  91. package/layout/ApplicationLayout.js +14 -54
  92. package/layout/Icons.d.ts +5 -5
  93. package/layout/Icons.js +1 -5
  94. package/layout/SidenavContext.d.ts +1 -1
  95. package/layout/SidenavContext.js +3 -9
  96. package/layout/types.d.ts +3 -3
  97. package/link/Link.js +21 -42
  98. package/link/Link.test.js +23 -41
  99. package/link/types.d.ts +14 -14
  100. package/main.d.ts +1 -1
  101. package/main.js +3 -52
  102. package/nav-tabs/NavTabs.js +11 -43
  103. package/nav-tabs/NavTabs.stories.tsx +1 -1
  104. package/nav-tabs/NavTabs.test.js +36 -43
  105. package/nav-tabs/Tab.js +16 -45
  106. package/nav-tabs/types.d.ts +9 -9
  107. package/number-input/NumberInput.d.ts +1 -1
  108. package/number-input/NumberInput.js +24 -35
  109. package/number-input/NumberInput.stories.tsx +42 -26
  110. package/number-input/NumberInput.test.js +682 -577
  111. package/number-input/types.d.ts +11 -5
  112. package/package.json +27 -25
  113. package/paginator/Icons.d.ts +5 -5
  114. package/paginator/Icons.js +5 -19
  115. package/paginator/Paginator.js +14 -39
  116. package/paginator/Paginator.test.js +224 -207
  117. package/paginator/types.d.ts +3 -3
  118. package/paragraph/Paragraph.js +3 -14
  119. package/paragraph/Paragraph.stories.tsx +0 -17
  120. package/password-input/Icons.d.ts +3 -3
  121. package/password-input/Icons.js +1 -5
  122. package/password-input/PasswordInput.js +26 -48
  123. package/password-input/PasswordInput.stories.tsx +1 -33
  124. package/password-input/PasswordInput.test.js +153 -129
  125. package/password-input/types.d.ts +8 -7
  126. package/progress-bar/ProgressBar.js +16 -42
  127. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  128. package/progress-bar/ProgressBar.test.js +35 -52
  129. package/progress-bar/types.d.ts +3 -3
  130. package/quick-nav/QuickNav.js +4 -27
  131. package/quick-nav/QuickNav.stories.tsx +1 -1
  132. package/quick-nav/types.d.ts +10 -10
  133. package/radio-group/Radio.d.ts +1 -1
  134. package/radio-group/Radio.js +22 -54
  135. package/radio-group/RadioGroup.js +37 -83
  136. package/radio-group/RadioGroup.stories.tsx +10 -10
  137. package/radio-group/RadioGroup.test.js +504 -470
  138. package/radio-group/types.d.ts +8 -8
  139. package/resultset-table/Icons.d.ts +7 -0
  140. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  141. package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
  142. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  143. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  144. package/select/Icons.d.ts +7 -7
  145. package/select/Icons.js +1 -5
  146. package/select/Listbox.js +13 -39
  147. package/select/Option.js +9 -26
  148. package/select/Select.js +54 -138
  149. package/select/Select.test.js +1902 -1796
  150. package/select/types.d.ts +14 -15
  151. package/sidenav/Icons.d.ts +4 -4
  152. package/sidenav/Icons.js +1 -5
  153. package/sidenav/Sidenav.js +24 -63
  154. package/sidenav/Sidenav.test.js +3 -10
  155. package/sidenav/types.d.ts +18 -18
  156. package/slider/Slider.js +38 -86
  157. package/slider/Slider.test.js +107 -103
  158. package/slider/types.d.ts +4 -4
  159. package/spinner/Spinner.js +10 -40
  160. package/spinner/Spinner.test.js +25 -34
  161. package/spinner/types.d.ts +3 -3
  162. package/switch/Switch.js +26 -69
  163. package/switch/Switch.stories.tsx +0 -34
  164. package/switch/Switch.test.js +51 -96
  165. package/switch/types.d.ts +4 -4
  166. package/table/Table.js +4 -23
  167. package/table/Table.test.js +1 -6
  168. package/table/types.d.ts +8 -8
  169. package/tabs/Tab.js +10 -29
  170. package/tabs/Tabs.js +48 -124
  171. package/tabs/Tabs.test.js +62 -118
  172. package/tabs/types.d.ts +19 -19
  173. package/tag/Tag.js +21 -51
  174. package/tag/Tag.test.js +19 -30
  175. package/tag/types.d.ts +7 -7
  176. package/text-input/Icons.d.ts +5 -5
  177. package/text-input/Icons.js +1 -5
  178. package/text-input/Suggestion.js +9 -26
  179. package/text-input/Suggestions.d.ts +1 -1
  180. package/text-input/Suggestions.js +12 -57
  181. package/text-input/TextInput.js +128 -193
  182. package/text-input/TextInput.stories.tsx +48 -152
  183. package/text-input/TextInput.test.js +1210 -1194
  184. package/text-input/types.d.ts +25 -17
  185. package/textarea/Textarea.js +60 -96
  186. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
  187. package/textarea/Textarea.test.js +150 -179
  188. package/textarea/types.d.ts +9 -5
  189. package/toggle-group/ToggleGroup.js +20 -57
  190. package/toggle-group/ToggleGroup.stories.tsx +1 -1
  191. package/toggle-group/ToggleGroup.test.js +48 -81
  192. package/toggle-group/types.d.ts +10 -10
  193. package/typography/Typography.js +4 -13
  194. package/typography/types.d.ts +1 -1
  195. package/useTheme.d.ts +12 -3
  196. package/useTheme.js +1 -8
  197. package/useTranslatedLabels.js +1 -7
  198. package/utils/BaseTypography.d.ts +2 -2
  199. package/utils/BaseTypography.js +16 -30
  200. package/utils/FocusLock.js +12 -36
  201. package/wizard/Wizard.js +14 -49
  202. package/wizard/Wizard.test.js +53 -80
  203. package/wizard/types.d.ts +6 -6
  204. package/resultsetTable/Icons.d.ts +0 -7
  205. package/slider/Slider.stories.tsx +0 -240
  206. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  207. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  208. /package/{resultsetTable → resultset-table}/types.js +0 -0
  209. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  210. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
package/select/Select.js CHANGED
@@ -1,66 +1,42 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
13
  var _react = _interopRequireWildcard(require("react"));
21
-
22
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
16
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
-
28
17
  var _variables = require("../common/variables");
29
-
30
18
  var _uuid = require("uuid");
31
-
32
19
  var _utils = require("../common/utils");
33
-
34
20
  var _Icons = _interopRequireDefault(require("./Icons"));
35
-
36
21
  var _Listbox = _interopRequireDefault(require("./Listbox"));
37
-
38
22
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
39
-
40
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
41
-
42
- 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); }
43
-
44
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
-
23
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17; // @ts-nocheck
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
46
26
  var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
47
27
  return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
48
28
  return groupOption.options.length > 0;
49
29
  }) : false : true;
50
30
  };
51
-
52
31
  var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
53
32
  return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
54
33
  var _groupOption$options;
55
-
56
34
  return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
57
35
  }) : true;
58
36
  };
59
-
60
37
  var canOpenOptions = function canOpenOptions(options, disabled) {
61
38
  return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
62
39
  };
63
-
64
40
  var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
65
41
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
66
42
  if (options[0].options) return options.map(function (optionGroup) {
@@ -76,24 +52,18 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
76
52
  });
77
53
  }
78
54
  };
79
-
80
55
  var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
81
56
  var last = 0;
82
-
83
57
  var reducer = function reducer(acc, current) {
84
58
  var _current$options;
85
-
86
59
  return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
87
60
  };
88
-
89
61
  if (searchable && filteredOptions.length > 0) filteredOptions[0].options ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) options[0].options ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
90
62
  return optional && !multiple ? last + 1 : last;
91
63
  };
92
-
93
64
  var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
94
65
  var selectedOption = multiple ? [] : {};
95
66
  var singleSelectionIndex;
96
-
97
67
  if (multiple) {
98
68
  if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
99
69
  options.forEach(function (option) {
@@ -118,7 +88,6 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
118
88
  singleSelectionIndex = optional ? group_index + 1 : group_index;
119
89
  return true;
120
90
  }
121
-
122
91
  group_index++;
123
92
  });
124
93
  } else if (option.value === value) {
@@ -129,23 +98,19 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
129
98
  });
130
99
  }
131
100
  }
132
-
133
101
  return {
134
102
  selectedOption: selectedOption,
135
103
  singleSelectionIndex: singleSelectionIndex
136
104
  };
137
105
  };
138
-
139
106
  var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
140
107
  return !optional && (multiple ? value.length === 0 : value === "");
141
108
  };
142
-
143
109
  var useWidth = function useWidth(target) {
144
110
  var _useState = (0, _react.useState)(0),
145
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
146
- width = _useState2[0],
147
- setWidth = _useState2[1];
148
-
111
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
112
+ width = _useState2[0],
113
+ setWidth = _useState2[1];
149
114
  (0, _react.useEffect)(function () {
150
115
  if (target != null) {
151
116
  setWidth(target.getBoundingClientRect().width);
@@ -161,64 +126,55 @@ var useWidth = function useWidth(target) {
161
126
  }, [target]);
162
127
  return width;
163
128
  };
164
-
165
129
  var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
166
130
  var _ref4, _selectedOption$label;
167
-
168
131
  var label = _ref.label,
169
- _ref$name = _ref.name,
170
- name = _ref$name === void 0 ? "" : _ref$name,
171
- defaultValue = _ref.defaultValue,
172
- value = _ref.value,
173
- options = _ref.options,
174
- helperText = _ref.helperText,
175
- _ref$placeholder = _ref.placeholder,
176
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
177
- _ref$disabled = _ref.disabled,
178
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
179
- _ref$optional = _ref.optional,
180
- optional = _ref$optional === void 0 ? false : _ref$optional,
181
- _ref$searchable = _ref.searchable,
182
- searchable = _ref$searchable === void 0 ? false : _ref$searchable,
183
- _ref$multiple = _ref.multiple,
184
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
185
- onChange = _ref.onChange,
186
- onBlur = _ref.onBlur,
187
- error = _ref.error,
188
- margin = _ref.margin,
189
- _ref$size = _ref.size,
190
- size = _ref$size === void 0 ? "medium" : _ref$size,
191
- _ref$tabIndex = _ref.tabIndex,
192
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
193
-
132
+ _ref$name = _ref.name,
133
+ name = _ref$name === void 0 ? "" : _ref$name,
134
+ defaultValue = _ref.defaultValue,
135
+ value = _ref.value,
136
+ options = _ref.options,
137
+ helperText = _ref.helperText,
138
+ _ref$placeholder = _ref.placeholder,
139
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
140
+ _ref$disabled = _ref.disabled,
141
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
142
+ _ref$optional = _ref.optional,
143
+ optional = _ref$optional === void 0 ? false : _ref$optional,
144
+ _ref$searchable = _ref.searchable,
145
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
146
+ _ref$multiple = _ref.multiple,
147
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
148
+ onChange = _ref.onChange,
149
+ onBlur = _ref.onBlur,
150
+ error = _ref.error,
151
+ margin = _ref.margin,
152
+ _ref$size = _ref.size,
153
+ size = _ref$size === void 0 ? "medium" : _ref$size,
154
+ _ref$tabIndex = _ref.tabIndex,
155
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
194
156
  var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
195
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
196
- selectId = _useState4[0];
197
-
157
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
158
+ selectId = _useState4[0];
198
159
  var selectLabelId = "label-".concat(selectId);
199
160
  var errorId = "error-".concat(selectId);
200
161
  var optionsListId = "".concat(selectId, "-listbox");
201
-
202
162
  var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
203
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
204
- innerValue = _useState6[0],
205
- setInnerValue = _useState6[1];
206
-
163
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
164
+ innerValue = _useState6[0],
165
+ setInnerValue = _useState6[1];
207
166
  var _useState7 = (0, _react.useState)(""),
208
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
209
- searchValue = _useState8[0],
210
- setSearchValue = _useState8[1];
211
-
167
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
168
+ searchValue = _useState8[0],
169
+ setSearchValue = _useState8[1];
212
170
  var _useState9 = (0, _react.useState)(-1),
213
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
214
- visualFocusIndex = _useState10[0],
215
- changeVisualFocusIndex = _useState10[1];
216
-
171
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
172
+ visualFocusIndex = _useState10[0],
173
+ changeVisualFocusIndex = _useState10[1];
217
174
  var _useState11 = (0, _react.useState)(false),
218
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
219
- isOpen = _useState12[0],
220
- changeIsOpen = _useState12[1];
221
-
175
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
176
+ isOpen = _useState12[0],
177
+ changeIsOpen = _useState12[1];
222
178
  var selectRef = (0, _react.useRef)(null);
223
179
  var selectSearchInputRef = (0, _react.useRef)(null);
224
180
  var width = useWidth(selectRef.current);
@@ -234,35 +190,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
234
190
  var lastOptionIndex = (0, _react.useMemo)(function () {
235
191
  return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
236
192
  }, [options, filteredOptions, searchable, optional, multiple]);
237
-
238
193
  var _useMemo = (0, _react.useMemo)(function () {
239
- return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
240
- }, [value, innerValue, options, multiple, optional, optionalItem]),
241
- selectedOption = _useMemo.selectedOption,
242
- singleSelectionIndex = _useMemo.singleSelectionIndex;
243
-
194
+ return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
195
+ }, [value, innerValue, options, multiple, optional, optionalItem]),
196
+ selectedOption = _useMemo.selectedOption,
197
+ singleSelectionIndex = _useMemo.singleSelectionIndex;
244
198
  var openOptions = function openOptions() {
245
199
  if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
246
200
  };
247
-
248
201
  var closeOptions = function closeOptions() {
249
202
  if (isOpen) {
250
203
  changeIsOpen(false);
251
204
  changeVisualFocusIndex(-1);
252
205
  }
253
206
  };
254
-
255
207
  var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
256
208
  var newValue;
257
-
258
209
  if (multiple) {
259
210
  var _ref2, _ref3;
260
-
261
211
  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) {
262
212
  return optionVal !== newOption.value;
263
213
  });else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
264
214
  } else newValue = newOption.value;
265
-
266
215
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
267
216
  notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
268
217
  value: newValue,
@@ -271,20 +220,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
271
220
  value: newValue
272
221
  });
273
222
  };
274
-
275
223
  var handleSelectOnClick = function handleSelectOnClick() {
276
224
  searchable && selectSearchInputRef.current.focus();
277
-
278
225
  if (isOpen) {
279
226
  closeOptions();
280
227
  setSearchValue("");
281
228
  } else openOptions();
282
229
  };
283
-
284
230
  var handleSelectOnFocus = function handleSelectOnFocus(event) {
285
231
  if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
286
232
  };
287
-
288
233
  var handleSelectOnBlur = function handleSelectOnBlur(event) {
289
234
  // focus leaves container (outside, not to childs)
290
235
  if (!event.currentTarget.contains(event.relatedTarget)) {
@@ -299,7 +244,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
299
244
  });
300
245
  }
301
246
  };
302
-
303
247
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
304
248
  switch (event.key) {
305
249
  case "Down":
@@ -310,7 +254,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
310
254
  });
311
255
  openOptions();
312
256
  break;
313
-
314
257
  case "Up":
315
258
  case "ArrowUp":
316
259
  event.preventDefault();
@@ -319,18 +262,15 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
319
262
  });
320
263
  openOptions();
321
264
  break;
322
-
323
265
  case "Esc":
324
266
  case "Escape":
325
267
  event.preventDefault();
326
268
  closeOptions();
327
269
  setSearchValue("");
328
270
  break;
329
-
330
271
  case "Enter":
331
272
  if (isOpen && visualFocusIndex >= 0) {
332
273
  var accLength = optional && !multiple ? 1 : 0;
333
-
334
274
  if (searchable) {
335
275
  if (filteredOptions.length > 0) {
336
276
  if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
@@ -348,21 +288,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
348
288
  return groupLength > visualFocusIndex;
349
289
  }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
350
290
  }
351
-
352
291
  !multiple && closeOptions();
353
292
  setSearchValue("");
354
293
  }
355
-
356
294
  break;
357
295
  }
358
296
  };
359
-
360
297
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
361
298
  setSearchValue(event.target.value);
362
299
  changeVisualFocusIndex(-1);
363
300
  openOptions();
364
301
  };
365
-
366
302
  var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
367
303
  event.stopPropagation();
368
304
  value !== null && value !== void 0 ? value : setInnerValue([]);
@@ -373,12 +309,10 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
373
309
  value: []
374
310
  });
375
311
  };
376
-
377
312
  var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
378
313
  event.stopPropagation();
379
314
  setSearchValue("");
380
315
  };
381
-
382
316
  var handleOptionOnClick = (0, _react.useCallback)(function (option) {
383
317
  handleSelectChangeValue(option);
384
318
  !multiple && closeOptions();
@@ -469,8 +403,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
469
403
  "aria-label": translatedLabels.select.actionClearSearchTitle
470
404
  }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
471
405
  disabled: disabled
472
- }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
406
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
473
407
  sideOffset: 4,
408
+ style: {
409
+ zIndex: "2147483647"
410
+ },
474
411
  onOpenAutoFocus: function onOpenAutoFocus(event) {
475
412
  // Avoid select to lose focus when the list is opened
476
413
  event.preventDefault();
@@ -493,23 +430,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
493
430
  styles: {
494
431
  width: width
495
432
  }
496
- }))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
433
+ })))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
497
434
  id: errorId,
498
435
  "aria-live": error ? "assertive" : "off"
499
436
  }, error)));
500
437
  });
501
-
502
438
  var sizes = {
503
439
  small: "240px",
504
440
  medium: "360px",
505
441
  large: "480px",
506
442
  fillParent: "100%"
507
443
  };
508
-
509
444
  var calculateWidth = function calculateWidth(margin, size) {
510
445
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
511
446
  };
512
-
513
447
  var SelectContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
514
448
  return calculateWidth(props.margin, props.size);
515
449
  }, function (props) {
@@ -523,7 +457,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
523
457
  }, function (props) {
524
458
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
525
459
  });
526
-
527
460
  var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n ", "\n"])), function (props) {
528
461
  return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
529
462
  }, function (props) {
@@ -539,11 +472,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
539
472
  }, function (props) {
540
473
  return !props.helperText && "margin-bottom: 0.25rem";
541
474
  });
542
-
543
475
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
544
476
  return props.theme.optionalLabelFontWeight;
545
477
  });
546
-
547
478
  var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
548
479
  return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
549
480
  }, function (props) {
@@ -557,7 +488,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
557
488
  }, function (props) {
558
489
  return props.theme.helperTextLineHeight;
559
490
  });
560
-
561
491
  var Select = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n outline: none;\n ", ";\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
562
492
  return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
563
493
  }, function (props) {
@@ -569,11 +499,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
569
499
  }, function (props) {
570
500
  return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.theme.hoverInputBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverInputErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusInputBorderColor, ";\n }\n ");
571
501
  });
572
-
573
502
  var SelectionIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n max-height: 22px;\n width: 46px;\n"])), function (props) {
574
503
  return props.theme.selectionIndicatorBorderColor;
575
504
  });
576
-
577
505
  var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n user-select: none;\n ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"])), function (props) {
578
506
  return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
579
507
  }, function (props) {
@@ -591,7 +519,6 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
591
519
  }, function (props) {
592
520
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
593
521
  });
594
-
595
522
  var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n border: none;\n padding: 0.25rem;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"])), function (props) {
596
523
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
597
524
  }, function (props) {
@@ -601,9 +528,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
601
528
  }, function (props) {
602
529
  return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
603
530
  });
604
-
605
531
  var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
606
-
607
532
  var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
608
533
  if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
609
534
  }, function (props) {
@@ -615,11 +540,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
615
540
  }, function (props) {
616
541
  return props.theme.valueFontWeight;
617
542
  });
618
-
619
543
  var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
620
-
621
544
  var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
622
-
623
545
  var SearchInput = _styledComponents["default"].input(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(2.5rem - 2px);\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
624
546
  return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
625
547
  }, function (props) {
@@ -631,21 +553,17 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
631
553
  }, function (props) {
632
554
  return props.theme.valueFontWeight;
633
555
  });
634
-
635
556
  var ErrorIcon = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
636
557
  return props.theme.errorIconColor;
637
558
  });
638
-
639
559
  var Error = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
640
560
  return props.theme.errorMessageColor;
641
561
  }, function (props) {
642
562
  return props.theme.fontFamily;
643
563
  });
644
-
645
564
  var CollapseIndicator = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: 0.25rem;\n color: ", ";\n"])), function (props) {
646
565
  return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
647
566
  });
648
-
649
567
  var ClearSearchAction = _styledComponents["default"].button(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n background-color: ", ";\n color: ", ";\n\n cursor: pointer;\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n svg {\n line-height: 18px;\n }\n"])), function (props) {
650
568
  return props.theme.fontFamily;
651
569
  }, function (props) {
@@ -661,6 +579,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
661
579
  }, function (props) {
662
580
  return props.theme.activeActionIconColor;
663
581
  });
664
-
665
- var _default = DxcSelect;
666
- exports["default"] = _default;
582
+ var _default = exports["default"] = DxcSelect;