@dxc-technology/halstack-react 0.0.0-eca8a89 → 0.0.0-ecc45e2

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 (266) hide show
  1. package/BackgroundColorContext.js +0 -1
  2. package/HalstackContext.d.ts +12 -0
  3. package/HalstackContext.js +295 -0
  4. package/accordion/Accordion.d.ts +1 -1
  5. package/accordion/Accordion.js +13 -45
  6. package/accordion/Accordion.stories.tsx +20 -13
  7. package/accordion/Accordion.test.js +72 -0
  8. package/accordion/types.d.ts +7 -7
  9. package/accordion-group/AccordionGroup.d.ts +1 -1
  10. package/accordion-group/AccordionGroup.js +14 -15
  11. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  12. package/accordion-group/AccordionGroup.test.js +151 -0
  13. package/accordion-group/types.d.ts +7 -7
  14. package/alert/Alert.js +4 -1
  15. package/alert/Alert.test.js +92 -0
  16. package/badge/Badge.d.ts +4 -0
  17. package/badge/Badge.js +5 -3
  18. package/badge/types.d.ts +5 -0
  19. package/{radio → badge}/types.js +0 -0
  20. package/bleed/Bleed.d.ts +3 -0
  21. package/bleed/Bleed.js +51 -0
  22. package/bleed/Bleed.stories.tsx +341 -0
  23. package/bleed/types.d.ts +37 -0
  24. package/bleed/types.js +5 -0
  25. package/box/Box.js +22 -32
  26. package/box/Box.test.js +18 -0
  27. package/bulleted-list/BulletedList.d.ts +7 -0
  28. package/bulleted-list/BulletedList.js +123 -0
  29. package/bulleted-list/BulletedList.stories.tsx +200 -0
  30. package/bulleted-list/types.d.ts +11 -0
  31. package/bulleted-list/types.js +5 -0
  32. package/button/Button.d.ts +1 -1
  33. package/button/Button.js +57 -80
  34. package/button/Button.stories.tsx +15 -8
  35. package/button/Button.test.js +35 -0
  36. package/button/types.d.ts +8 -12
  37. package/card/Card.js +24 -27
  38. package/card/Card.stories.tsx +1 -1
  39. package/card/Card.test.js +50 -0
  40. package/checkbox/Checkbox.d.ts +1 -1
  41. package/checkbox/Checkbox.js +43 -39
  42. package/checkbox/Checkbox.stories.tsx +124 -128
  43. package/checkbox/Checkbox.test.js +78 -0
  44. package/checkbox/types.d.ts +8 -4
  45. package/chip/Chip.d.ts +1 -1
  46. package/chip/Chip.js +16 -54
  47. package/chip/Chip.stories.tsx +6 -8
  48. package/chip/Chip.test.js +56 -0
  49. package/chip/types.d.ts +7 -15
  50. package/common/variables.js +267 -337
  51. package/date-input/DateInput.js +62 -48
  52. package/date-input/DateInput.stories.tsx +7 -7
  53. package/date-input/DateInput.test.js +479 -0
  54. package/date-input/types.d.ts +16 -9
  55. package/dialog/Dialog.js +48 -51
  56. package/dialog/Dialog.stories.tsx +1 -2
  57. package/dialog/Dialog.test.js +70 -0
  58. package/dialog/types.d.ts +2 -2
  59. package/dropdown/Dropdown.d.ts +1 -1
  60. package/dropdown/Dropdown.js +242 -272
  61. package/dropdown/Dropdown.stories.tsx +312 -0
  62. package/dropdown/Dropdown.test.js +591 -0
  63. package/dropdown/DropdownMenu.d.ts +4 -0
  64. package/dropdown/DropdownMenu.js +80 -0
  65. package/dropdown/DropdownMenuItem.d.ts +4 -0
  66. package/dropdown/DropdownMenuItem.js +92 -0
  67. package/dropdown/types.d.ts +29 -18
  68. package/file-input/FileInput.js +111 -39
  69. package/file-input/FileInput.stories.tsx +507 -0
  70. package/file-input/FileInput.test.js +457 -0
  71. package/file-input/FileItem.js +7 -5
  72. package/flex/Flex.d.ts +4 -0
  73. package/flex/Flex.js +57 -0
  74. package/flex/Flex.stories.tsx +103 -0
  75. package/flex/types.d.ts +21 -0
  76. package/flex/types.js +5 -0
  77. package/footer/Footer.js +24 -99
  78. package/footer/Footer.test.js +109 -0
  79. package/footer/Icons.js +1 -1
  80. package/footer/types.d.ts +1 -1
  81. package/header/Header.js +95 -114
  82. package/header/Header.stories.tsx +46 -36
  83. package/header/Header.test.js +79 -0
  84. package/header/Icons.js +2 -2
  85. package/header/types.d.ts +2 -2
  86. package/heading/Heading.stories.tsx +3 -2
  87. package/heading/Heading.test.js +186 -0
  88. package/inset/Inset.d.ts +3 -0
  89. package/inset/Inset.js +51 -0
  90. package/inset/Inset.stories.tsx +229 -0
  91. package/inset/types.d.ts +37 -0
  92. package/inset/types.js +5 -0
  93. package/layout/ApplicationLayout.d.ts +16 -6
  94. package/layout/ApplicationLayout.js +71 -125
  95. package/layout/ApplicationLayout.stories.tsx +83 -93
  96. package/layout/Icons.d.ts +5 -0
  97. package/layout/Icons.js +13 -2
  98. package/layout/SidenavContext.d.ts +5 -0
  99. package/layout/SidenavContext.js +19 -0
  100. package/layout/types.d.ts +18 -33
  101. package/link/Link.d.ts +3 -2
  102. package/link/Link.js +60 -85
  103. package/link/Link.stories.tsx +99 -52
  104. package/link/Link.test.js +83 -0
  105. package/link/types.d.ts +9 -29
  106. package/main.d.ts +11 -15
  107. package/main.js +53 -79
  108. package/number-input/NumberInput.js +11 -18
  109. package/number-input/NumberInput.stories.tsx +5 -5
  110. package/number-input/NumberInput.test.js +506 -0
  111. package/number-input/types.d.ts +17 -10
  112. package/package.json +14 -10
  113. package/paginator/Paginator.js +17 -38
  114. package/paginator/Paginator.test.js +308 -0
  115. package/paragraph/Paragraph.d.ts +6 -0
  116. package/paragraph/Paragraph.js +38 -0
  117. package/paragraph/Paragraph.stories.tsx +44 -0
  118. package/password-input/PasswordInput.js +7 -4
  119. package/password-input/PasswordInput.stories.tsx +3 -3
  120. package/password-input/PasswordInput.test.js +180 -0
  121. package/password-input/types.d.ts +14 -11
  122. package/progress-bar/ProgressBar.d.ts +2 -2
  123. package/progress-bar/ProgressBar.js +57 -51
  124. package/progress-bar/ProgressBar.stories.jsx +13 -11
  125. package/progress-bar/ProgressBar.test.js +110 -0
  126. package/progress-bar/types.d.ts +3 -4
  127. package/quick-nav/QuickNav.d.ts +4 -0
  128. package/quick-nav/QuickNav.js +118 -0
  129. package/quick-nav/QuickNav.stories.tsx +264 -0
  130. package/quick-nav/types.d.ts +21 -0
  131. package/quick-nav/types.js +5 -0
  132. package/radio-group/Radio.d.ts +4 -0
  133. package/radio-group/Radio.js +141 -0
  134. package/radio-group/RadioGroup.d.ts +4 -0
  135. package/radio-group/RadioGroup.js +281 -0
  136. package/radio-group/RadioGroup.stories.tsx +100 -0
  137. package/radio-group/RadioGroup.test.js +695 -0
  138. package/radio-group/types.d.ts +114 -0
  139. package/radio-group/types.js +5 -0
  140. package/resultsetTable/ResultsetTable.js +5 -2
  141. package/resultsetTable/ResultsetTable.stories.tsx +7 -8
  142. package/resultsetTable/ResultsetTable.test.js +348 -0
  143. package/select/Icons.d.ts +10 -0
  144. package/select/Icons.js +93 -0
  145. package/select/Listbox.d.ts +4 -0
  146. package/select/Listbox.js +199 -0
  147. package/select/Option.d.ts +4 -0
  148. package/select/Option.js +110 -0
  149. package/select/Select.d.ts +4 -0
  150. package/select/Select.js +146 -366
  151. package/select/Select.stories.tsx +231 -176
  152. package/select/Select.test.js +2175 -0
  153. package/select/types.d.ts +210 -0
  154. package/select/types.js +5 -0
  155. package/sidenav/Sidenav.d.ts +6 -5
  156. package/sidenav/Sidenav.js +184 -52
  157. package/sidenav/Sidenav.stories.tsx +154 -139
  158. package/sidenav/Sidenav.test.js +44 -0
  159. package/sidenav/types.d.ts +50 -27
  160. package/slider/Slider.d.ts +1 -1
  161. package/slider/Slider.js +5 -4
  162. package/slider/Slider.stories.tsx +8 -8
  163. package/slider/Slider.test.js +187 -0
  164. package/slider/types.d.ts +4 -0
  165. package/spinner/Spinner.js +1 -1
  166. package/spinner/Spinner.stories.jsx +1 -0
  167. package/spinner/Spinner.test.js +64 -0
  168. package/switch/Switch.d.ts +2 -2
  169. package/switch/Switch.js +127 -55
  170. package/switch/Switch.stories.tsx +21 -43
  171. package/switch/Switch.test.js +212 -0
  172. package/switch/types.d.ts +9 -6
  173. package/table/Table.stories.jsx +2 -1
  174. package/table/Table.test.js +26 -0
  175. package/tabs/Tabs.d.ts +1 -1
  176. package/tabs/Tabs.js +16 -18
  177. package/tabs/Tabs.stories.tsx +7 -16
  178. package/tabs/Tabs.test.js +140 -0
  179. package/tabs/types.d.ts +27 -15
  180. package/tabs-nav/NavTabs.d.ts +8 -0
  181. package/tabs-nav/NavTabs.js +125 -0
  182. package/tabs-nav/NavTabs.stories.tsx +170 -0
  183. package/tabs-nav/NavTabs.test.js +82 -0
  184. package/tabs-nav/Tab.d.ts +4 -0
  185. package/tabs-nav/Tab.js +130 -0
  186. package/tabs-nav/types.d.ts +53 -0
  187. package/tabs-nav/types.js +5 -0
  188. package/tag/Tag.d.ts +1 -1
  189. package/tag/Tag.js +17 -27
  190. package/tag/Tag.stories.tsx +26 -29
  191. package/tag/Tag.test.js +60 -0
  192. package/tag/types.d.ts +23 -14
  193. package/text-input/Suggestion.d.ts +4 -0
  194. package/text-input/Suggestion.js +55 -0
  195. package/text-input/TextInput.js +80 -105
  196. package/text-input/TextInput.stories.tsx +35 -18
  197. package/text-input/TextInput.test.js +1712 -0
  198. package/text-input/types.d.ts +32 -13
  199. package/textarea/Textarea.d.ts +4 -0
  200. package/textarea/Textarea.js +19 -56
  201. package/textarea/Textarea.stories.jsx +37 -15
  202. package/textarea/Textarea.test.js +437 -0
  203. package/textarea/types.d.ts +137 -0
  204. package/textarea/types.js +5 -0
  205. package/toggle-group/ToggleGroup.d.ts +1 -1
  206. package/toggle-group/ToggleGroup.js +12 -14
  207. package/toggle-group/ToggleGroup.stories.tsx +27 -32
  208. package/toggle-group/ToggleGroup.test.js +156 -0
  209. package/toggle-group/types.d.ts +46 -25
  210. package/typography/Typography.d.ts +4 -0
  211. package/typography/Typography.js +131 -0
  212. package/typography/Typography.stories.tsx +198 -0
  213. package/typography/types.d.ts +18 -0
  214. package/typography/types.js +5 -0
  215. package/useTheme.js +2 -2
  216. package/useTranslatedLabels.d.ts +2 -0
  217. package/useTranslatedLabels.js +20 -0
  218. package/wizard/Wizard.d.ts +1 -1
  219. package/wizard/Wizard.js +111 -57
  220. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +33 -24
  221. package/wizard/Wizard.test.js +141 -0
  222. package/wizard/types.d.ts +12 -11
  223. package/ThemeContext.d.ts +0 -15
  224. package/ThemeContext.js +0 -243
  225. package/V3Select/V3Select.js +0 -455
  226. package/V3Select/index.d.ts +0 -27
  227. package/V3Textarea/V3Textarea.js +0 -260
  228. package/V3Textarea/index.d.ts +0 -27
  229. package/date/Date.js +0 -373
  230. package/date/index.d.ts +0 -27
  231. package/input-text/Icons.js +0 -22
  232. package/input-text/InputText.js +0 -611
  233. package/input-text/index.d.ts +0 -36
  234. package/list/List.d.ts +0 -7
  235. package/list/List.js +0 -37
  236. package/list/List.stories.tsx +0 -70
  237. package/radio/Radio.d.ts +0 -4
  238. package/radio/Radio.js +0 -174
  239. package/radio/Radio.stories.tsx +0 -192
  240. package/radio/types.d.ts +0 -54
  241. package/row/Row.d.ts +0 -11
  242. package/row/Row.js +0 -124
  243. package/row/Row.stories.tsx +0 -223
  244. package/select/index.d.ts +0 -131
  245. package/stack/Stack.d.ts +0 -10
  246. package/stack/Stack.js +0 -94
  247. package/stack/Stack.stories.tsx +0 -150
  248. package/text/Text.d.ts +0 -7
  249. package/text/Text.js +0 -30
  250. package/text/Text.stories.tsx +0 -19
  251. package/textarea/index.d.ts +0 -127
  252. package/toggle/Toggle.js +0 -186
  253. package/toggle/index.d.ts +0 -21
  254. package/upload/Upload.js +0 -201
  255. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  256. package/upload/buttons-upload/Icons.js +0 -40
  257. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  258. package/upload/dragAndDropArea/Icons.js +0 -39
  259. package/upload/file-upload/FileToUpload.js +0 -115
  260. package/upload/file-upload/Icons.js +0 -66
  261. package/upload/files-upload/FilesToUpload.js +0 -109
  262. package/upload/index.d.ts +0 -15
  263. package/upload/transaction/Icons.js +0 -160
  264. package/upload/transaction/Transaction.js +0 -104
  265. package/upload/transactions/Transactions.js +0 -94
  266. package/wizard/Icons.js +0 -65
