@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-ca55cbe

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 (243) 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 +117 -77
  5. package/accordion/Accordion.js +118 -110
  6. package/accordion/Accordion.stories.tsx +104 -16
  7. package/accordion/Accordion.test.js +10 -11
  8. package/accordion/types.d.ts +2 -1
  9. package/accordion-group/AccordionGroup.js +4 -23
  10. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  11. package/accordion-group/AccordionGroup.test.js +21 -46
  12. package/accordion-group/types.d.ts +8 -1
  13. package/alert/Alert.js +4 -6
  14. package/alert/Alert.stories.tsx +28 -0
  15. package/alert/Alert.test.js +1 -1
  16. package/bleed/Bleed.js +1 -34
  17. package/bleed/Bleed.stories.tsx +95 -95
  18. package/bleed/types.d.ts +1 -1
  19. package/box/Box.js +4 -6
  20. package/box/Box.stories.tsx +15 -0
  21. package/box/Box.test.js +1 -1
  22. package/box/types.d.ts +1 -0
  23. package/bulleted-list/BulletedList.d.ts +7 -0
  24. package/bulleted-list/BulletedList.js +125 -0
  25. package/bulleted-list/BulletedList.stories.tsx +206 -0
  26. package/bulleted-list/types.d.ts +11 -0
  27. package/button/Button.js +52 -73
  28. package/button/Button.stories.tsx +159 -8
  29. package/button/Button.test.js +1 -1
  30. package/button/types.d.ts +5 -5
  31. package/card/Card.js +12 -13
  32. package/card/Card.stories.tsx +12 -13
  33. package/card/Card.test.js +1 -1
  34. package/card/types.d.ts +1 -0
  35. package/checkbox/Checkbox.d.ts +2 -2
  36. package/checkbox/Checkbox.js +94 -101
  37. package/checkbox/Checkbox.stories.tsx +131 -59
  38. package/checkbox/Checkbox.test.js +94 -17
  39. package/checkbox/types.d.ts +4 -0
  40. package/chip/Chip.js +18 -26
  41. package/chip/Chip.stories.tsx +96 -9
  42. package/chip/Chip.test.js +3 -5
  43. package/chip/types.d.ts +1 -1
  44. package/common/OpenSans.css +68 -80
  45. package/common/coreTokens.d.ts +146 -0
  46. package/common/coreTokens.js +167 -0
  47. package/common/utils.d.ts +1 -0
  48. package/common/utils.js +4 -4
  49. package/common/variables.d.ts +1482 -0
  50. package/common/variables.js +1009 -1118
  51. package/date-input/Calendar.d.ts +4 -0
  52. package/date-input/Calendar.js +258 -0
  53. package/date-input/DateInput.js +134 -237
  54. package/date-input/DateInput.stories.tsx +199 -33
  55. package/date-input/DateInput.test.js +494 -138
  56. package/date-input/DatePicker.d.ts +4 -0
  57. package/date-input/DatePicker.js +146 -0
  58. package/date-input/Icons.d.ts +6 -0
  59. package/date-input/Icons.js +75 -0
  60. package/date-input/YearPicker.d.ts +4 -0
  61. package/date-input/YearPicker.js +126 -0
  62. package/date-input/types.d.ts +51 -0
  63. package/dialog/Dialog.js +80 -69
  64. package/dialog/Dialog.stories.tsx +230 -123
  65. package/dialog/Dialog.test.js +334 -5
  66. package/dialog/types.d.ts +1 -0
  67. package/dropdown/Dropdown.d.ts +1 -1
  68. package/dropdown/Dropdown.js +246 -249
  69. package/dropdown/Dropdown.stories.tsx +245 -56
  70. package/dropdown/Dropdown.test.js +507 -110
  71. package/dropdown/DropdownMenu.d.ts +4 -0
  72. package/dropdown/DropdownMenu.js +74 -0
  73. package/dropdown/DropdownMenuItem.d.ts +4 -0
  74. package/dropdown/DropdownMenuItem.js +79 -0
  75. package/dropdown/types.d.ts +23 -3
  76. package/file-input/FileInput.d.ts +2 -2
  77. package/file-input/FileInput.js +174 -220
  78. package/file-input/FileInput.stories.tsx +122 -11
  79. package/file-input/FileInput.test.js +14 -14
  80. package/file-input/FileItem.d.ts +4 -14
  81. package/file-input/FileItem.js +39 -63
  82. package/file-input/types.d.ts +17 -0
  83. package/flex/Flex.d.ts +4 -0
  84. package/flex/Flex.js +71 -0
  85. package/flex/Flex.stories.tsx +112 -0
  86. package/flex/types.d.ts +97 -0
  87. package/footer/Footer.js +6 -8
  88. package/footer/Footer.stories.tsx +99 -1
  89. package/footer/Footer.test.js +14 -26
  90. package/footer/Icons.js +1 -1
  91. package/footer/types.d.ts +2 -1
  92. package/grid/Grid.d.ts +7 -0
  93. package/grid/Grid.js +91 -0
  94. package/grid/Grid.stories.tsx +219 -0
  95. package/grid/types.d.ts +115 -0
  96. package/header/Header.d.ts +3 -2
  97. package/header/Header.js +89 -89
  98. package/header/Header.stories.tsx +152 -9
  99. package/header/Header.test.js +2 -2
  100. package/header/Icons.js +2 -2
  101. package/header/types.d.ts +1 -0
  102. package/heading/Heading.js +1 -1
  103. package/heading/Heading.test.js +1 -1
  104. package/inset/Inset.js +1 -34
  105. package/inset/Inset.stories.tsx +37 -36
  106. package/inset/types.d.ts +1 -1
  107. package/layout/ApplicationLayout.d.ts +15 -6
  108. package/layout/ApplicationLayout.js +38 -66
  109. package/layout/ApplicationLayout.stories.tsx +80 -44
  110. package/layout/types.d.ts +18 -29
  111. package/link/Link.js +4 -4
  112. package/link/Link.stories.tsx +73 -6
  113. package/link/Link.test.js +2 -4
  114. package/link/types.d.ts +3 -3
  115. package/main.d.ts +7 -9
  116. package/main.js +33 -49
  117. package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
  118. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  119. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  120. package/{tabs-nav → nav-tabs}/Tab.js +40 -22
  121. package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
  122. package/number-input/NumberInput.test.js +44 -8
  123. package/package.json +17 -21
  124. package/paginator/Icons.d.ts +5 -0
  125. package/paginator/Icons.js +16 -28
  126. package/paginator/Paginator.js +7 -15
  127. package/paginator/Paginator.stories.tsx +24 -0
  128. package/paginator/Paginator.test.js +78 -39
  129. package/paragraph/Paragraph.d.ts +5 -0
  130. package/paragraph/Paragraph.js +38 -0
  131. package/paragraph/Paragraph.stories.tsx +44 -0
  132. package/password-input/PasswordInput.test.js +14 -13
  133. package/progress-bar/ProgressBar.js +60 -54
  134. package/progress-bar/ProgressBar.stories.jsx +38 -3
  135. package/progress-bar/ProgressBar.test.js +68 -23
  136. package/quick-nav/QuickNav.js +25 -20
  137. package/quick-nav/QuickNav.stories.tsx +145 -26
  138. package/radio-group/Radio.d.ts +1 -1
  139. package/radio-group/Radio.js +43 -28
  140. package/radio-group/RadioGroup.js +23 -22
  141. package/radio-group/RadioGroup.stories.tsx +132 -18
  142. package/radio-group/RadioGroup.test.js +124 -97
  143. package/radio-group/types.d.ts +2 -2
  144. package/resultsetTable/Icons.d.ts +7 -0
  145. package/resultsetTable/Icons.js +51 -0
  146. package/resultsetTable/ResultsetTable.js +49 -108
  147. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  148. package/resultsetTable/ResultsetTable.test.js +61 -42
  149. package/resultsetTable/types.d.ts +1 -1
  150. package/select/Listbox.d.ts +1 -1
  151. package/select/Listbox.js +33 -16
  152. package/select/Option.js +11 -24
  153. package/select/Select.js +92 -71
  154. package/select/Select.stories.tsx +513 -136
  155. package/select/Select.test.js +413 -305
  156. package/select/types.d.ts +3 -6
  157. package/sidenav/Icons.d.ts +7 -0
  158. package/sidenav/Icons.js +51 -0
  159. package/sidenav/Sidenav.d.ts +6 -5
  160. package/sidenav/Sidenav.js +139 -48
  161. package/sidenav/Sidenav.stories.tsx +251 -151
  162. package/sidenav/Sidenav.test.js +25 -37
  163. package/sidenav/types.d.ts +52 -26
  164. package/slider/Slider.d.ts +2 -2
  165. package/slider/Slider.js +121 -97
  166. package/slider/Slider.stories.tsx +64 -1
  167. package/slider/Slider.test.js +122 -22
  168. package/slider/types.d.ts +4 -0
  169. package/spinner/Spinner.js +17 -23
  170. package/spinner/Spinner.stories.jsx +53 -27
  171. package/spinner/Spinner.test.js +1 -1
  172. package/switch/Switch.d.ts +2 -2
  173. package/switch/Switch.js +137 -70
  174. package/switch/Switch.stories.tsx +41 -30
  175. package/switch/Switch.test.js +145 -18
  176. package/switch/types.d.ts +4 -0
  177. package/table/Table.js +3 -3
  178. package/table/Table.stories.jsx +80 -1
  179. package/table/Table.test.js +2 -2
  180. package/tabs/Tab.d.ts +4 -0
  181. package/tabs/Tab.js +132 -0
  182. package/tabs/Tabs.js +358 -108
  183. package/tabs/Tabs.stories.tsx +119 -5
  184. package/tabs/Tabs.test.js +220 -10
  185. package/tabs/types.d.ts +13 -3
  186. package/tag/Tag.js +8 -10
  187. package/tag/Tag.stories.tsx +14 -1
  188. package/tag/Tag.test.js +1 -1
  189. package/tag/types.d.ts +1 -1
  190. package/text-input/Icons.d.ts +8 -0
  191. package/text-input/Icons.js +60 -0
  192. package/text-input/Suggestion.js +40 -11
  193. package/text-input/Suggestions.d.ts +4 -0
  194. package/text-input/Suggestions.js +134 -0
  195. package/text-input/TextInput.js +198 -295
  196. package/text-input/TextInput.stories.tsx +280 -185
  197. package/text-input/TextInput.test.js +736 -725
  198. package/text-input/types.d.ts +22 -3
  199. package/textarea/Textarea.js +3 -4
  200. package/textarea/Textarea.stories.jsx +60 -1
  201. package/textarea/Textarea.test.js +2 -4
  202. package/toggle-group/ToggleGroup.js +7 -4
  203. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  204. package/toggle-group/ToggleGroup.test.js +1 -1
  205. package/toggle-group/types.d.ts +2 -2
  206. package/typography/Typography.d.ts +4 -0
  207. package/typography/Typography.js +32 -0
  208. package/typography/Typography.stories.tsx +198 -0
  209. package/typography/types.d.ts +18 -0
  210. package/typography/types.js +5 -0
  211. package/useTheme.d.ts +1234 -1
  212. package/useTheme.js +1 -1
  213. package/useTranslatedLabels.d.ts +84 -1
  214. package/utils/BaseTypography.d.ts +21 -0
  215. package/utils/BaseTypography.js +108 -0
  216. package/utils/FocusLock.d.ts +13 -0
  217. package/utils/FocusLock.js +139 -0
  218. package/wizard/Wizard.js +10 -17
  219. package/wizard/Wizard.stories.tsx +40 -1
  220. package/wizard/Wizard.test.js +1 -1
  221. package/wizard/types.d.ts +3 -3
  222. package/common/RequiredComponent.js +0 -32
  223. package/list/List.d.ts +0 -4
  224. package/list/List.js +0 -47
  225. package/list/List.stories.tsx +0 -95
  226. package/list/types.d.ts +0 -7
  227. package/row/Row.d.ts +0 -3
  228. package/row/Row.js +0 -127
  229. package/row/Row.stories.tsx +0 -237
  230. package/row/types.d.ts +0 -28
  231. package/stack/Stack.d.ts +0 -3
  232. package/stack/Stack.js +0 -97
  233. package/stack/Stack.stories.tsx +0 -164
  234. package/stack/types.d.ts +0 -24
  235. package/text/Text.d.ts +0 -7
  236. package/text/Text.js +0 -30
  237. package/text/Text.stories.tsx +0 -19
  238. /package/{list → bulleted-list}/types.js +0 -0
  239. /package/{row → flex}/types.js +0 -0
  240. /package/{stack → grid}/types.js +0 -0
  241. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  242. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  243. /package/{tabs-nav → nav-tabs}/types.js +0 -0
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { ListboxProps } from "./types";
3
- declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<ListboxProps & React.RefAttributes<HTMLUListElement>>>;
3
+ declare const _default: React.MemoExoticComponent<({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, styles, }: ListboxProps) => JSX.Element>;
4
4
  export default _default;
