@dxc-technology/halstack-react 0.0.0-bd364ae → 0.0.0-bf1a0c9

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 (239) 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.stories.tsx +64 -63
  17. package/box/Box.js +4 -6
  18. package/box/Box.stories.tsx +15 -0
  19. package/box/Box.test.js +1 -1
  20. package/box/types.d.ts +1 -0
  21. package/bulleted-list/BulletedList.d.ts +7 -0
  22. package/bulleted-list/BulletedList.js +123 -0
  23. package/bulleted-list/BulletedList.stories.tsx +200 -0
  24. package/bulleted-list/types.d.ts +11 -0
  25. package/button/Button.js +52 -73
  26. package/button/Button.stories.tsx +159 -8
  27. package/button/Button.test.js +1 -1
  28. package/button/types.d.ts +5 -5
  29. package/card/Card.js +12 -13
  30. package/card/Card.stories.tsx +12 -13
  31. package/card/Card.test.js +1 -1
  32. package/card/types.d.ts +1 -0
  33. package/checkbox/Checkbox.d.ts +2 -2
  34. package/checkbox/Checkbox.js +94 -101
  35. package/checkbox/Checkbox.stories.tsx +131 -59
  36. package/checkbox/Checkbox.test.js +94 -17
  37. package/checkbox/types.d.ts +4 -0
  38. package/chip/Chip.js +18 -26
  39. package/chip/Chip.stories.tsx +96 -9
  40. package/chip/Chip.test.js +3 -5
  41. package/chip/types.d.ts +1 -1
  42. package/common/OpenSans.css +68 -80
  43. package/common/coreTokens.d.ts +146 -0
  44. package/common/coreTokens.js +167 -0
  45. package/common/utils.d.ts +1 -0
  46. package/common/utils.js +4 -4
  47. package/common/variables.d.ts +1482 -0
  48. package/common/variables.js +1009 -1118
  49. package/date-input/Calendar.d.ts +4 -0
  50. package/date-input/Calendar.js +258 -0
  51. package/date-input/DateInput.js +134 -237
  52. package/date-input/DateInput.stories.tsx +199 -33
  53. package/date-input/DateInput.test.js +494 -138
  54. package/date-input/DatePicker.d.ts +4 -0
  55. package/date-input/DatePicker.js +146 -0
  56. package/date-input/Icons.d.ts +6 -0
  57. package/date-input/Icons.js +75 -0
  58. package/date-input/YearPicker.d.ts +4 -0
  59. package/date-input/YearPicker.js +126 -0
  60. package/date-input/types.d.ts +51 -0
  61. package/dialog/Dialog.js +80 -69
  62. package/dialog/Dialog.stories.tsx +230 -123
  63. package/dialog/Dialog.test.js +334 -5
  64. package/dialog/types.d.ts +1 -0
  65. package/dropdown/Dropdown.d.ts +1 -1
  66. package/dropdown/Dropdown.js +246 -249
  67. package/dropdown/Dropdown.stories.tsx +245 -56
  68. package/dropdown/Dropdown.test.js +507 -110
  69. package/dropdown/DropdownMenu.d.ts +4 -0
  70. package/dropdown/DropdownMenu.js +74 -0
  71. package/dropdown/DropdownMenuItem.d.ts +4 -0
  72. package/dropdown/DropdownMenuItem.js +79 -0
  73. package/dropdown/types.d.ts +23 -3
  74. package/file-input/FileInput.d.ts +2 -2
  75. package/file-input/FileInput.js +174 -220
  76. package/file-input/FileInput.stories.tsx +122 -11
  77. package/file-input/FileInput.test.js +14 -14
  78. package/file-input/FileItem.d.ts +4 -14
  79. package/file-input/FileItem.js +39 -63
  80. package/file-input/types.d.ts +17 -0
  81. package/flex/Flex.d.ts +4 -0
  82. package/flex/Flex.js +71 -0
  83. package/flex/Flex.stories.tsx +112 -0
  84. package/flex/types.d.ts +97 -0
  85. package/footer/Footer.js +6 -8
  86. package/footer/Footer.stories.tsx +99 -1
  87. package/footer/Footer.test.js +14 -26
  88. package/footer/Icons.js +1 -1
  89. package/footer/types.d.ts +2 -1
  90. package/grid/Grid.d.ts +7 -0
  91. package/grid/Grid.js +91 -0
  92. package/grid/Grid.stories.tsx +219 -0
  93. package/grid/types.d.ts +115 -0
  94. package/header/Header.d.ts +3 -2
  95. package/header/Header.js +89 -89
  96. package/header/Header.stories.tsx +152 -9
  97. package/header/Header.test.js +2 -2
  98. package/header/Icons.js +2 -2
  99. package/header/types.d.ts +1 -0
  100. package/heading/Heading.js +1 -1
  101. package/heading/Heading.test.js +1 -1
  102. package/inset/Inset.stories.tsx +5 -4
  103. package/layout/ApplicationLayout.d.ts +15 -6
  104. package/layout/ApplicationLayout.js +38 -66
  105. package/layout/ApplicationLayout.stories.tsx +80 -44
  106. package/layout/types.d.ts +18 -29
  107. package/link/Link.js +4 -4
  108. package/link/Link.stories.tsx +73 -6
  109. package/link/Link.test.js +2 -4
  110. package/link/types.d.ts +3 -3
  111. package/main.d.ts +7 -9
  112. package/main.js +33 -49
  113. package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
  114. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  115. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  116. package/{tabs-nav → nav-tabs}/Tab.js +40 -22
  117. package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
  118. package/number-input/NumberInput.test.js +44 -8
  119. package/package.json +17 -21
  120. package/paginator/Icons.d.ts +5 -0
  121. package/paginator/Icons.js +16 -28
  122. package/paginator/Paginator.js +7 -15
  123. package/paginator/Paginator.stories.tsx +24 -0
  124. package/paginator/Paginator.test.js +78 -39
  125. package/paragraph/Paragraph.d.ts +5 -0
  126. package/paragraph/Paragraph.js +38 -0
  127. package/paragraph/Paragraph.stories.tsx +44 -0
  128. package/password-input/PasswordInput.test.js +14 -13
  129. package/progress-bar/ProgressBar.js +60 -54
  130. package/progress-bar/ProgressBar.stories.jsx +38 -3
  131. package/progress-bar/ProgressBar.test.js +68 -23
  132. package/quick-nav/QuickNav.js +23 -18
  133. package/quick-nav/QuickNav.stories.tsx +145 -26
  134. package/radio-group/Radio.d.ts +1 -1
  135. package/radio-group/Radio.js +43 -28
  136. package/radio-group/RadioGroup.js +23 -22
  137. package/radio-group/RadioGroup.stories.tsx +132 -18
  138. package/radio-group/RadioGroup.test.js +124 -97
  139. package/radio-group/types.d.ts +2 -2
  140. package/resultsetTable/Icons.d.ts +7 -0
  141. package/resultsetTable/Icons.js +51 -0
  142. package/resultsetTable/ResultsetTable.js +49 -108
  143. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  144. package/resultsetTable/ResultsetTable.test.js +61 -42
  145. package/resultsetTable/types.d.ts +1 -1
  146. package/select/Listbox.d.ts +1 -1
  147. package/select/Listbox.js +33 -16
  148. package/select/Option.js +11 -24
  149. package/select/Select.js +92 -71
  150. package/select/Select.stories.tsx +513 -136
  151. package/select/Select.test.js +413 -305
  152. package/select/types.d.ts +3 -6
  153. package/sidenav/Icons.d.ts +7 -0
  154. package/sidenav/Icons.js +51 -0
  155. package/sidenav/Sidenav.d.ts +6 -5
  156. package/sidenav/Sidenav.js +147 -54
  157. package/sidenav/Sidenav.stories.tsx +251 -151
  158. package/sidenav/Sidenav.test.js +25 -37
  159. package/sidenav/types.d.ts +52 -26
  160. package/slider/Slider.d.ts +2 -2
  161. package/slider/Slider.js +121 -97
  162. package/slider/Slider.stories.tsx +64 -1
  163. package/slider/Slider.test.js +122 -22
  164. package/slider/types.d.ts +4 -0
  165. package/spinner/Spinner.js +17 -23
  166. package/spinner/Spinner.stories.jsx +53 -27
  167. package/spinner/Spinner.test.js +1 -1
  168. package/switch/Switch.d.ts +2 -2
  169. package/switch/Switch.js +137 -70
  170. package/switch/Switch.stories.tsx +41 -30
  171. package/switch/Switch.test.js +145 -18
  172. package/switch/types.d.ts +4 -0
  173. package/table/Table.js +3 -3
  174. package/table/Table.stories.jsx +80 -1
  175. package/table/Table.test.js +2 -2
  176. package/tabs/Tab.d.ts +4 -0
  177. package/tabs/Tab.js +132 -0
  178. package/tabs/Tabs.js +358 -108
  179. package/tabs/Tabs.stories.tsx +119 -5
  180. package/tabs/Tabs.test.js +220 -10
  181. package/tabs/types.d.ts +13 -3
  182. package/tag/Tag.js +8 -10
  183. package/tag/Tag.stories.tsx +14 -1
  184. package/tag/Tag.test.js +1 -1
  185. package/tag/types.d.ts +1 -1
  186. package/text-input/Icons.d.ts +8 -0
  187. package/text-input/Icons.js +60 -0
  188. package/text-input/Suggestion.js +40 -11
  189. package/text-input/Suggestions.d.ts +4 -0
  190. package/text-input/Suggestions.js +134 -0
  191. package/text-input/TextInput.js +198 -295
  192. package/text-input/TextInput.stories.tsx +280 -185
  193. package/text-input/TextInput.test.js +736 -725
  194. package/text-input/types.d.ts +22 -3
  195. package/textarea/Textarea.js +3 -4
  196. package/textarea/Textarea.stories.jsx +60 -1
  197. package/textarea/Textarea.test.js +2 -4
  198. package/toggle-group/ToggleGroup.js +7 -4
  199. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  200. package/toggle-group/ToggleGroup.test.js +1 -1
  201. package/toggle-group/types.d.ts +2 -2
  202. package/typography/Typography.d.ts +4 -0
  203. package/typography/Typography.js +32 -0
  204. package/typography/Typography.stories.tsx +198 -0
  205. package/typography/types.d.ts +18 -0
  206. package/typography/types.js +5 -0
  207. package/useTheme.d.ts +1234 -1
  208. package/useTheme.js +1 -1
  209. package/useTranslatedLabels.d.ts +84 -1
  210. package/utils/BaseTypography.d.ts +21 -0
  211. package/utils/BaseTypography.js +108 -0
  212. package/utils/FocusLock.d.ts +13 -0
  213. package/utils/FocusLock.js +139 -0
  214. package/wizard/Wizard.js +10 -17
  215. package/wizard/Wizard.stories.tsx +40 -1
  216. package/wizard/Wizard.test.js +1 -1
  217. package/wizard/types.d.ts +3 -3
  218. package/common/RequiredComponent.js +0 -32
  219. package/list/List.d.ts +0 -4
  220. package/list/List.js +0 -47
  221. package/list/List.stories.tsx +0 -95
  222. package/list/types.d.ts +0 -7
  223. package/row/Row.d.ts +0 -3
  224. package/row/Row.js +0 -127
  225. package/row/Row.stories.tsx +0 -237
  226. package/row/types.d.ts +0 -28
  227. package/stack/Stack.d.ts +0 -3
  228. package/stack/Stack.js +0 -97
  229. package/stack/Stack.stories.tsx +0 -164
  230. package/stack/types.d.ts +0 -24
  231. package/text/Text.d.ts +0 -7
  232. package/text/Text.js +0 -30
  233. package/text/Text.stories.tsx +0 -19
  234. /package/{list → bulleted-list}/types.js +0 -0
  235. /package/{row → flex}/types.js +0 -0
  236. /package/{stack → grid}/types.js +0 -0
  237. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  238. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  239. /package/{tabs-nav → nav-tabs}/types.js +0 -0
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -9,36 +11,63 @@ exports["default"] = void 0;
9
11
 
