@dxc-technology/halstack-react 0.0.0-9b45027 → 0.0.0-9bd9511

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 (294) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -11
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +124 -179
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +12 -11
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +28 -77
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +108 -0
  14. package/accordion-group/types.d.ts +19 -12
  15. package/alert/Alert.js +18 -46
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +75 -0
  18. package/alert/types.d.ts +3 -3
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -16
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.d.ts +2 -2
  23. package/bleed/Bleed.js +14 -55
  24. package/bleed/Bleed.stories.tsx +94 -95
  25. package/bleed/types.d.ts +26 -2
  26. package/box/Box.js +34 -63
  27. package/box/Box.stories.tsx +15 -0
  28. package/box/Box.test.js +13 -0
  29. package/box/types.d.ts +5 -4
  30. package/bulleted-list/BulletedList.d.ts +7 -0
  31. package/bulleted-list/BulletedList.js +98 -0
  32. package/bulleted-list/BulletedList.stories.tsx +200 -0
  33. package/bulleted-list/types.d.ts +11 -0
  34. package/bulleted-list/types.js +5 -0
  35. package/button/Button.js +61 -100
  36. package/button/Button.stories.tsx +159 -8
  37. package/button/Button.test.js +26 -0
  38. package/button/types.d.ts +8 -8
  39. package/card/Card.js +44 -70
  40. package/card/Card.test.js +39 -0
  41. package/card/types.d.ts +4 -3
  42. package/checkbox/Checkbox.d.ts +2 -2
  43. package/checkbox/Checkbox.js +115 -162
  44. package/checkbox/Checkbox.stories.tsx +198 -130
  45. package/checkbox/Checkbox.test.js +128 -0
  46. package/checkbox/types.d.ts +14 -6
  47. package/chip/Chip.d.ts +1 -1
  48. package/chip/Chip.js +29 -91
  49. package/chip/Chip.stories.tsx +98 -13
  50. package/chip/Chip.test.js +42 -0
  51. package/chip/types.d.ts +8 -16
  52. package/common/utils.js +1 -6
  53. package/common/variables.d.ts +1431 -0
  54. package/common/variables.js +480 -554
  55. package/date-input/Calendar.d.ts +4 -0
  56. package/date-input/Calendar.js +215 -0
  57. package/date-input/DateInput.js +164 -300
  58. package/date-input/DateInput.stories.tsx +199 -33
  59. package/date-input/DateInput.test.js +648 -0
  60. package/date-input/DatePicker.d.ts +4 -0
  61. package/date-input/DatePicker.js +116 -0
  62. package/date-input/Icons.d.ts +6 -0
  63. package/date-input/Icons.js +63 -0
  64. package/date-input/YearPicker.d.ts +4 -0
  65. package/date-input/YearPicker.js +101 -0
  66. package/date-input/types.d.ts +71 -13
  67. package/dialog/Dialog.js +52 -84
  68. package/dialog/Dialog.stories.tsx +99 -22
  69. package/dialog/Dialog.test.js +56 -0
  70. package/dialog/types.d.ts +4 -3
  71. package/dropdown/Dropdown.d.ts +1 -1
  72. package/dropdown/Dropdown.js +240 -323
  73. package/dropdown/Dropdown.stories.tsx +255 -64
  74. package/dropdown/Dropdown.test.js +479 -0
  75. package/dropdown/DropdownMenu.d.ts +4 -0
  76. package/dropdown/DropdownMenu.js +60 -0
  77. package/dropdown/DropdownMenuItem.d.ts +4 -0
  78. package/dropdown/DropdownMenuItem.js +70 -0
  79. package/dropdown/types.d.ts +30 -19
  80. package/file-input/FileInput.d.ts +2 -2
  81. package/file-input/FileInput.js +224 -351
  82. package/file-input/FileInput.stories.tsx +122 -11
  83. package/file-input/FileInput.test.js +445 -0
  84. package/file-input/FileItem.d.ts +4 -14
  85. package/file-input/FileItem.js +48 -97
  86. package/file-input/types.d.ts +24 -7
  87. package/flex/Flex.d.ts +4 -0
  88. package/flex/Flex.js +57 -0
  89. package/flex/Flex.stories.tsx +103 -0
  90. package/flex/types.d.ts +32 -0
  91. package/flex/types.js +5 -0
  92. package/footer/Footer.js +36 -143
  93. package/footer/Footer.stories.tsx +99 -1
  94. package/footer/Footer.test.js +92 -0
  95. package/footer/Icons.js +1 -5
  96. package/footer/types.d.ts +7 -6
  97. package/header/Header.js +112 -177
  98. package/header/Header.stories.tsx +189 -36
  99. package/header/Header.test.js +66 -0
  100. package/header/Icons.js +2 -6
  101. package/header/types.d.ts +4 -3
  102. package/heading/Heading.js +8 -29
  103. package/heading/Heading.test.js +169 -0
  104. package/heading/types.d.ts +3 -3
  105. package/inset/Inset.js +14 -55
  106. package/inset/Inset.stories.tsx +36 -36
  107. package/inset/types.d.ts +26 -2
  108. package/layout/ApplicationLayout.d.ts +16 -6
  109. package/layout/ApplicationLayout.js +71 -164
  110. package/layout/ApplicationLayout.stories.tsx +84 -93
  111. package/layout/Icons.d.ts +5 -0
  112. package/layout/Icons.js +11 -10
  113. package/layout/SidenavContext.d.ts +5 -0
  114. package/layout/SidenavContext.js +15 -0
  115. package/layout/types.d.ts +18 -33
  116. package/link/Link.d.ts +3 -2
  117. package/link/Link.js +61 -106
  118. package/link/Link.stories.tsx +159 -52
  119. package/link/Link.test.js +65 -0
  120. package/link/types.d.ts +9 -29
  121. package/main.d.ts +11 -15
  122. package/main.js +48 -121
  123. package/nav-tabs/NavTabs.d.ts +8 -0
  124. package/nav-tabs/NavTabs.js +95 -0
  125. package/nav-tabs/NavTabs.stories.tsx +260 -0
  126. package/nav-tabs/NavTabs.test.js +75 -0
  127. package/nav-tabs/Tab.d.ts +4 -0
  128. package/nav-tabs/Tab.js +120 -0
  129. package/nav-tabs/types.d.ts +53 -0
  130. package/nav-tabs/types.js +5 -0
  131. package/number-input/NumberInput.js +21 -38
  132. package/number-input/NumberInput.stories.tsx +5 -5
  133. package/number-input/NumberInput.test.js +406 -0
  134. package/number-input/NumberInputContext.js +0 -5
  135. package/number-input/numberInputContextTypes.d.ts +1 -1
  136. package/number-input/types.d.ts +21 -14
  137. package/package.json +22 -25
  138. package/paginator/Icons.d.ts +5 -0
  139. package/paginator/Icons.js +16 -38
  140. package/paginator/Paginator.js +31 -82
  141. package/paginator/Paginator.stories.tsx +24 -0
  142. package/paginator/Paginator.test.js +266 -0
  143. package/paginator/types.d.ts +1 -1
  144. package/paragraph/Paragraph.d.ts +6 -0
  145. package/paragraph/Paragraph.js +28 -0
  146. package/paragraph/Paragraph.stories.tsx +44 -0
  147. package/password-input/PasswordInput.js +28 -54
  148. package/password-input/PasswordInput.test.js +138 -0
  149. package/password-input/types.d.ts +18 -15
  150. package/progress-bar/ProgressBar.d.ts +2 -2
  151. package/progress-bar/ProgressBar.js +65 -84
  152. package/progress-bar/ProgressBar.stories.jsx +47 -12
  153. package/progress-bar/ProgressBar.test.js +93 -0
  154. package/progress-bar/types.d.ts +3 -4
  155. package/quick-nav/QuickNav.d.ts +4 -0
  156. package/quick-nav/QuickNav.js +95 -0
  157. package/quick-nav/QuickNav.stories.tsx +356 -0
  158. package/quick-nav/types.d.ts +21 -0
  159. package/quick-nav/types.js +5 -0
  160. package/radio-group/Radio.d.ts +1 -1
  161. package/radio-group/Radio.js +61 -66
  162. package/radio-group/RadioGroup.js +99 -129
  163. package/radio-group/RadioGroup.stories.tsx +171 -36
  164. package/radio-group/RadioGroup.test.js +620 -0
  165. package/radio-group/types.d.ts +85 -7
  166. package/resultsetTable/Icons.d.ts +7 -0
  167. package/resultsetTable/Icons.js +48 -0
  168. package/resultsetTable/ResultsetTable.js +66 -157
  169. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  170. package/resultsetTable/ResultsetTable.test.js +292 -0
  171. package/resultsetTable/types.d.ts +5 -5
  172. package/select/Icons.d.ts +10 -0
  173. package/select/Icons.js +90 -0
  174. package/select/Listbox.d.ts +4 -0
  175. package/select/Listbox.js +144 -0
  176. package/select/Option.d.ts +4 -0
  177. package/select/Option.js +81 -0
  178. package/select/Select.js +201 -485
  179. package/select/Select.stories.tsx +600 -201
  180. package/select/Select.test.js +1845 -0
  181. package/select/types.d.ts +62 -22
  182. package/sidenav/Sidenav.d.ts +6 -5
  183. package/sidenav/Sidenav.js +164 -74
  184. package/sidenav/Sidenav.stories.tsx +249 -149
  185. package/sidenav/Sidenav.test.js +37 -0
  186. package/sidenav/types.d.ts +50 -27
  187. package/slider/Slider.d.ts +2 -2
  188. package/slider/Slider.js +143 -164
  189. package/slider/Slider.stories.tsx +72 -9
  190. package/slider/Slider.test.js +222 -0
  191. package/slider/types.d.ts +11 -3
  192. package/spinner/Spinner.js +12 -41
  193. package/spinner/Spinner.stories.jsx +27 -1
  194. package/spinner/Spinner.test.js +55 -0
  195. package/spinner/types.d.ts +3 -3
  196. package/switch/Switch.d.ts +2 -2
  197. package/switch/Switch.js +148 -107
  198. package/switch/Switch.stories.tsx +53 -42
  199. package/switch/Switch.test.js +180 -0
  200. package/switch/types.d.ts +13 -5
  201. package/table/Table.js +5 -23
  202. package/table/Table.stories.jsx +80 -1
  203. package/table/Table.test.js +21 -0
  204. package/table/types.d.ts +3 -3
  205. package/tabs/Tab.d.ts +4 -0
  206. package/tabs/Tab.js +115 -0
  207. package/tabs/Tabs.d.ts +1 -1
  208. package/tabs/Tabs.js +318 -139
  209. package/tabs/Tabs.stories.tsx +119 -13
  210. package/tabs/Tabs.test.js +295 -0
  211. package/tabs/types.d.ts +21 -7
  212. package/tag/Tag.d.ts +1 -1
  213. package/tag/Tag.js +36 -75
  214. package/tag/Tag.stories.tsx +37 -27
  215. package/tag/Tag.test.js +49 -0
  216. package/tag/types.d.ts +25 -16
  217. package/text-input/Icons.d.ts +8 -0
  218. package/text-input/Icons.js +57 -0
  219. package/text-input/Suggestion.d.ts +4 -0
  220. package/text-input/Suggestion.js +68 -0
  221. package/text-input/Suggestions.d.ts +4 -0
  222. package/text-input/Suggestions.js +109 -0
  223. package/text-input/TextInput.js +232 -438
  224. package/text-input/TextInput.stories.tsx +310 -197
  225. package/text-input/TextInput.test.js +1404 -0
  226. package/text-input/types.d.ts +55 -17
  227. package/textarea/Textarea.js +53 -96
  228. package/textarea/Textarea.stories.jsx +93 -13
  229. package/textarea/Textarea.test.js +360 -0
  230. package/textarea/types.d.ts +22 -15
  231. package/toggle-group/ToggleGroup.d.ts +1 -1
  232. package/toggle-group/ToggleGroup.js +23 -57
  233. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  234. package/toggle-group/ToggleGroup.test.js +124 -0
  235. package/toggle-group/types.d.ts +19 -11
  236. package/translatedLabelsType.d.ts +82 -0
  237. package/translatedLabelsType.js +5 -0
  238. package/typography/Typography.d.ts +4 -0
  239. package/typography/Typography.js +119 -0
  240. package/typography/Typography.stories.tsx +198 -0
  241. package/typography/types.d.ts +18 -0
  242. package/typography/types.js +5 -0
  243. package/useTheme.d.ts +1 -1
  244. package/useTheme.js +3 -9
  245. package/useTranslatedLabels.d.ts +3 -0
  246. package/useTranslatedLabels.js +15 -0
  247. package/wizard/Wizard.d.ts +1 -1
  248. package/wizard/Wizard.js +68 -98
  249. package/wizard/Wizard.stories.tsx +48 -19
  250. package/wizard/Wizard.test.js +114 -0
  251. package/wizard/types.d.ts +12 -7
  252. package/ThemeContext.d.ts +0 -15
  253. package/ThemeContext.js +0 -243
  254. package/V3Select/V3Select.js +0 -455
  255. package/V3Select/index.d.ts +0 -27
  256. package/V3Textarea/V3Textarea.js +0 -260
  257. package/V3Textarea/index.d.ts +0 -27
  258. package/common/RequiredComponent.js +0 -32
  259. package/date/Date.js +0 -373
  260. package/date/index.d.ts +0 -27
  261. package/input-text/Icons.js +0 -22
  262. package/input-text/InputText.js +0 -611
  263. package/input-text/index.d.ts +0 -36
  264. package/list/List.d.ts +0 -8
  265. package/list/List.js +0 -47
  266. package/list/List.stories.tsx +0 -95
  267. package/radio/Radio.d.ts +0 -4
  268. package/radio/Radio.js +0 -174
  269. package/radio/Radio.stories.tsx +0 -192
  270. package/radio/types.d.ts +0 -54
  271. package/row/Row.d.ts +0 -11
  272. package/row/Row.js +0 -127
  273. package/row/Row.stories.tsx +0 -239
  274. package/stack/Stack.d.ts +0 -10
  275. package/stack/Stack.js +0 -97
  276. package/stack/Stack.stories.tsx +0 -166
  277. package/text/Text.d.ts +0 -7
  278. package/text/Text.js +0 -30
  279. package/text/Text.stories.tsx +0 -19
  280. package/toggle/Toggle.js +0 -186
  281. package/toggle/index.d.ts +0 -21
  282. package/upload/Upload.js +0 -201
  283. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  284. package/upload/buttons-upload/Icons.js +0 -40
  285. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  286. package/upload/dragAndDropArea/Icons.js +0 -39
  287. package/upload/file-upload/FileToUpload.js +0 -115
  288. package/upload/file-upload/Icons.js +0 -66
  289. package/upload/files-upload/FilesToUpload.js +0 -109
  290. package/upload/index.d.ts +0 -15
  291. package/upload/transaction/Icons.js +0 -160
  292. package/upload/transaction/Transaction.js +0 -104
  293. package/upload/transactions/Transactions.js +0 -94
  294. /package/{radio → badge}/types.js +0 -0