package/select/Listbox.js CHANGED
@@ -11,11 +11,9 @@ exports["default"] = void 0;
11
11
 
12
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
13
 
14
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
- var _useTheme = _interopRequireDefault(require("../useTheme"));
16
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
17
 
20
18
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
21
19
 
@@ -37,7 +35,7 @@ var groupsHaveOptions = function groupsHaveOptions(options) {
37
35
  }) : true;
38
36
  };
39
37
 
40
- var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
38
+ var Listbox = function Listbox(_ref) {
41
39
  var id = _ref.id,
42
40
  currentValue = _ref.currentValue,
43
41
  options = _ref.options,
@@ -47,10 +45,11 @@ var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
47
45
  optional = _ref.optional,
48
46
  optionalItem = _ref.optionalItem,
49
47
  searchable = _ref.searchable,
50
- handleOptionOnClick = _ref.handleOptionOnClick;
51
- var colorsTheme = (0, _useTheme["default"])();
48
+ handleOptionOnClick = _ref.handleOptionOnClick,
49
+ styles = _ref.styles;
52
50
  var translatedLabels = (0, _useTranslatedLabels["default"])();
53
- var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
51
+ var listboxRef = (0, _react.useRef)(null);
52
+ var globalIndex = optional && !multiple ? 0 : -1;
54
53
 
55
54
  var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
56
55
  if (option.options) {
@@ -92,9 +91,27 @@ var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
92
91
  }
93
92
  };