@@ -9,222 +9,292 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
- var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
23
-
24
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
25
-
26
- var _core = require("@material-ui/core");
27
-
28
- var _Grow = _interopRequireDefault(require("@material-ui/core/Grow"));
29
-
30
- var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
31
-
32
- var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
33
-
34
22
  var _variables = require("../common/variables.js");
35
23
 
36
24
  var _utils = require("../common/utils.js");
37
25
 
38
26
  var _useTheme = _interopRequireDefault(require("../useTheme"));
39
27
 
40
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
28
+ var _uuid = require("uuid");
29
+
30
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
31
+
32
+ var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
33
+
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
41
35
 
42
36
  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
37
 
44
38
  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
39
 
40
+ var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ width: "24",
43
+ height: "24",
44
+ viewBox: "0 0 24 24",
45
+ fill: "currentColor"
46
+ }, /*#__PURE__*/_react["default"].createElement("path", {
47
+ d: "M7 14l5-5 5 5z"
48
+ }), /*#__PURE__*/_react["default"].createElement("path", {
49
+ d: "M0 0h24v24H0z",
50
+ fill: "none"
51
+ }));
52
+
53
+ var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
54
+ xmlns: "http://www.w3.org/2000/svg",
55
+ width: "24",
56
+ height: "24",
57
+ viewBox: "0 0 24 24",
58
+ fill: "currentColor"
59
+ }, /*#__PURE__*/_react["default"].createElement("path", {
60
+ d: "M7 10l5 5 5-5z"
61
+ }), /*#__PURE__*/_react["default"].createElement("path", {
62
+ d: "M0 0h24v24H0z",
63
+ fill: "none"
64
+ }));
65
+
46
66
  var DxcDropdown = function DxcDropdown(_ref) {
47
67
  var options = _ref.options,
48
68
  _ref$optionsIconPosit = _ref.optionsIconPosition,
49
69
  optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
50
70
  icon = _ref.icon,
51
- _ref$iconSrc = _ref.iconSrc,
52
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
53
71
  _ref$iconPosition = _ref.iconPosition,
54
72
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
55
73
  _ref$label = _ref.label,
56
74
  label = _ref$label === void 0 ? "" : _ref$label,
57
75
  _ref$caretHidden = _ref.caretHidden,
58
76
  caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
59
- onSelectOption = _ref.onSelectOption,
77
+ _ref$disabled = _ref.disabled,
78
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
60
79
  _ref$expandOnHover = _ref.expandOnHover,
61
80
  expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
81
+ onSelectOption = _ref.onSelectOption,
62
82
  margin = _ref.margin,
63
83
  _ref$size = _ref.size,
64
84
  size = _ref$size === void 0 ? "fitContent" : _ref$size,
65
85
  _ref$tabIndex = _ref.tabIndex,
66
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
67
- _ref$disabled = _ref.disabled,
68
- disabled = _ref$disabled === void 0 ? false : _ref$disabled;
86
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
87
+
88
+ var _useState = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
89
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
90
+ triggerId = _useState2[0];
91
+
92
+ var menuId = "menu-".concat(triggerId);
69
93
 
70
- var _useState = (0, _react.useState)(),
71
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
72
- width = _useState2[0],
73
- setWidth = _useState2[1];
94
+ var _useState3 = (0, _react.useState)(false),
95
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
96
+ isOpen = _useState4[0],
97
+ changeIsOpen = _useState4[1];
98
+
99
+ var _useState5 = (0, _react.useState)(null),
100
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
101
+ menuStyles = _useState6[0],
102
+ setMenuStyles = _useState6[1];
103
+
104
+ var _useState7 = (0, _react.useState)(0),
105
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
106
+ visualFocusIndex = _useState8[0],
107
+ setVisualFocusIndex = _useState8[1];
74
108
 
75
109
  var colorsTheme = (0, _useTheme["default"])();
76
- var ref = (0, _react.useRef)(null);
110
+ var triggerRef = (0, _react.useRef)(null);
111
+ var menuRef = (0, _react.useRef)(null);
77
112
 
78
- var handleResize = function handleResize() {
79
- if (ref.current) setWidth(ref.current.offsetWidth);
113
+ var handleOnOpenMenu = function handleOnOpenMenu() {
114
+ changeIsOpen(true);
80
115
  };
81
116
 
82
- (0, _react.useEffect)(function () {
83
- if (ref.current) {
84
- ref.current.addEventListener("resize", handleResize);
85
- handleResize();
117
+ var handleOnCloseMenu = function handleOnCloseMenu() {
118
+ changeIsOpen(false);
119
+ setVisualFocusIndex(0);
120
+ };
121
+
122
+ var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
123
+ var _triggerRef$current;
124
+
125
+ onSelectOption(value);
126
+ handleOnCloseMenu();
127
+ (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
128
+ }, [onSelectOption]);
129
+
130
+ var handleOnBlur = function handleOnBlur(event) {
131
+ !event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
132
+ };
133
+
134
+ var handleTriggerOnClick = function handleTriggerOnClick() {
135
+ changeIsOpen(function (isOpen) {
136
+ return !isOpen;
137
+ });
138
+ };
139
+
140
+ var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
141
+ switch (event.key) {
142
+ case "Up":
143
+ case "ArrowUp":
144
+ event.preventDefault();
145
+ setVisualFocusIndex(options.length - 1);
146
+ handleOnOpenMenu();
147
+ break;
148
+
149
+ case "Space":
150
+ case "Down":
151
+ case "ArrowDown":
152
+ case "Enter":
153
+ event.preventDefault();
154
+ handleOnOpenMenu();
155
+ break;
86
156
  }
157
+ };
87
158
 
88
- return function () {
89
- if (ref.current) ref.current.removeEventListener("resize", handleResize);
90
- };
91
- }, []);
159
+ var setPreviousIndexFocus = function setPreviousIndexFocus() {
160
+ setVisualFocusIndex(function (currentFocusIndex) {
161
+ var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
162
+ return index;
163
+ });
164
+ };
92
165
 
93
- var _useState3 = (0, _react.useState)(null),
94
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
95
- anchorEl = _useState4[0],
96
- setAnchorEl = _useState4[1];
97
-
98
- function handleClickListItem(event) {
99
- setAnchorEl(event.currentTarget);
100
- }
101
-
102
- function handleMenuItemClick(option) {
103
- setAnchorEl(null);
104
- onSelectOption(option.value);
105
- }
106
-
107
- function handleClose() {
108
- setAnchorEl(null);
109
- }
110
-
111
- var handleCloseOver = expandOnHover ? handleClose : undefined;
112
-
113
- var UpArrowIcon = function UpArrowIcon() {
114
- return /*#__PURE__*/_react["default"].createElement("svg", {
115
- xmlns: "http://www.w3.org/2000/svg",
116
- width: "24",
117
- height: "24",
118
- viewBox: "0 0 24 24",
119
- fill: "currentColor"
120
- }, /*#__PURE__*/_react["default"].createElement("path", {
121
- d: "M7 14l5-5 5 5z"
122
- }), /*#__PURE__*/_react["default"].createElement("path", {
123
- d: "M0 0h24v24H0z",
124
- fill: "none"
125
- }));
166
+ var setNextIndexFocus = function setNextIndexFocus() {
167
+ setVisualFocusIndex(function (currentFocusIndex) {
168
+ var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
169
+ return index;
170
+ });
126
171
  };
127
172
 
128
- var DownArrowIcon = function DownArrowIcon() {
129
- return /*#__PURE__*/_react["default"].createElement("svg", {
130
- xmlns: "http://www.w3.org/2000/svg",
131
- width: "24",
132
- height: "24",
133
- viewBox: "0 0 24 24",
134
- fill: "currentColor"
135
- }, /*#__PURE__*/_react["default"].createElement("path", {
136
- d: "M7 10l5 5 5-5z"
137
- }), /*#__PURE__*/_react["default"].createElement("path", {
138
- d: "M0 0h24v24H0z",
139
- fill: "none"
140
- }));
173
+ var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
174
+ var _triggerRef$current2, _triggerRef$current3;
175
+
176
+ switch (event.key) {
177
+ case "Up":
178
+ case "ArrowUp":
179
+ event.preventDefault();
180
+ setPreviousIndexFocus();
181
+ break;
182
+
183
+ case "Down":
184
+ case "ArrowDown":
185
+ event.preventDefault();
186
+ setNextIndexFocus();
187
+ break;
188
+
189
+ case "Space":
190
+ case "Enter":
191
+ event.preventDefault();
192
+ handleMenuItemOnClick(options[visualFocusIndex].value);
193
+ break;
194
+
195
+ case "Esc":
196
+ case "Escape":
197
+ event.preventDefault();
198
+ handleOnCloseMenu();
199
+ (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
200
+ break;
201
+
202
+ case "Home":
203
+ case "PageUp":
204
+ event.preventDefault();
205
+ setVisualFocusIndex(0);
206
+ break;
207
+
208
+ case "End":
209
+ case "PageDown":
210
+ event.preventDefault();
211
+ setVisualFocusIndex(options.length - 1);
212
+ break;
213
+
214
+ case "Tab":
215
+ handleOnCloseMenu();
216
+ (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
217
+ break;
218
+ }
219
+ }, [onSelectOption, visualFocusIndex, options]);
220
+ (0, _react.useLayoutEffect)(function () {
221
+ var _menuRef$current, _visualFocusedMenuIte;
222
+
223
+ var visualFocusedMenuItem = menuRef === null || menuRef === void 0 ? void 0 : (_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 ? void 0 : _menuRef$current.querySelectorAll("[role='menuitem']")[visualFocusIndex];
224
+ visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
225
+ block: "nearest",
226
+ inline: "start"
227
+ });
228
+ }, [visualFocusIndex]);
229
+
230
+ var handleMenuResize = function handleMenuResize() {
231
+ var _triggerRef$current4;
232
+
233
+ var rect = triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.getBoundingClientRect();
234
+ setMenuStyles({
235
+ width: rect === null || rect === void 0 ? void 0 : rect.width
236
+ });
141
237
  };
142
238
 
239
+ (0, _react.useEffect)(function () {
240
+ handleMenuResize();
241
+ window.addEventListener("resize", handleMenuResize);
242
+ return function () {
243
+ window.removeEventListener("resize", handleMenuResize);
244
+ };
245
+ }, []);
143
246
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
144
247
  theme: colorsTheme.dropdown
145
- }, /*#__PURE__*/_react["default"].createElement(DXCDropdownContainer, {
248
+ }, /*#__PURE__*/_react["default"].createElement(DropdownContainer, {
249
+ onMouseEnter: !disabled && expandOnHover ? handleOnOpenMenu : undefined,
250
+ onMouseLeave: !disabled && expandOnHover ? handleOnCloseMenu : undefined,
251
+ onBlur: !disabled ? handleOnBlur : undefined,
146
252
  margin: margin,
147
- size: size,
148
- disabled: disabled
149
- }, /*#__PURE__*/_react["default"].createElement("div", {
150
- onMouseOver: expandOnHover && !disabled ? handleClickListItem : undefined,
151
- onMouseOut: handleCloseOver,
152
- onFocus: handleCloseOver,
153
- onBlur: handleCloseOver
253
+ size: size
254
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
255
+ open: isOpen
256
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
257
+ asChild: true
154
258
  }, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
155
- opened: anchorEl === null ? false : true,
156
- onClick: handleClickListItem,
259
+ opened: isOpen,
260
+ onClick: handleTriggerOnClick,
261
+ onKeyDown: handleTriggerOnKeyDown,
262
+ onBlur: function onBlur(event) {
263
+ event.stopPropagation();
264
+ },
157
265
  disabled: disabled,
158
266
  label: label,
159
- caretHidden: caretHidden,
160
267
  margin: margin,
161
268
  size: size,
162
- ref: ref,
163
- tabIndex: tabIndex
164
- }, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContainer, {
165
- iconPosition: iconPosition,
166
- caretHidden: caretHidden
167
- }, icon ? /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
269
+ id: triggerId,
270
+ "aria-disabled": disabled,
271
+ "aria-haspopup": "true",
272
+ "aria-expanded": isOpen ? true : undefined,
273
+ tabIndex: tabIndex,
274
+ ref: triggerRef
275
+ }, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContent, null, label && iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(DropdownTriggerIcon, {
168
276
  label: label,
169
277
  iconPosition: iconPosition,
278
+ disabled: disabled,
279
+ role: typeof icon === "string" ? undefined : "img"
280
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
281
+ src: icon
282
+ }) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
170
283
  disabled: disabled
171
- }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
172
- label: label,
173
- src: iconSrc,
174
- iconPosition: iconPosition
175
- }), /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
176
- iconPosition: iconPosition,
177
- label: label
178
- }, label)), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
179
- caretHidden: caretHidden,
180
- disabled: disabled
181
- }, !caretHidden && (anchorEl === null ? /*#__PURE__*/_react["default"].createElement(DownArrowIcon, null) : /*#__PURE__*/_react["default"].createElement(UpArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(DXCMenu, {
182
- anchorEl: anchorEl,
183
- open: Boolean(anchorEl),
184
- onClose: handleClose,
185
- getContentAnchorEl: null,
186
- anchorOrigin: {
187
- vertical: "bottom",
188
- horizontal: "left"
189
- },
190
- transformOrigin: {
191
- vertical: "top",
192
- horizontal: "left"
193
- },
194
- optionsIconPosition: optionsIconPosition,
195
- size: size,
196
- width: width,
197
- role: undefined,
198
- transition: true,
199
- disablePortal: true,
200
- placement: "bottom-start"
201
- }, function (_ref2) {
202
- var TransitionProps = _ref2.TransitionProps;
203
- return /*#__PURE__*/_react["default"].createElement(_Grow["default"], TransitionProps, /*#__PURE__*/_react["default"].createElement(_Paper["default"], null, /*#__PURE__*/_react["default"].createElement(_core.ClickAwayListener, {
204
- onClickAway: handleClose
205
- }, /*#__PURE__*/_react["default"].createElement(_MenuList["default"], {
206
- autoFocusItem: Boolean(anchorEl),
207
- id: "menu-list-grow"
208
- }, options.map(function (option) {
209
- return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
210
- key: option.value,
211
- value: option.value,
212
- disableRipple: true,
213
- onClick: function onClick(event) {
214
- return handleMenuItemClick(option);
215
- }
216
- }, option.icon ? /*#__PURE__*/_react["default"].createElement(ListIconContainer, {
217
- label: option.label,
218
- iconPosition: optionsIconPosition
219
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)) : option.iconSrc && /*#__PURE__*/_react["default"].createElement(ListIcon, {
220
- label: option.label,
221
- src: option.iconSrc,
222
- iconPosition: optionsIconPosition
223
- }), /*#__PURE__*/_react["default"].createElement("span", {
224
- className: "optionLabel"
225
- }, option.label));
226
- })))));
227
- }))));
284
+ }, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
285
+ sideOffset: 1,
286
+ asChild: true
287
+ }, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
288
+ id: menuId,
289
+ dropdownTriggerId: triggerId,
290
+ options: options,
291
+ iconsPosition: optionsIconPosition,
292
+ visualFocusIndex: visualFocusIndex,
293
+ menuItemOnClick: handleMenuItemOnClick,
294
+ onKeyDown: handleMenuOnKeyDown,
295
+ styles: menuStyles,
296
+ ref: menuRef
297
+ })))));
228
298
  };