@@ -1,249 +1,268 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
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
- var _variables = require("../common/variables.js");
35
-
14
+ var _variables = require("../common/variables");
36
15
  var _utils = require("../common/utils.js");
37
-
38
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
39
-
40
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
41
-
17
+ var _uuid = require("uuid");
18
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
19
+ var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
42
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
-
44
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
-
23
+ var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
24
+ xmlns: "http://www.w3.org/2000/svg",
25
+ width: "24",
26
+ height: "24",
27
+ viewBox: "0 0 24 24",
28
+ fill: "currentColor"
29
+ }, /*#__PURE__*/_react["default"].createElement("path", {
30
+ d: "M7 14l5-5 5 5z"
31
+ }), /*#__PURE__*/_react["default"].createElement("path", {
32
+ d: "M0 0h24v24H0z",
33
+ fill: "none"
34
+ }));
35
+ var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
36
+ xmlns: "http://www.w3.org/2000/svg",
37
+ width: "24",
38
+ height: "24",
39
+ viewBox: "0 0 24 24",
40
+ fill: "currentColor"
41
+ }, /*#__PURE__*/_react["default"].createElement("path", {
42
+ d: "M7 10l5 5 5-5z"
43
+ }), /*#__PURE__*/_react["default"].createElement("path", {
44
+ d: "M0 0h24v24H0z",
45
+ fill: "none"
46
+ }));
47
+ var useWidth = function useWidth(target) {
48
+ var _useState = (0, _react.useState)(0),
49
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
+ width = _useState2[0],
51
+ setWidth = _useState2[1];
52
+ (0, _react.useEffect)(function () {
53
+ if (target != null) {
54
+ setWidth(target.getBoundingClientRect().width);
55
+ var triggerObserver = new ResizeObserver(function (entries) {
56
+ var rect = entries[0].target.getBoundingClientRect();
57
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
58
+ });
59
+ triggerObserver.observe(target);
60
+ return function () {
61
+ triggerObserver.unobserve(target);
62
+ };
63
+ }
64
+ }, [target]);
65
+ return width;
66
+ };
46
67
  var DxcDropdown = function DxcDropdown(_ref) {
47
68
  var options = _ref.options,
48
- _ref$optionsIconPosit = _ref.optionsIconPosition,
49
- optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
50
- icon = _ref.icon,
51
- _ref$iconSrc = _ref.iconSrc,
52
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
53
- _ref$iconPosition = _ref.iconPosition,
54
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
55
- _ref$label = _ref.label,
56
- label = _ref$label === void 0 ? "" : _ref$label,
57
- _ref$caretHidden = _ref.caretHidden,
58
- caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
59
- onSelectOption = _ref.onSelectOption,
60
- _ref$expandOnHover = _ref.expandOnHover,
61
- expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
62
- margin = _ref.margin,
63
- _ref$size = _ref.size,
64
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
65
- _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;
69
-
70
- var _useState = (0, _react.useState)(),
71
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
72
- width = _useState2[0],
73
- setWidth = _useState2[1];
74
-
69
+ _ref$optionsIconPosit = _ref.optionsIconPosition,
70
+ optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
71
+ icon = _ref.icon,
72
+ _ref$iconPosition = _ref.iconPosition,
73
+ iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
74
+ _ref$label = _ref.label,
75
+ label = _ref$label === void 0 ? "" : _ref$label,
76
+ _ref$caretHidden = _ref.caretHidden,
77
+ caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
78
+ _ref$disabled = _ref.disabled,
79
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
80
+ _ref$expandOnHover = _ref.expandOnHover,
81
+ expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
82
+ onSelectOption = _ref.onSelectOption,
83
+ margin = _ref.margin,
84
+ _ref$size = _ref.size,
85
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
86
+ _ref$tabIndex = _ref.tabIndex,
87
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
88
+ var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
89
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
90
+ triggerId = _useState4[0];
91
+ var menuId = "menu-".concat(triggerId);
92
+ var _useState5 = (0, _react.useState)(false),
93
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
94
+ isOpen = _useState6[0],
95
+ changeIsOpen = _useState6[1];
96
+ var _useState7 = (0, _react.useState)(0),
97
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
98
+ visualFocusIndex = _useState8[0],
99
+ setVisualFocusIndex = _useState8[1];
75
100
  var colorsTheme = (0, _useTheme["default"])();
76
- var ref = (0, _react.useRef)(null);
77
-
78
- var handleResize = function handleResize() {
79
- if (ref.current) setWidth(ref.current.offsetWidth);
101
+ var triggerRef = (0, _react.useRef)(null);
102
+ var menuRef = (0, _react.useRef)(null);
103
+ var width = useWidth(triggerRef.current);
104
+ var handleOnOpenMenu = function handleOnOpenMenu() {
105
+ changeIsOpen(true);
80
106
  };
81
-
82
- (0, _react.useEffect)(function () {
83
- if (ref.current) {
84
- ref.current.addEventListener("resize", handleResize);
85
- handleResize();
107
+ var handleOnCloseMenu = function handleOnCloseMenu() {
108
+ changeIsOpen(false);
109
+ setVisualFocusIndex(0);
110
+ };
111
+ var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
112
+ var _triggerRef$current;
113
+ onSelectOption(value);
114
+ handleOnCloseMenu();
115
+ (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
116
+ }, [onSelectOption]);
117
+ var handleOnBlur = function handleOnBlur(event) {
118
+ !event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
119
+ };
120
+ var handleTriggerOnClick = function handleTriggerOnClick() {
121
+ changeIsOpen(function (isOpen) {
122
+ return !isOpen;
123
+ });
124
+ };
125
+ var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
126
+ switch (event.key) {
127
+ case "Up":
128
+ case "ArrowUp":
129
+ event.preventDefault();
130
+ setVisualFocusIndex(options.length - 1);
131
+ handleOnOpenMenu();
132
+ break;
133
+ case " ":
134
+ case "Down":
135
+ case "ArrowDown":
136
+ case "Enter":
137
+ event.preventDefault();
138
+ handleOnOpenMenu();
139
+ break;
86
140
  }
87
-
88
- return function () {
89
- if (ref.current) ref.current.removeEventListener("resize", handleResize);
90
- };
91
- }, []);
92
-
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
- }));
126
141
  };