94
93
 
95
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
96
- theme: colorsTheme.select
97
- }, /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
94
+ (0, _react.useLayoutEffect)(function () {
95
+ if (currentValue && !multiple) {
96
+ var _listEl$scrollTo;
97
+
98
+ var listEl = listboxRef === null || listboxRef === void 0 ? void 0 : listboxRef.current;
99
+ var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
100
+ listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
101
+ top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
102
+ });
103
+ }
104
+ }, [currentValue, multiple]);
105
+ (0, _react.useLayoutEffect)(function () {
106
+ var _listboxRef$current, _visualFocusedOptionE;
107
+
108
+ var visualFocusedOptionEl = listboxRef === null || listboxRef === void 0 ? void 0 : (_listboxRef$current = listboxRef.current) === null || _listboxRef$current === void 0 ? void 0 : _listboxRef$current.querySelectorAll("[role='option']")[visualFocusIndex];
109
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
110
+ block: "nearest",
111
+ inline: "start"
112
+ });
113
+ }, [visualFocusIndex]);
114
+ return /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
98
115
  id: id,
99
116
  onClick: function onClick(event) {
100
117
  event.stopPropagation();
@@ -102,10 +119,10 @@ var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
102
119
  onMouseDown: function onMouseDown(event) {
103
120
  event.preventDefault();
104
121
  },
105
- ref: ref,
122
+ ref: listboxRef,
106
123
  role: "listbox",
107
124
  "aria-multiselectable": multiple,
108
- "aria-orientation": "vertical"
125
+ style: styles
109
126
  }, searchable && (options.length === 0 || !groupsHaveOptions(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, _Icons["default"].searchOff), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
110
127
  key: "option-".concat(optionalItem.value),
111
128
  id: "option-".concat(0),
@@ -116,10 +133,10 @@ var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
116
133
  isGroupedOption: false,
117
134
  isLastOption: lastOptionIndex === 0,
118
135
  isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
119
- }), options.map(mapOptionFunc)));
120
- });
136
+ }), options.map(mapOptionFunc));
137
+ };
121
138
 
