@dxc-technology/halstack-react 0.0.0-efa7c74 → 0.0.0-f00a97a

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 (268) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +15 -47
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +16 -17
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/AccordionGroup.test.js +151 -0
  14. package/accordion-group/types.d.ts +8 -8
  15. package/alert/Alert.js +6 -3
  16. package/alert/Alert.test.js +92 -0
  17. package/badge/Badge.d.ts +4 -0
  18. package/badge/Badge.js +6 -4
  19. package/badge/types.d.ts +5 -0
  20. package/{radio → badge}/types.js +0 -0
  21. package/bleed/Bleed.d.ts +3 -0
  22. package/bleed/Bleed.js +51 -0
  23. package/bleed/Bleed.stories.tsx +341 -0
  24. package/bleed/types.d.ts +37 -0
  25. package/bleed/types.js +5 -0
  26. package/box/Box.js +24 -34
  27. package/box/Box.test.js +18 -0
  28. package/bulleted-list/BulletedList.d.ts +7 -0
  29. package/bulleted-list/BulletedList.js +123 -0
  30. package/bulleted-list/BulletedList.stories.tsx +200 -0
  31. package/bulleted-list/types.d.ts +11 -0
  32. package/bulleted-list/types.js +5 -0
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +59 -82
  35. package/button/Button.stories.tsx +15 -8
  36. package/button/Button.test.js +35 -0
  37. package/button/types.d.ts +8 -12
  38. package/card/Card.js +25 -28
  39. package/card/Card.stories.tsx +1 -1
  40. package/card/Card.test.js +50 -0
  41. package/checkbox/Checkbox.d.ts +1 -1
  42. package/checkbox/Checkbox.js +45 -41
  43. package/checkbox/Checkbox.stories.tsx +124 -128
  44. package/checkbox/Checkbox.test.js +78 -0
  45. package/checkbox/types.d.ts +8 -4
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +16 -76
  48. package/chip/Chip.stories.tsx +6 -8
  49. package/chip/Chip.test.js +56 -0
  50. package/chip/types.d.ts +45 -0
  51. package/chip/types.js +5 -0
  52. package/common/variables.js +282 -355
  53. package/date-input/DateInput.js +66 -55
  54. package/date-input/DateInput.stories.tsx +7 -7
  55. package/date-input/DateInput.test.js +479 -0
  56. package/date-input/types.d.ts +16 -9
  57. package/dialog/Dialog.js +50 -53
  58. package/dialog/Dialog.stories.tsx +1 -2
  59. package/dialog/Dialog.test.js +70 -0
  60. package/dialog/types.d.ts +2 -2
  61. package/dropdown/Dropdown.d.ts +1 -1
  62. package/dropdown/Dropdown.js +242 -272
  63. package/dropdown/Dropdown.stories.tsx +312 -0
  64. package/dropdown/Dropdown.test.js +591 -0
  65. package/dropdown/DropdownMenu.d.ts +4 -0
  66. package/dropdown/DropdownMenu.js +80 -0
  67. package/dropdown/DropdownMenuItem.d.ts +4 -0
  68. package/dropdown/DropdownMenuItem.js +92 -0
  69. package/dropdown/types.d.ts +30 -19
  70. package/file-input/FileInput.d.ts +1 -1
  71. package/file-input/FileInput.js +165 -83
  72. package/file-input/FileInput.stories.tsx +507 -0
  73. package/file-input/FileInput.test.js +457 -0
  74. package/file-input/FileItem.js +12 -8
  75. package/file-input/types.d.ts +32 -7
  76. package/flex/Flex.d.ts +4 -0
  77. package/flex/Flex.js +57 -0
  78. package/flex/Flex.stories.tsx +103 -0
  79. package/flex/types.d.ts +21 -0
  80. package/flex/types.js +5 -0
  81. package/footer/Footer.d.ts +1 -1
  82. package/footer/Footer.js +32 -113
  83. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
  84. package/footer/Footer.test.js +109 -0
  85. package/footer/Icons.d.ts +2 -0
  86. package/footer/Icons.js +4 -4
  87. package/footer/types.d.ts +21 -17
  88. package/header/Header.js +97 -116
  89. package/header/Header.stories.tsx +46 -36
  90. package/header/Header.test.js +79 -0
  91. package/header/Icons.d.ts +2 -0
  92. package/header/Icons.js +2 -2
  93. package/header/types.d.ts +2 -2
  94. package/heading/Heading.js +1 -1
  95. package/heading/Heading.stories.tsx +3 -2
  96. package/heading/Heading.test.js +186 -0
  97. package/inset/Inset.d.ts +3 -0
  98. package/inset/Inset.js +51 -0
  99. package/inset/Inset.stories.tsx +229 -0
  100. package/inset/types.d.ts +37 -0
  101. package/inset/types.js +5 -0
  102. package/layout/ApplicationLayout.d.ts +20 -0
  103. package/layout/ApplicationLayout.js +71 -135
  104. package/layout/ApplicationLayout.stories.tsx +161 -0
  105. package/layout/Icons.d.ts +5 -0
  106. package/layout/Icons.js +13 -2
  107. package/layout/SidenavContext.d.ts +5 -0
  108. package/layout/SidenavContext.js +19 -0
  109. package/layout/types.d.ts +42 -0
  110. package/layout/types.js +5 -0
  111. package/link/Link.d.ts +3 -2
  112. package/link/Link.js +61 -86
  113. package/link/Link.stories.tsx +99 -52
  114. package/link/Link.test.js +83 -0
  115. package/link/types.d.ts +9 -29
  116. package/main.d.ts +12 -12
  117. package/main.js +64 -58
  118. package/number-input/NumberInput.js +14 -24
  119. package/number-input/NumberInput.stories.tsx +5 -5
  120. package/number-input/NumberInput.test.js +506 -0
  121. package/number-input/types.d.ts +17 -10
  122. package/package.json +14 -10
  123. package/paginator/Paginator.js +19 -46
  124. package/paginator/Paginator.test.js +308 -0
  125. package/paragraph/Paragraph.d.ts +6 -0
  126. package/paragraph/Paragraph.js +38 -0
  127. package/paragraph/Paragraph.stories.tsx +44 -0
  128. package/password-input/PasswordInput.js +23 -19
  129. package/password-input/PasswordInput.stories.tsx +3 -3
  130. package/password-input/PasswordInput.test.js +180 -0
  131. package/password-input/types.d.ts +26 -21
  132. package/progress-bar/ProgressBar.d.ts +2 -2
  133. package/progress-bar/ProgressBar.js +59 -53
  134. package/progress-bar/ProgressBar.stories.jsx +13 -11
  135. package/progress-bar/ProgressBar.test.js +110 -0
  136. package/progress-bar/types.d.ts +3 -4
  137. package/quick-nav/QuickNav.d.ts +4 -0
  138. package/quick-nav/QuickNav.js +118 -0
  139. package/quick-nav/QuickNav.stories.tsx +264 -0
  140. package/quick-nav/types.d.ts +21 -0
  141. package/quick-nav/types.js +5 -0
  142. package/radio-group/Radio.d.ts +4 -0
  143. package/radio-group/Radio.js +141 -0
  144. package/radio-group/RadioGroup.d.ts +4 -0
  145. package/radio-group/RadioGroup.js +281 -0
  146. package/radio-group/RadioGroup.stories.tsx +100 -0
  147. package/radio-group/RadioGroup.test.js +695 -0
  148. package/radio-group/types.d.ts +114 -0
  149. package/radio-group/types.js +5 -0
  150. package/resultsetTable/ResultsetTable.d.ts +1 -1
  151. package/resultsetTable/ResultsetTable.js +9 -4
  152. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  153. package/resultsetTable/ResultsetTable.test.js +348 -0
  154. package/resultsetTable/types.d.ts +6 -2
  155. package/select/Icons.d.ts +10 -0
  156. package/select/Icons.js +93 -0
  157. package/select/Listbox.d.ts +4 -0
  158. package/select/Listbox.js +199 -0
  159. package/select/Option.d.ts +4 -0
  160. package/select/Option.js +110 -0
  161. package/select/Select.d.ts +4 -0
  162. package/select/Select.js +158 -380
  163. package/select/Select.stories.tsx +231 -176
  164. package/select/Select.test.js +2175 -0
  165. package/select/types.d.ts +210 -0
  166. package/select/types.js +5 -0
  167. package/sidenav/Sidenav.d.ts +6 -5
  168. package/sidenav/Sidenav.js +186 -54
  169. package/sidenav/Sidenav.stories.tsx +154 -139
  170. package/sidenav/Sidenav.test.js +44 -0
  171. package/sidenav/types.d.ts +50 -27
  172. package/slider/Slider.d.ts +1 -1
  173. package/slider/Slider.js +7 -6
  174. package/slider/Slider.stories.tsx +8 -8
  175. package/slider/Slider.test.js +187 -0
  176. package/slider/types.d.ts +4 -0
  177. package/spinner/Spinner.js +3 -3
  178. package/spinner/Spinner.stories.jsx +1 -0
  179. package/spinner/Spinner.test.js +64 -0
  180. package/switch/Switch.d.ts +2 -2
  181. package/switch/Switch.js +129 -57
  182. package/switch/Switch.stories.tsx +21 -43
  183. package/switch/Switch.test.js +212 -0
  184. package/switch/types.d.ts +9 -6
  185. package/table/Table.js +2 -2
  186. package/table/Table.stories.jsx +2 -1
  187. package/table/Table.test.js +26 -0
  188. package/tabs/Tabs.d.ts +1 -1
  189. package/tabs/Tabs.js +17 -19
  190. package/tabs/Tabs.stories.tsx +7 -16
  191. package/tabs/Tabs.test.js +140 -0
  192. package/tabs/types.d.ts +27 -15
  193. package/tabs-nav/NavTabs.d.ts +8 -0
  194. package/tabs-nav/NavTabs.js +125 -0
  195. package/tabs-nav/NavTabs.stories.tsx +170 -0
  196. package/tabs-nav/NavTabs.test.js +82 -0
  197. package/tabs-nav/Tab.d.ts +4 -0
  198. package/tabs-nav/Tab.js +130 -0
  199. package/tabs-nav/types.d.ts +53 -0
  200. package/tabs-nav/types.js +5 -0
  201. package/tag/Tag.d.ts +1 -1
  202. package/tag/Tag.js +18 -28
  203. package/tag/Tag.stories.tsx +26 -29
  204. package/tag/Tag.test.js +60 -0
  205. package/tag/types.d.ts +23 -14
  206. package/text-input/Suggestion.d.ts +4 -0
  207. package/text-input/Suggestion.js +55 -0
  208. package/text-input/TextInput.js +100 -124
  209. package/text-input/TextInput.stories.tsx +473 -0
  210. package/text-input/TextInput.test.js +1712 -0
  211. package/text-input/types.d.ts +44 -23
  212. package/textarea/Textarea.d.ts +4 -0
  213. package/textarea/Textarea.js +39 -79
  214. package/textarea/Textarea.stories.jsx +37 -15
  215. package/textarea/Textarea.test.js +437 -0
  216. package/textarea/types.d.ts +137 -0
  217. package/textarea/types.js +5 -0
  218. package/toggle-group/ToggleGroup.d.ts +1 -1
  219. package/toggle-group/ToggleGroup.js +15 -17
  220. package/toggle-group/ToggleGroup.stories.tsx +27 -32
  221. package/toggle-group/ToggleGroup.test.js +156 -0
  222. package/toggle-group/types.d.ts +47 -26
  223. package/typography/Typography.d.ts +4 -0
  224. package/typography/Typography.js +131 -0
  225. package/typography/Typography.stories.tsx +198 -0
  226. package/typography/types.d.ts +18 -0
  227. package/typography/types.js +5 -0
  228. package/useTheme.d.ts +2 -0
  229. package/useTheme.js +2 -2
  230. package/useTranslatedLabels.d.ts +2 -0
  231. package/useTranslatedLabels.js +20 -0
  232. package/wizard/Wizard.d.ts +1 -1
  233. package/wizard/Wizard.js +112 -58
  234. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +33 -24
  235. package/wizard/Wizard.test.js +141 -0
  236. package/wizard/types.d.ts +13 -12
  237. package/ThemeContext.js +0 -246
  238. package/V3Select/V3Select.js +0 -455
  239. package/V3Select/index.d.ts +0 -27
  240. package/V3Textarea/V3Textarea.js +0 -260
  241. package/V3Textarea/index.d.ts +0 -27
  242. package/chip/index.d.ts +0 -22
  243. package/date/Date.js +0 -373
  244. package/date/index.d.ts +0 -27
  245. package/input-text/Icons.js +0 -22
  246. package/input-text/InputText.js +0 -611
  247. package/input-text/index.d.ts +0 -36
  248. package/radio/Radio.d.ts +0 -4
  249. package/radio/Radio.js +0 -174
  250. package/radio/Radio.stories.tsx +0 -192
  251. package/radio/types.d.ts +0 -54
  252. package/select/index.d.ts +0 -131
  253. package/textarea/index.d.ts +0 -117
  254. package/toggle/Toggle.js +0 -186
  255. package/toggle/index.d.ts +0 -21
  256. package/upload/Upload.js +0 -201
  257. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  258. package/upload/buttons-upload/Icons.js +0 -40
  259. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  260. package/upload/dragAndDropArea/Icons.js +0 -39
  261. package/upload/file-upload/FileToUpload.js +0 -115
  262. package/upload/file-upload/Icons.js +0 -66
  263. package/upload/files-upload/FilesToUpload.js +0 -109
  264. package/upload/index.d.ts +0 -15
  265. package/upload/transaction/Icons.js +0 -160
  266. package/upload/transaction/Transaction.js +0 -104
  267. package/upload/transactions/Transactions.js +0 -94
  268. 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"));
22
+ var _variables = require("../common/variables.js");
29
23
 
30
- var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
24
+ var _utils = require("../common/utils.js");
31
25
 
32
- var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
26
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
33
27
 
34
- var _variables = require("../common/variables.js");
28
+ var _uuid = require("uuid");
35
29
 
36
- var _utils = require("../common/utils.js");
30
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
37
31
 
38
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
32
+ var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
39
33
 
40
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
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;
69
87
 
70
- var _useState = (0, _react.useState)(),
71
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
72
- width = _useState2[0],
73
- setWidth = _useState2[1];
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);
93
+
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, {
168
- label: label,
169
- iconPosition: iconPosition,
170
- disabled: disabled
171
- }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
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, {
172
276
  label: label,
173
- src: iconSrc,
174
- iconPosition: iconPosition
175
- }), /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
176
277
  iconPosition: iconPosition,
177
- label: label
178
- }, label)), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
179
- caretHidden: caretHidden,
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, {
180
283
  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;