127
-
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
- }));
142
+ var setPreviousIndexFocus = function setPreviousIndexFocus() {
143
+ setVisualFocusIndex(function (currentFocusIndex) {
144
+ var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
145
+ return index;
146
+ });
141
147
  };
142
-
148
+ var setNextIndexFocus = function setNextIndexFocus() {
149
+ setVisualFocusIndex(function (currentFocusIndex) {
150
+ var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
151
+ return index;
152
+ });
153
+ };
154
+ var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
155
+ var _triggerRef$current2, _triggerRef$current3;
156
+ switch (event.key) {
157
+ case "Up":
158
+ case "ArrowUp":
159
+ event.preventDefault();
160
+ setPreviousIndexFocus();
161
+ break;
162
+ case "Down":
163
+ case "ArrowDown":
164
+ event.preventDefault();
165
+ setNextIndexFocus();
166
+ break;
167
+ case " ":
168
+ case "Enter":
169
+ event.preventDefault();
170
+ handleMenuItemOnClick(options[visualFocusIndex].value);
171
+ break;
172
+ case "Esc":
173
+ case "Escape":
174
+ event.preventDefault();
175
+ handleOnCloseMenu();
176
+ (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
177
+ break;
178
+ case "Home":
179
+ case "PageUp":
180
+ event.preventDefault();
181
+ setVisualFocusIndex(0);
182
+ break;
183
+ case "End":
184
+ case "PageDown":
185
+ event.preventDefault();
186
+ setVisualFocusIndex(options.length - 1);
187
+ break;
188
+ case "Tab":
189
+ handleOnCloseMenu();
190
+ (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
191
+ break;
192
+ }
193
+ }, [onSelectOption, visualFocusIndex, options]);
194
+ (0, _react.useLayoutEffect)(function () {
195
+ var _menuRef$current, _visualFocusedMenuIte;
196
+ 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];
197
+ visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
198
+ block: "nearest",
199
+ inline: "start"
200
+ });
201
+ }, [visualFocusIndex]);
143
202
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
144
- theme: colorsTheme.dropdown
145
- }, /*#__PURE__*/_react["default"].createElement(DXCDropdownContainer, {
203
+ theme: colorsTheme["dropdown"]
204
+ }, /*#__PURE__*/_react["default"].createElement(DropdownContainer, {
205
+ onMouseEnter: !disabled && expandOnHover ? handleOnOpenMenu : undefined,
206
+ onMouseLeave: !disabled && expandOnHover ? handleOnCloseMenu : undefined,
207
+ onBlur: !disabled ? handleOnBlur : undefined,
146
208
  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
209
+ size: size
210
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
211
+ open: isOpen
212
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
213
+ asChild: true,
214
+ type: undefined
154
215
  }, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
155
- opened: anchorEl === null ? false : true,
156
- onClick: handleClickListItem,
216
+ onClick: handleTriggerOnClick,
217
+ onKeyDown: handleTriggerOnKeyDown,
218
+ onBlur: function onBlur(event) {
219
+ event.stopPropagation();
220
+ },
157
221
  disabled: disabled,
158
222
  label: label,
159
- caretHidden: caretHidden,
160
223
  margin: margin,
161
224
  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, {
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,
225
+ id: triggerId,
226
+ "aria-haspopup": "true",
227
+ "aria-controls": menuId,
228
+ "aria-expanded": isOpen ? true : undefined,
229
+ tabIndex: tabIndex,
230
+ ref: triggerRef
231
+ }, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContent, null, label && iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(DropdownTriggerIcon, {
232
+ disabled: disabled,
233
+ role: typeof icon === "string" ? undefined : "img"
234
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
235
+ src: icon
236
+ }) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
180
237
  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"
238
+ }, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
239
+ sideOffset: 1,
240
+ asChild: true
241
+ }, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
242
+ id: menuId,
243
+ dropdownTriggerId: triggerId,
244
+ options: options,
245
+ iconsPosition: optionsIconPosition,
246
+ visualFocusIndex: visualFocusIndex,
247
+ menuItemOnClick: handleMenuItemOnClick,
248
+ onKeyDown: handleMenuOnKeyDown,
249
+ styles: {
250
+ width: width
189
251
  },
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
- }))));
252
+ ref: menuRef
253
+ })))));
228
254
  };