122
- var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-y: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0.25rem 0;\n width: 100%;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
139
+ var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
123
140
  return props.theme.listDialogBackgroundColor;
124
141
  }, function (props) {
125
142
  return props.theme.listDialogBorderColor;
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,16 +25,18 @@ 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
 
36
36
  var _Listbox = _interopRequireDefault(require("./Listbox"));
37
37
 
38
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
39
+
38
40
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
39
41
 
40
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); }
@@ -97,9 +99,9 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
97
99
  options.forEach(function (option) {
98
100
  if (option.options) {
99
101
  option.options.forEach(function (singleOption) {
100
- if (value.includes(singleOption.value)) selectedOption.push(singleOption);
102
+ if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
101
103
  });
102
- } else if (value.includes(option.value)) selectedOption.push(option);
104
+ } else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
103
105
  });
104
106
  }
105
107
  } else {
@@ -138,8 +140,30 @@ var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
138
140
  return !optional && (multiple ? value.length === 0 : value === "");
139
141
  };
140
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
+
141
165
  var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
142
- var _selectedOption$label;
166
+ var _ref4, _selectedOption$label;
143
167
 
144
168
  var label = _ref.label,
145
169
  _ref$name = _ref.name,
@@ -167,37 +191,37 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
167
191
  _ref$tabIndex = _ref.tabIndex,