229
299
 
230
300
  var sizes = {
@@ -236,14 +306,10 @@ var sizes = {
236
306
  };
237
307
 
238
308
  var calculateWidth = function calculateWidth(margin, size) {
239
- if (size === "fillParent") {
240
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
241
- }
242
-
243
- return sizes[size];
309
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
244
310
  };
245
311
 
246
- var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-block;\n"])), function (props) {
312
+ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
247
313
  return calculateWidth(props.margin, props.size);
248
314
  }, function (props) {
249
315
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -257,68 +323,10 @@ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (
257
323
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
258
324
  });
259
325
 
260
- var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:focus {\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n }\n .MuiListItem-button:active {\n background-color: ", ";\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n }\n"])), function (props) {
261
- return calculateWidth(props.margin, props.size);
262
- }, function (props) {
263
- return props.theme.optionPaddingTop;
264
- }, function (props) {
265
- return props.theme.optionPaddingBottom;
266
- }, function (props) {
267
- return props.theme.optionPaddingLeft;
268
- }, function (props) {
269
- return props.theme.optionPaddingRight;
270
- }, function (props) {
271
- return "".concat(props.width, "px");
272
- }, function (props) {
273
- return props.theme.borderThickness;
274
- }, function (props) {
275
- return props.theme.borderStyle;
276
- }, function (props) {
277
- return props.theme.borderColor;
278
- }, function (props) {
279
- return props.theme.borderRadius;
280
- }, function (props) {
281
- return props.theme.borderRadius;
282
- }, function (props) {
283
- return props.theme.scrollBarTrackColor;
284
- }, function (props) {
285
- return props.theme.scrollBarThumbColor;
286
- }, function (props) {
287
- return props.optionsIconPosition === "after" && "row-reverse" || "row";
288
- }, function (props) {
289
- return props.optionsIconPosition === "after" && "flex-end" || "";
290
- }, function (props) {
291
- return props.theme.optionBackgroundColor;
292
- }, function (props) {
293
- return props.theme.optionFontFamily;
294
- }, function (props) {
295
- return props.theme.optionFontSize;
296
- }, function (props) {
297
- return props.theme.optionFontStyle;
298
- }, function (props) {
299
- return props.theme.optionFontWeight;
300
- }, function (props) {
301
- return props.theme.optionFontColor;
302
- }, function (props) {
303
- return props.theme.focusColor;
304
- }, function (props) {
305
- return props.theme.hoverOptionBackgroundColor;
306
- }, function (props) {
307
- return props.theme.activeOptionBackgroundColor;
308
- }, function (props) {
309
- return props.theme.focusColor;
310
- });
311
-
312
- var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: auto;\n min-height: 40px;\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n min-width: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n background-color: ", ";\n color: ", ";\n border-bottom-right-radius: ", ";\n border-bottom-left-radius: ", ";\n\n ", ";\n"])), function (props) {
313
- return props.disabled ? "not-allowed" : "pointer";
314
- }, function (props) {
315
- return props.theme.buttonFontFamily;
316
- }, function (props) {
317
- return props.theme.buttonFontSize;
318
- }, function (props) {
319
- return props.theme.buttonFontStyle;
326
+ var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ", ";\n width: 100%;\n min-height: 40px;\n min-width: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n background-color: ", ";\n color: ", ";\n cursor: ", ";\n\n ", ";\n"])), function (props) {
327
+ return props.theme.caretIconSpacing;
320
328
  }, function (props) {
321
- return props.theme.buttonFontWeight;
329
+ return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
322
330
  }, function (props) {
323
331
  return props.theme.borderRadius;
324
332
  }, function (props) {
@@ -327,8 +335,6 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
327
335
  return props.theme.borderStyle;
328
336
  }, function (props) {
329
337
  return props.disabled ? props.theme.disabledBorderColor : props.theme.borderColor;
330
- }, function (props) {
331
- return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
332
338
  }, function (props) {
333
339
  return props.theme.buttonPaddingTop;
334
340
  }, function (props) {
@@ -342,70 +348,34 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
342
348
  }, function (props) {
343
349
  return props.disabled ? props.theme.disabledColor : props.theme.buttonFontColor;
344
350
  }, function (props) {
345
- return props.opened ? "0px" : props.theme.borderRadius;
346
- }, function (props) {
347
- return props.opened ? "0px" : props.theme.borderRadius;
351
+ return props.disabled ? "not-allowed" : "pointer";
348
352
  }, function (props) {
349
- return !props.disabled && " \n &:focus {\n outline: none;\n }\n &:focus-visible {\n outline: ".concat(props.theme.focusColor, " solid 2px;\n outline-offset: -2px;\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
353
+ return !props.disabled && "\n &:focus {\n outline: ".concat(props.theme.focusColor, " solid 2px;\n outline-offset: -2px;\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
350
354
  });
351
355
 
352
- var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
353
-
354
- var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-direction: ", ";\n margin-left: 0px;\n margin-right: 0px;\n width: ", ";\n white-space: nowrap;\n"])), function (props) {
355
- return props.iconPosition === "after" && "row-reverse" || "row";
356
- }, function (props) {
357
- return props.caretHidden ? "100%" : "calc(100% - 36px)";
356
+ var DropdownTriggerContent = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n gap: ", ";\n margin-left: 0px;\n margin-right: 0px;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
357
+ return props.theme.buttonIconSpacing;
358
358
  });