10
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
17
 
16
18
  var _templateObject, _templateObject2;
17
19
 
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ var transformSpecialChars = function transformSpecialChars(str) {
25
+ var specialCharsRegex = /[\\*()\[\]{}+?/]/;
26
+ var value = str;
27
+
28
+ if (specialCharsRegex.test(value)) {
29
+ var regexAsString = specialCharsRegex.toString().split("");
30
+ var uniqueSpecialChars = regexAsString.filter(function (item, index) {
31
+ return regexAsString.indexOf(item) === index;
32
+ });
33
+ uniqueSpecialChars.forEach(function (specialChar) {
34
+ if (str.includes(specialChar)) value = value.replace(specialChar, "\\" + specialChar);
35
+ });
36
+ }
37
+
38
+ return value;
39
+ };
40
+
18
41
  var Suggestion = function Suggestion(_ref) {
19
42
  var id = _ref.id,
20
43
  value = _ref.value,
21
- onClick = _ref.onClick,
44
+ _onClick = _ref.onClick,
22
45
  suggestion = _ref.suggestion,
23
46
  isLast = _ref.isLast,
24
47
  visuallyFocused = _ref.visuallyFocused,
25
48
  highlighted = _ref.highlighted;
26
- var regEx = new RegExp(value, "i");
27
- var matchedWords = suggestion.match(regEx);
28
- var noMatchedWords = suggestion.replace(regEx, "");
49
+ var matchedSuggestion = (0, _react.useMemo)(function () {
50
+ var regEx = new RegExp(transformSpecialChars(value), "i");
51
+ return {
52
+ matchedWords: suggestion.match(regEx),
53
+ noMatchedWords: suggestion.replace(regEx, "")
54
+ };
55
+ }, [value, suggestion]);
29
56
  return /*#__PURE__*/_react["default"].createElement(SuggestionContainer, {
30
57
  id: id,
31
- onClick: onClick,
58
+ onClick: function onClick() {
59
+ _onClick(suggestion);
60
+ },
32
61
  visuallyFocused: visuallyFocused,
33
62
  role: "option",
34
- "aria-selected": visuallyFocused ? "true" : undefined
63
+ "aria-selected": visuallyFocused ? true : undefined
35
64
  }, /*#__PURE__*/_react["default"].createElement(StyledSuggestion, {
36
- last: isLast,
65
+ isLast: isLast,
37
66
  visuallyFocused: visuallyFocused
38
- }, highlighted ? suggestion : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedWords), noMatchedWords)));
67
+ }, highlighted ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedSuggestion.matchedWords), matchedSuggestion.noMatchedWords) : suggestion));
39
68
  };