168
192
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
169
193
 
170
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
171
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
172
- 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];
173
197
 
174
198
  var selectLabelId = "label-".concat(selectId);
175
199
  var errorId = "error-".concat(selectId);
176
200
  var optionsListId = "".concat(selectId, "-listbox");
177
201
 
178
- var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
179
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
180
- innerValue = _useState4[0],
181
- setInnerValue = _useState4[1];
182
-
183
- var _useState5 = (0, _react.useState)(""),
202
+ var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
184
203
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
185
- searchValue = _useState6[0],
186
- setSearchValue = _useState6[1];
204
+ innerValue = _useState6[0],
205
+ setInnerValue = _useState6[1];
187
206
 
188
- var _useState7 = (0, _react.useState)(-1),
207
+ var _useState7 = (0, _react.useState)(""),
189
208
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
190
- visualFocusIndex = _useState8[0],
191
- changeVisualFocusIndex = _useState8[1];
209
+ searchValue = _useState8[0],
210
+ setSearchValue = _useState8[1];
192
211
 
193
- var _useState9 = (0, _react.useState)(false),
212
+ var _useState9 = (0, _react.useState)(-1),
194
213
  _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
195
- isOpen = _useState10[0],
196
- 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];
197
221
 
198
- var selectContainerRef = (0, _react.useRef)(null);
222
+ var selectRef = (0, _react.useRef)(null);
199
223
  var selectSearchInputRef = (0, _react.useRef)(null);
200
- var selectOptionsListRef = (0, _react.useRef)(null);
224
+ var width = useWidth(selectRef.current);
201
225
  var colorsTheme = (0, _useTheme["default"])();
202
226
  var translatedLabels = (0, _useTranslatedLabels["default"])();
203
227
  var optionalItem = {
@@ -232,9 +256,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
232
256
  var newValue;
233
257
 
234
258
  if (multiple) {
235
- 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) {
236
262
  return optionVal !== newOption.value;
237
- });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]);
238
264
  } else newValue = newOption.value;
239
265
 
240
266
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
@@ -275,9 +301,9 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
275
301
  };
276
302
 
277
303
  var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
278
- switch (event.keyCode) {
279
- case 40:
280
- // Arrow Down
304
+ switch (event.key) {
305
+ case "Down":
306
+ case "ArrowDown":
281
307
  event.preventDefault();
282
308
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
283
309
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
@@ -285,8 +311,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
285
311
  openOptions();
286
312
  break;
287
313
 
288
- case 38:
289
- // Arrow Up
314
+ case "Up":
315
+ case "ArrowUp":
290
316
  event.preventDefault();
291
317
  singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
292
318
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
@@ -294,15 +320,14 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
294
320
  openOptions();
295
321
  break;
296
322
 
297
- case 27:
298
- // Esc
323
+ case "Esc":
324
+ case "Escape":
299
325
  event.preventDefault();
300
326
  closeOptions();
301
327
  setSearchValue("");
302
328
  break;
303
329
 
304
- case 13:
305
- // Enter
330
+ case "Enter":
306
331
  if (isOpen && visualFocusIndex >= 0) {
307
332
  var accLength = optional && !multiple ? 1 : 0;
308
333
 
@@ -359,26 +384,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
359
384
  !multiple && closeOptions();
360
385
  setSearchValue("");
361
386
  }, [handleSelectChangeValue, closeOptions, multiple]);
362
- (0, _react.useLayoutEffect)(function () {
363
- if (isOpen && singleSelectionIndex) {
364
- var _listEl$scrollTo;
365
-
366
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
367
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
368
- listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
369
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
370
- });
371
- }
372
- }, [isOpen]);
373
- (0, _react.useLayoutEffect)(function () {
374
- var _selectOptionsListRef, _visualFocusedOptionE;
375
-
376
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
377
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
378
- block: "nearest",
379
- inline: "start"
380
- });
381
- }, [visualFocusIndex]);
382
387
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
383
388
  theme: colorsTheme.select