359
359
 
360
- var ButtonIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
361
- return props.theme.buttonIconSize;
360
+ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n"])), function (props) {
361
+ return props.theme.buttonFontFamily;
362
362
  }, function (props) {
363
- return props.theme.buttonIconSize;
363
+ return props.theme.buttonFontSize;
364
364
  }, function (props) {
365
- return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
365
+ return props.theme.buttonFontStyle;
366
366
  }, function (props) {
367
- return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
367
+ return props.theme.buttonFontWeight;
368
368
  });
369
369
 
370
- var ButtonIconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
370
+ var DropdownTriggerIcon = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
371
371
  return props.theme.buttonIconSize;
372
372
  }, function (props) {
373
373
  return props.theme.buttonIconSize;
374
- }, function (props) {
375
- return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
376
- }, function (props) {
377
- return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
378
374
  }, function (props) {
379
375
  return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
380
376
  });
381
377
 
382
- var ListIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
383
- return props.theme.optionIconSize;
384
- }, function (props) {
385
- return props.theme.optionIconSize;
386
- }, function (props) {
387
- return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
388
- }, function (props) {
389
- return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
390
- });
391
-
392
- var ListIconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
393
- return props.theme.optionIconSize;
394
- }, function (props) {
395
- return props.theme.optionIconSize;
396
- }, function (props) {
397
- return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
398
- }, function (props) {
399
- return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
400
- }, function (props) {
401
- return props.theme.optionIconColor;
402
- });
403
-
404
- var CaretIconContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n margin-left: ", ";\n color: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
405
- return props.caretHidden ? "none" : "inline-flex";
406
- }, function (props) {
407
- return props.theme.caretIconSpacing;
408
- }, function (props) {
378
+ var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
409
379
  return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
410
380
  }, function (props) {
411
381
  return props.theme.caretIconSize;