40
69
 
41
- var SuggestionContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0 0.5rem;\n line-height: 1.715em;\n cursor: pointer;\n\n box-shadow: inset 0 0 0 2px\n ", ";\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
70
+ var SuggestionContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0 0.5rem;\n line-height: 1.715em;\n cursor: pointer;\n box-shadow: inset 0 0 0 2px\n ", ";\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
42
71
  return props.visuallyFocused ? props.theme.focusListOptionBorderColor : "transparent";
43
72
  }, function (props) {
44
73
  return props.theme.hoverListOptionBackgroundColor;
@@ -47,7 +76,7 @@ var SuggestionContainer = _styledComponents["default"].li(_templateObject || (_t
47
76
  });
48
77
 
49
78
  var StyledSuggestion = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding: 0.25rem 0.5rem 0.188rem 0.5rem;\n ", ";\n"])), function (props) {
50
- return props.last || props.visuallyFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
79
+ return props.isLast || props.visuallyFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
51
80
  });
52
81
 
53
82
  var _default = /*#__PURE__*/_react["default"].memo(Suggestion);
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SuggestionsProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, value, suggestions, visualFocusIndex, highlightedSuggestions, searchHasErrors, isSearching, suggestionOnClick, getTextInputWidth, }: SuggestionsProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
20
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
21
+
22
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
23
+
24
+ var _Suggestion = _interopRequireDefault(require("./Suggestion"));
25
+
26
+ var _Icons = _interopRequireDefault(require("./Icons"));
27
+
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
29
+
30
+ 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); }
31
+
32
+ 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; }
33
+
34
+ var Suggestions = function Suggestions(_ref) {
35
+ var id = _ref.id,
36
+ value = _ref.value,
37
+ suggestions = _ref.suggestions,
38
+ visualFocusIndex = _ref.visualFocusIndex,
39
+ highlightedSuggestions = _ref.highlightedSuggestions,
40
+ searchHasErrors = _ref.searchHasErrors,
41
+ isSearching = _ref.isSearching,
42
+ suggestionOnClick = _ref.suggestionOnClick,
43
+ getTextInputWidth = _ref.getTextInputWidth;
44
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
45
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
46
+ var listboxRef = (0, _react.useRef)(null);
47
+
48
+ var _useState = (0, _react.useState)(null),
49
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
+ styles = _useState2[0],
51
+ setStyles = _useState2[1];
52
+
53
+ (0, _react.useLayoutEffect)(function () {
54
+ var _listboxRef$current, _visualFocusedOptionE;
55
+
56
+ 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];
57
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
58
+ block: "nearest",
59
+ inline: "start"
60
+ });
61
+ }, [visualFocusIndex]);
62
+
63
+ var handleResize = function handleResize() {
64
+ setStyles({
65
+ width: getTextInputWidth()
66
+ });
67
+ };
68
+
69
+ (0, _react.useLayoutEffect)(function () {
70
+ handleResize();
71
+ }, [getTextInputWidth]);
72
+ (0, _react.useEffect)(function () {
73
+ window.addEventListener("resize", handleResize);
74
+ return function () {
75
+ window.removeEventListener("resize", handleResize);
76
+ };
77
+ }, [getTextInputWidth]);
78
+ return /*#__PURE__*/_react["default"].createElement(SuggestionsContainer, {
79
+ id: id,
80
+ error: searchHasErrors ? true : false,
81
+ onMouseDown: function onMouseDown(event) {
82
+ event.preventDefault();
83
+ },
84
+ ref: listboxRef,
85
+ role: "listbox",
86
+ backgroundType: backgroundType,
87
+ style: styles
88
+ }, !isSearching && !searchHasErrors && suggestions.length > 0 && suggestions.map(function (suggestion, index) {
89
+ return /*#__PURE__*/_react["default"].createElement(_Suggestion["default"], {
90
+ key: "suggestion-".concat(index),
91
+ id: "suggestion-".concat(index),
92
+ value: value,
93
+ onClick: suggestionOnClick,
94
+ suggestion: suggestion,
95
+ isLast: index === suggestions.length - 1,
96
+ visuallyFocused: visualFocusIndex === index,
97
+ highlighted: highlightedSuggestions
98
+ });
99
+ }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, translatedLabels.textInput.searchingMessage), searchHasErrors && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, {
100
+ backgroundType: backgroundType
101
+ }, _Icons["default"].error), translatedLabels.textInput.fetchingDataErrorMessage));
102
+ };
103
+
104
+ var SuggestionsContainer = _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 ", ";\n\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
105
+ return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
106
+ }, function (props) {
107
+ return props.error ? props.backgroundType === "dark" ? props.theme.errorBorderColorOnDark : props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
108
+ }, function (props) {
109
+ return props.theme.listOptionFontColor;
110
+ }, function (props) {
111
+ return props.theme.fontFamily;
112
+ }, function (props) {
113
+ return props.theme.listOptionFontSize;
114
+ }, function (props) {
115
+ return props.theme.listOptionFontStyle;
116
+ }, function (props) {
117
+ return props.theme.listOptionFontWeight;
118
+ });
119
+
120
+ var SuggestionsSystemMessage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n color: ", ";\n line-height: 1.715em;\n"])), function (props) {
121
+ return props.theme.systemMessageFontColor;
122
+ });
123
+
124
+ var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n color: ", ";\n"])), function (props) {
125
+ return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
126
+ });
127
+
128
+ var SuggestionsError = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n align-items: center;\n line-height: 1.715em;\n color: ", ";\n"])), function (props) {
129
+ return props.theme.errorListDialogFontColor;
130
+ });
131
+
132
+ var _default = /*#__PURE__*/_react["default"].memo(Suggestions);
133
+
134
+ exports["default"] = _default;