@dxc-technology/halstack-react 0.0.0-da224ae → 0.0.0-da4b2be

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