229
-
230
255
  var sizes = {
231
256
  small: "60px",
232
257
  medium: "240px",
233
258
  large: "480px",
234
259
  fillParent: "100%",
235
- fitContent: "unset"
260
+ fitContent: "fit-content"
236
261
  };
237
-
238
262
  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];
263
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
244
264
  };
245
-
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) {
265
+ 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
266
  return calculateWidth(props.margin, props.size);
248
267
  }, function (props) {
249
268
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -256,69 +275,10 @@ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (
256
275
  }, function (props) {
257
276
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
258
277
  });
259
-
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;
278
+ 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) {
279
+ return props.theme.caretIconSpacing;
320
280
  }, function (props) {
321
- return props.theme.buttonFontWeight;
281
+ return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
322
282
  }, function (props) {
323
283
  return props.theme.borderRadius;
324
284
  }, function (props) {
@@ -327,8 +287,6 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
327
287
  return props.theme.borderStyle;
328
288
  }, function (props) {
329
289
  return props.disabled ? props.theme.disabledBorderColor : props.theme.borderColor;
330
- }, function (props) {
331
- return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
332
290
  }, function (props) {
333
291
  return props.theme.buttonPaddingTop;
334
292
  }, function (props) {
@@ -342,76 +300,35 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
342
300
  }, function (props) {
343
301
  return props.disabled ? props.theme.disabledColor : props.theme.buttonFontColor;
344
302
  }, function (props) {
345
- return props.opened ? "0px" : props.theme.borderRadius;
346
- }, function (props) {
347
- return props.opened ? "0px" : props.theme.borderRadius;
303
+ return props.disabled ? "not-allowed" : "pointer";
348
304
  }, 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 ");