384
389
  }, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
@@ -389,12 +394,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
389
394
  id: selectLabelId,
390
395
  disabled: disabled,
391
396
  onClick: function onClick() {
392
- selectContainerRef.current.focus();
397
+ selectRef.current.focus();
393
398
  },
394
399
  helperText: helperText
395
400
  }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
396
401
  disabled: disabled
397
- }, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
402
+ }, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
403
+ open: isOpen
404
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
405
+ asChild: true,
406
+ type: undefined
407
+ }, /*#__PURE__*/_react["default"].createElement(Select, {
398
408
  id: selectId,
399
409
  disabled: disabled,
400
410
  error: error,
@@ -402,19 +412,19 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
402
412
  onClick: handleSelectOnClick,
403
413
  onFocus: handleSelectOnFocus,
404
414
  onKeyDown: handleSelectOnKeyDown,
405
- ref: selectContainerRef,
406
- tabIndex: tabIndex,
415
+ ref: selectRef,
416
+ tabIndex: disabled ? -1 : tabIndex,
407
417
  role: "combobox",
408
418
  "aria-controls": optionsListId,
409
419
  "aria-disabled": disabled,
410
420
  "aria-expanded": isOpen,
411
421
  "aria-haspopup": "listbox",
412
- "aria-labelledby": selectLabelId,
422
+ "aria-labelledby": label ? selectLabelId : undefined,
413
423
  "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
414
- "aria-invalid": error ? "true" : "false",
424
+ "aria-invalid": error ? true : false,
415
425
  "aria-errormessage": error ? errorId : undefined,
416
426
  "aria-required": !disabled && !optional
417
- }, 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, {
418
428
  disabled: disabled
419
429
  }, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
420
430
  disabled: disabled,
@@ -428,7 +438,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
428
438
  "aria-label": translatedLabels.select.actionClearSelectionTitle
429
439
  }, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
430
440
  name: name,
431
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
441
+ disabled: disabled,
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,
432
443
  readOnly: true,
433
444
  "aria-hidden": "true"
434
445
  }), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
@@ -442,9 +453,9 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
442
453
  }), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
443
454
  disabled: disabled,
444
455
  atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
445
- }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
456
+ }, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, Array.isArray(selectedOption) && selectedOption.map(function (option) {
446
457
  return option.label;
447
- }).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
458
+ }).join(", ")), Array.isArray(selectedOption) && selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
448
459
  disabled: disabled,
449
460
  atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
450
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, {
@@ -458,7 +469,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
458
469
  "aria-label": translatedLabels.select.actionClearSearchTitle
459
470
  }, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
460
471
  disabled: disabled
461
- }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
472
+ }, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
473
+ sideOffset: 4,
474
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
475
+ // Avoid select to lose focus when the list is opened
476
+ event.preventDefault();
477
+ },
478
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
479
+ // Avoid select to lose focus when the list is closed
480
+ event.preventDefault();
481
+ }
482
+ }, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
462
483
  id: optionsListId,
463
484
  currentValue: value !== null && value !== void 0 ? value : innerValue,
464
485
  options: searchable ? filteredOptions : options,
@@ -469,8 +490,10 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
469
490
  optionalItem: optionalItem,
470
491
  searchable: searchable,
471
492
  handleOptionOnClick: handleOptionOnClick,
472
- ref: selectOptionsListRef
473
- })), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
493
+ styles: {
494
+ width: width
495
+ }
496
+ }))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
474
497
  id: errorId,
475
498
  "aria-live": error ? "assertive" : "off"
476
499
  }, error)));
@@ -569,9 +592,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
569
592
  return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
570
593
  });
571
594
 
572
- 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 font-size: 1rem;\n font-family: ", ";\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) {
573
- return props.theme.fontFamily;
574
- }, function (props) {
595
+ 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) {
575
596
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
576
597
  }, function (props) {
577
598
  return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;