305
+ 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
306
  });
351
-
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)";
307
+ 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) {
308
+ return props.theme.buttonIconSpacing;
358
309
  });
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;
310
+ 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) {
311
+ return props.theme.buttonFontFamily;
362
312
  }, function (props) {
363
- return props.theme.buttonIconSize;
313
+ return props.theme.buttonFontSize;
364
314
  }, function (props) {
365
- return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
315
+ return props.theme.buttonFontStyle;
366
316
  }, function (props) {
367
- return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
317
+ return props.theme.buttonFontWeight;
368
318
  });
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) {
371
- return props.theme.buttonIconSize;
372
- }, function (props) {
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
- }, function (props) {
319
+ var DropdownTriggerIcon = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
379
320
  return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
380
- });
381
-
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
321
  }, 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";
322
+ return props.theme.buttonIconSize;
400
323
  }, function (props) {
401
- return props.theme.optionIconColor;
324
+ return props.theme.buttonIconSize;
402
325
  });
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) {
326
+ 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
327
  return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
410
328
  }, function (props) {
411
329
  return props.theme.caretIconSize;
412
330
  }, function (props) {
413
331
  return props.theme.caretIconSize;
414
332
  });
415
-
416
333
  var _default = DxcDropdown;
417
334
  exports["default"] = _default;