@dxc-technology/halstack-react 0.0.0-b92e300 → 0.0.0-b94d9fc

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 (393) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +118 -194
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +12 -23
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +39 -108
  13. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  14. package/accordion-group/AccordionGroup.test.js +98 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +18 -23
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +24 -60
  24. package/alert/Alert.stories.tsx +198 -0
  25. package/alert/Alert.test.js +75 -0
  26. package/alert/types.d.ts +6 -6
  27. package/badge/Badge.d.ts +4 -0
  28. package/badge/Badge.js +141 -41
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +54 -0
  32. package/badge/types.js +5 -0
  33. package/bleed/Bleed.d.ts +3 -0
  34. package/bleed/Bleed.js +43 -0
  35. package/bleed/Bleed.stories.tsx +342 -0
  36. package/bleed/types.d.ts +37 -0
  37. package/bleed/types.js +5 -0
  38. package/box/Box.d.ts +4 -0
  39. package/box/Box.js +32 -109
  40. package/box/Box.stories.tsx +119 -0
  41. package/box/Box.test.js +13 -0
  42. package/box/types.d.ts +32 -0
  43. package/box/types.js +5 -0
  44. package/bulleted-list/BulletedList.d.ts +7 -0
  45. package/bulleted-list/BulletedList.js +89 -0
  46. package/bulleted-list/BulletedList.stories.tsx +115 -0
  47. package/bulleted-list/types.d.ts +38 -0
  48. package/bulleted-list/types.js +5 -0
  49. package/button/Button.d.ts +1 -1
  50. package/button/Button.js +65 -127
  51. package/button/Button.stories.tsx +329 -278
  52. package/button/Button.test.js +38 -0
  53. package/button/types.d.ts +18 -18
  54. package/card/Card.d.ts +1 -1
  55. package/card/Card.js +59 -104
  56. package/card/Card.stories.tsx +171 -0
  57. package/card/Card.test.js +39 -0
  58. package/card/types.d.ts +8 -15
  59. package/checkbox/Checkbox.d.ts +2 -2
  60. package/checkbox/Checkbox.js +145 -183
  61. package/checkbox/Checkbox.stories.tsx +222 -0
  62. package/checkbox/Checkbox.test.js +199 -0
  63. package/checkbox/types.d.ts +20 -8
  64. package/chip/Chip.d.ts +4 -0
  65. package/chip/Chip.js +48 -148
  66. package/chip/Chip.stories.tsx +214 -0
  67. package/chip/Chip.test.js +41 -0
  68. package/chip/types.d.ts +45 -0
  69. package/chip/types.js +5 -0
  70. package/common/OpenSans.css +68 -80
  71. package/common/coreTokens.d.ts +237 -0
  72. package/common/coreTokens.js +184 -0
  73. package/common/utils.d.ts +1 -0
  74. package/common/utils.js +6 -12
  75. package/common/variables.d.ts +1395 -0
  76. package/common/variables.js +1033 -1335
  77. package/container/Container.d.ts +4 -0
  78. package/container/Container.js +194 -0
  79. package/container/Container.stories.tsx +214 -0
  80. package/container/types.d.ts +74 -0
  81. package/container/types.js +5 -0
  82. package/date-input/Calendar.d.ts +4 -0
  83. package/date-input/Calendar.js +214 -0
  84. package/date-input/DateInput.js +175 -313
  85. package/date-input/DateInput.stories.tsx +285 -0
  86. package/date-input/DateInput.test.js +808 -0
  87. package/date-input/DatePicker.d.ts +4 -0
  88. package/date-input/DatePicker.js +115 -0
  89. package/date-input/Icons.d.ts +6 -0
  90. package/date-input/Icons.js +58 -0
  91. package/date-input/YearPicker.d.ts +4 -0
  92. package/date-input/YearPicker.js +100 -0
  93. package/date-input/types.d.ts +86 -22
  94. package/dialog/Dialog.d.ts +4 -0
  95. package/dialog/Dialog.js +69 -149
  96. package/dialog/Dialog.stories.tsx +365 -0
  97. package/dialog/Dialog.test.js +307 -0
  98. package/dialog/types.d.ts +36 -0
  99. package/dialog/types.js +5 -0
  100. package/dropdown/Dropdown.d.ts +4 -0
  101. package/dropdown/Dropdown.js +251 -365
  102. package/dropdown/Dropdown.stories.tsx +438 -0
  103. package/dropdown/Dropdown.test.js +599 -0
  104. package/dropdown/DropdownMenu.d.ts +4 -0
  105. package/dropdown/DropdownMenu.js +63 -0
  106. package/dropdown/DropdownMenuItem.d.ts +4 -0
  107. package/dropdown/DropdownMenuItem.js +67 -0
  108. package/dropdown/types.d.ts +98 -0
  109. package/dropdown/types.js +5 -0
  110. package/file-input/FileInput.d.ts +4 -0
  111. package/file-input/FileInput.js +274 -327
  112. package/file-input/FileInput.stories.tsx +618 -0
  113. package/file-input/FileInput.test.js +459 -0
  114. package/file-input/FileItem.d.ts +4 -0
  115. package/file-input/FileItem.js +54 -112
  116. package/file-input/types.d.ts +129 -0
  117. package/file-input/types.js +5 -0
  118. package/flex/Flex.d.ts +4 -0
  119. package/flex/Flex.js +57 -0
  120. package/flex/Flex.stories.tsx +112 -0
  121. package/flex/types.d.ts +97 -0
  122. package/flex/types.js +5 -0
  123. package/footer/Footer.d.ts +4 -0
  124. package/footer/Footer.js +74 -233
  125. package/footer/Footer.stories.tsx +171 -0
  126. package/footer/Footer.test.js +85 -0
  127. package/footer/Icons.d.ts +3 -0
  128. package/footer/Icons.js +67 -8
  129. package/footer/types.d.ts +64 -0
  130. package/footer/types.js +5 -0
  131. package/grid/Grid.d.ts +7 -0
  132. package/grid/Grid.js +76 -0
  133. package/grid/Grid.stories.tsx +219 -0
  134. package/grid/types.d.ts +115 -0
  135. package/grid/types.js +5 -0
  136. package/header/Header.d.ts +8 -0
  137. package/header/Header.js +115 -221
  138. package/header/Header.stories.tsx +251 -0
  139. package/header/Header.test.js +66 -0
  140. package/header/Icons.d.ts +2 -0
  141. package/header/Icons.js +5 -35
  142. package/header/types.d.ts +33 -0
  143. package/header/types.js +5 -0
  144. package/heading/Heading.d.ts +4 -0
  145. package/heading/Heading.js +16 -55
  146. package/heading/Heading.stories.tsx +54 -0
  147. package/heading/Heading.test.js +169 -0
  148. package/heading/types.d.ts +33 -0
  149. package/heading/types.js +5 -0
  150. package/image/Image.d.ts +4 -0
  151. package/image/Image.js +70 -0
  152. package/image/Image.stories.tsx +129 -0
  153. package/image/types.d.ts +72 -0
  154. package/image/types.js +5 -0
  155. package/inset/Inset.d.ts +3 -0
  156. package/inset/Inset.js +43 -0
  157. package/inset/Inset.stories.tsx +230 -0
  158. package/inset/types.d.ts +37 -0
  159. package/inset/types.js +5 -0
  160. package/layout/ApplicationLayout.d.ts +20 -0
  161. package/layout/ApplicationLayout.js +83 -184
  162. package/layout/ApplicationLayout.stories.tsx +162 -0
  163. package/layout/Icons.d.ts +8 -0
  164. package/layout/Icons.js +51 -48
  165. package/layout/SidenavContext.d.ts +5 -0
  166. package/layout/SidenavContext.js +13 -0
  167. package/layout/types.d.ts +41 -0
  168. package/layout/types.js +5 -0
  169. package/link/Link.d.ts +4 -0
  170. package/link/Link.js +65 -133
  171. package/link/Link.stories.tsx +253 -0
  172. package/link/Link.test.js +63 -0
  173. package/link/types.d.ts +54 -0
  174. package/link/types.js +5 -0
  175. package/main.d.ts +17 -14
  176. package/main.js +78 -98
  177. package/nav-tabs/NavTabs.d.ts +8 -0
  178. package/nav-tabs/NavTabs.js +93 -0
  179. package/nav-tabs/NavTabs.stories.tsx +276 -0
  180. package/nav-tabs/NavTabs.test.js +76 -0
  181. package/nav-tabs/Tab.d.ts +4 -0
  182. package/nav-tabs/Tab.js +118 -0
  183. package/nav-tabs/types.d.ts +52 -0
  184. package/nav-tabs/types.js +5 -0
  185. package/number-input/NumberInput.d.ts +11 -0
  186. package/number-input/NumberInput.js +49 -91
  187. package/number-input/NumberInput.stories.tsx +131 -0
  188. package/number-input/NumberInput.test.js +989 -0
  189. package/number-input/types.d.ts +130 -0
  190. package/number-input/types.js +5 -0
  191. package/package.json +46 -45
  192. package/paginator/Icons.d.ts +5 -0
  193. package/paginator/Icons.js +21 -47
  194. package/paginator/Paginator.js +35 -98
  195. package/paginator/Paginator.stories.tsx +87 -0
  196. package/paginator/Paginator.test.js +335 -0
  197. package/paginator/types.d.ts +3 -3
  198. package/paragraph/Paragraph.d.ts +5 -0
  199. package/paragraph/Paragraph.js +22 -0
  200. package/paragraph/Paragraph.stories.tsx +27 -0
  201. package/password-input/Icons.d.ts +6 -0
  202. package/password-input/Icons.js +35 -0
  203. package/password-input/PasswordInput.d.ts +4 -0
  204. package/password-input/PasswordInput.js +60 -162
  205. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +3 -35
  206. package/password-input/PasswordInput.test.js +198 -0
  207. package/password-input/types.d.ts +111 -0
  208. package/password-input/types.js +5 -0
  209. package/progress-bar/ProgressBar.js +67 -93
  210. package/progress-bar/ProgressBar.stories.tsx +93 -0
  211. package/progress-bar/ProgressBar.test.js +93 -0
  212. package/progress-bar/types.d.ts +3 -3
  213. package/quick-nav/QuickNav.d.ts +4 -0
  214. package/quick-nav/QuickNav.js +94 -0
  215. package/quick-nav/QuickNav.stories.tsx +356 -0
  216. package/quick-nav/types.d.ts +21 -0
  217. package/quick-nav/types.js +5 -0
  218. package/radio-group/Radio.d.ts +4 -0
  219. package/radio-group/Radio.js +124 -0
  220. package/radio-group/RadioGroup.d.ts +4 -0
  221. package/radio-group/RadioGroup.js +235 -0
  222. package/radio-group/RadioGroup.stories.tsx +214 -0
  223. package/radio-group/RadioGroup.test.js +756 -0
  224. package/radio-group/types.d.ts +114 -0
  225. package/radio-group/types.js +5 -0
  226. package/resultset-table/Icons.d.ts +7 -0
  227. package/resultset-table/Icons.js +47 -0
  228. package/resultset-table/ResultsetTable.d.ts +7 -0
  229. package/resultset-table/ResultsetTable.js +166 -0
  230. package/resultset-table/ResultsetTable.stories.tsx +397 -0
  231. package/resultset-table/ResultsetTable.test.js +371 -0
  232. package/resultset-table/types.d.ts +73 -0
  233. package/resultset-table/types.js +5 -0
  234. package/select/Icons.d.ts +10 -0
  235. package/select/Icons.js +89 -0
  236. package/select/Listbox.d.ts +4 -0
  237. package/select/Listbox.js +143 -0
  238. package/select/Option.d.ts +4 -0
  239. package/select/Option.js +87 -0
  240. package/select/Select.d.ts +4 -0
  241. package/select/Select.js +240 -515
  242. package/select/Select.stories.tsx +971 -0
  243. package/select/Select.test.js +2370 -0
  244. package/select/types.d.ts +209 -0
  245. package/select/types.js +5 -0
  246. package/sidenav/Icons.d.ts +7 -0
  247. package/sidenav/Icons.js +47 -0
  248. package/sidenav/Sidenav.d.ts +10 -0
  249. package/sidenav/Sidenav.js +132 -81
  250. package/sidenav/Sidenav.stories.tsx +282 -0
  251. package/sidenav/Sidenav.test.js +37 -0
  252. package/sidenav/types.d.ts +76 -0
  253. package/sidenav/types.js +5 -0
  254. package/slider/Slider.d.ts +2 -2
  255. package/slider/Slider.js +162 -183
  256. package/slider/Slider.test.js +254 -0
  257. package/slider/types.d.ts +13 -10
  258. package/spinner/Spinner.d.ts +4 -0
  259. package/spinner/Spinner.js +38 -99
  260. package/spinner/Spinner.stories.tsx +129 -0
  261. package/spinner/Spinner.test.js +55 -0
  262. package/spinner/types.d.ts +32 -0
  263. package/spinner/types.js +5 -0
  264. package/status-light/StatusLight.d.ts +4 -0
  265. package/status-light/StatusLight.js +51 -0
  266. package/status-light/StatusLight.stories.tsx +74 -0
  267. package/status-light/StatusLight.test.js +25 -0
  268. package/status-light/types.d.ts +17 -0
  269. package/status-light/types.js +5 -0
  270. package/switch/Switch.d.ts +2 -2
  271. package/switch/Switch.js +150 -115
  272. package/switch/Switch.stories.tsx +137 -0
  273. package/switch/Switch.test.js +180 -0
  274. package/switch/types.d.ts +13 -5
  275. package/table/DropdownTheme.js +62 -0
  276. package/table/Table.d.ts +8 -0
  277. package/table/Table.js +89 -37
  278. package/table/Table.stories.tsx +658 -0
  279. package/table/Table.test.js +113 -0
  280. package/table/types.d.ts +63 -0
  281. package/table/types.js +5 -0
  282. package/tabs/Tab.d.ts +4 -0
  283. package/tabs/Tab.js +116 -0
  284. package/tabs/Tabs.d.ts +4 -0
  285. package/tabs/Tabs.js +319 -194
  286. package/tabs/Tabs.stories.tsx +226 -0
  287. package/tabs/Tabs.test.js +294 -0
  288. package/tabs/types.d.ts +92 -0
  289. package/tabs/types.js +5 -0
  290. package/tag/Tag.d.ts +4 -0
  291. package/tag/Tag.js +55 -112
  292. package/tag/Tag.stories.tsx +155 -0
  293. package/tag/Tag.test.js +49 -0
  294. package/tag/types.d.ts +69 -0
  295. package/tag/types.js +5 -0
  296. package/text-input/Icons.d.ts +8 -0
  297. package/text-input/Icons.js +56 -0
  298. package/text-input/Suggestion.d.ts +4 -0
  299. package/text-input/Suggestion.js +67 -0
  300. package/text-input/Suggestions.d.ts +4 -0
  301. package/text-input/Suggestions.js +84 -0
  302. package/text-input/TextInput.d.ts +4 -0
  303. package/text-input/TextInput.js +333 -593
  304. package/text-input/TextInput.stories.tsx +465 -0
  305. package/text-input/TextInput.test.js +1756 -0
  306. package/text-input/types.d.ts +205 -0
  307. package/text-input/types.js +5 -0
  308. package/textarea/Textarea.d.ts +4 -0
  309. package/textarea/Textarea.js +98 -181
  310. package/textarea/Textarea.stories.tsx +174 -0
  311. package/textarea/Textarea.test.js +406 -0
  312. package/textarea/types.d.ts +141 -0
  313. package/textarea/types.js +5 -0
  314. package/toggle-group/ToggleGroup.d.ts +4 -0
  315. package/toggle-group/ToggleGroup.js +100 -142
  316. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  317. package/toggle-group/ToggleGroup.test.js +137 -0
  318. package/toggle-group/types.d.ts +114 -0
  319. package/toggle-group/types.js +5 -0
  320. package/typography/Typography.d.ts +4 -0
  321. package/typography/Typography.js +23 -0
  322. package/typography/Typography.stories.tsx +198 -0
  323. package/typography/types.d.ts +18 -0
  324. package/typography/types.js +5 -0
  325. package/useTheme.d.ts +1148 -0
  326. package/useTheme.js +4 -11
  327. package/useTranslatedLabels.d.ts +85 -0
  328. package/useTranslatedLabels.js +14 -0
  329. package/utils/BaseTypography.d.ts +21 -0
  330. package/utils/BaseTypography.js +94 -0
  331. package/utils/FocusLock.d.ts +13 -0
  332. package/utils/FocusLock.js +124 -0
  333. package/wizard/Wizard.d.ts +4 -0
  334. package/wizard/Wizard.js +130 -151
  335. package/wizard/Wizard.stories.tsx +253 -0
  336. package/wizard/Wizard.test.js +114 -0
  337. package/wizard/types.d.ts +64 -0
  338. package/wizard/types.js +5 -0
  339. package/ThemeContext.js +0 -246
  340. package/V3Select/V3Select.js +0 -455
  341. package/V3Select/index.d.ts +0 -27
  342. package/V3Textarea/V3Textarea.js +0 -260
  343. package/V3Textarea/index.d.ts +0 -27
  344. package/box/index.d.ts +0 -25
  345. package/chip/index.d.ts +0 -22
  346. package/common/RequiredComponent.js +0 -32
  347. package/date/Date.js +0 -373
  348. package/date/index.d.ts +0 -27
  349. package/dialog/index.d.ts +0 -18
  350. package/dropdown/index.d.ts +0 -26
  351. package/file-input/index.d.ts +0 -81
  352. package/footer/index.d.ts +0 -25
  353. package/header/index.d.ts +0 -25
  354. package/heading/index.d.ts +0 -17
  355. package/input-text/Icons.js +0 -22
  356. package/input-text/InputText.js +0 -611
  357. package/input-text/index.d.ts +0 -36
  358. package/link/index.d.ts +0 -23
  359. package/number-input/NumberInputContext.js +0 -16
  360. package/number-input/index.d.ts +0 -113
  361. package/password-input/index.d.ts +0 -94
  362. package/radio/Radio.d.ts +0 -4
  363. package/radio/Radio.js +0 -174
  364. package/radio/types.d.ts +0 -54
  365. package/resultsetTable/ResultsetTable.js +0 -274
  366. package/resultsetTable/index.d.ts +0 -19
  367. package/select/index.d.ts +0 -131
  368. package/sidenav/index.d.ts +0 -13
  369. package/spinner/index.d.ts +0 -17
  370. package/table/index.d.ts +0 -13
  371. package/tabs/index.d.ts +0 -19
  372. package/tag/index.d.ts +0 -24
  373. package/text-input/index.d.ts +0 -135
  374. package/textarea/Textarea.stories.jsx +0 -135
  375. package/textarea/index.d.ts +0 -117
  376. package/toggle/Toggle.js +0 -186
  377. package/toggle/index.d.ts +0 -21
  378. package/toggle-group/index.d.ts +0 -21
  379. package/upload/Upload.js +0 -201
  380. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  381. package/upload/buttons-upload/Icons.js +0 -40
  382. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  383. package/upload/dragAndDropArea/Icons.js +0 -39
  384. package/upload/file-upload/FileToUpload.js +0 -115
  385. package/upload/file-upload/Icons.js +0 -66
  386. package/upload/files-upload/FilesToUpload.js +0 -109
  387. package/upload/index.d.ts +0 -15
  388. package/upload/transaction/Icons.js +0 -160
  389. package/upload/transaction/Transaction.js +0 -104
  390. package/upload/transactions/Transactions.js +0 -94
  391. package/wizard/Icons.js +0 -65
  392. package/wizard/index.d.ts +0 -18
  393. /package/{radio → action-icon}/types.js +0 -0
@@ -1,257 +1,269 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
-
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
18
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
12
  var _react = _interopRequireWildcard(require("react"));
21
-
22
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
27
-
28
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
29
-
30
- var _core = require("@material-ui/core");
31
-
32
- var _Grow = _interopRequireDefault(require("@material-ui/core/Grow"));
33
-
34
- var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
35
-
36
- var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
37
-
38
- var _variables = require("../common/variables.js");
39
-
40
- var _utils = require("../common/utils.js");
41
-
42
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
43
-
44
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
45
-
46
- 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); }
47
-
48
- 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; }
49
-
14
+ var _variables = require("../common/variables");
15
+ var _utils = require("../common/utils");
16
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
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;
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
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
+ };
50
67
  var DxcDropdown = function DxcDropdown(_ref) {
51
- var _ref$options = _ref.options,
52
- options = _ref$options === void 0 ? [] : _ref$options,
53
- _ref$optionsIconPosit = _ref.optionsIconPosition,
54
- optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
55
- icon = _ref.icon,
56
- _ref$iconSrc = _ref.iconSrc,
57
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
58
- _ref$iconPosition = _ref.iconPosition,
59
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
60
- _ref$label = _ref.label,
61
- label = _ref$label === void 0 ? "" : _ref$label,
62
- _ref$disabled = _ref.disabled,
63
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
64
- _ref$caretHidden = _ref.caretHidden,
65
- caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
66
- onSelectOption = _ref.onSelectOption,
67
- margin = _ref.margin,
68
- _ref$size = _ref.size,
69
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
70
- _ref$expandOnHover = _ref.expandOnHover,
71
- expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
72
- _ref$tabIndex = _ref.tabIndex,
73
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
74
-
75
- var _useState = (0, _react.useState)(),
76
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
77
- width = _useState2[0],
78
- setWidth = _useState2[1];
79
-
68
+ var options = _ref.options,
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];
80
100
  var colorsTheme = (0, _useTheme["default"])();
81
- var ref = (0, _react.useRef)(null);
82
-
83
- var handleResize = function handleResize() {
84
- 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);
85
106
  };
86
-
87
- (0, _react.useEffect)(function () {
88
- if (ref.current) {
89
- ref.current.addEventListener("resize", handleResize);
90
- handleResize();
91
- }
92
-
93
- return function () {
94
- if (ref.current) ref.current.removeEventListener("resize", handleResize);
95
- };
96
- }, []);
97
-
98
- var _useState3 = (0, _react.useState)(null),
99
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
100
- anchorEl = _useState4[0],
101
- setAnchorEl = _useState4[1];
102
-
103
- function handleClickListItem(event) {
104
- setAnchorEl(event.currentTarget);
105
- }
106
-
107
- function handleMenuItemClick(option) {
108
- setAnchorEl(null);
109
-
110
- if (typeof onSelectOption === "function") {
111
- onSelectOption(option.value);
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;
112
140
  }
113
- }
114
-
115
- function handleClose() {
116
- setAnchorEl(null);
117
- }
118
-
119
- var handleCloseOver = expandOnHover ? handleClose : undefined;
120
-
121
- var UpArrowIcon = function UpArrowIcon() {
122
- return /*#__PURE__*/_react["default"].createElement("svg", {
123
- xmlns: "http://www.w3.org/2000/svg",
124
- width: "24",
125
- height: "24",
126
- viewBox: "0 0 24 24",
127
- fill: "currentColor"
128
- }, /*#__PURE__*/_react["default"].createElement("path", {
129
- d: "M7 14l5-5 5 5z"
130
- }), /*#__PURE__*/_react["default"].createElement("path", {
131
- d: "M0 0h24v24H0z",
132
- fill: "none"
133
- }));
134
141
  };
135
-
136
- var DownArrowIcon = function DownArrowIcon() {
137
- return /*#__PURE__*/_react["default"].createElement("svg", {
138
- xmlns: "http://www.w3.org/2000/svg",
139
- width: "24",
140
- height: "24",
141
- viewBox: "0 0 24 24",
142
- fill: "currentColor"
143
- }, /*#__PURE__*/_react["default"].createElement("path", {
144
- d: "M7 10l5 5 5-5z"
145
- }), /*#__PURE__*/_react["default"].createElement("path", {
146
- d: "M0 0h24v24H0z",
147
- fill: "none"
148
- }));
142
+ var setPreviousIndexFocus = function setPreviousIndexFocus() {
143
+ setVisualFocusIndex(function (currentFocusIndex) {
144
+ var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
145
+ return index;
146
+ });
149
147
  };
150
-
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]);
151
202
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
152
203
  theme: colorsTheme.dropdown
153
- }, /*#__PURE__*/_react["default"].createElement(DXCDropdownContainer, {
204
+ }, /*#__PURE__*/_react["default"].createElement(DropdownContainer, {
205
+ onMouseEnter: !disabled && expandOnHover ? handleOnOpenMenu : undefined,
206
+ onMouseLeave: !disabled && expandOnHover ? handleOnCloseMenu : undefined,
207
+ onBlur: !disabled ? handleOnBlur : undefined,
154
208
  margin: margin,
155
- size: size,
156
- disabled: disabled
157
- }, /*#__PURE__*/_react["default"].createElement("div", {
158
- onMouseOver: expandOnHover && !disabled ? handleClickListItem : undefined,
159
- onMouseOut: handleCloseOver,
160
- onFocus: handleCloseOver,
161
- 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
162
215
  }, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
163
- opened: anchorEl === null ? false : true,
164
- onClick: handleClickListItem,
216
+ onClick: handleTriggerOnClick,
217
+ onKeyDown: handleTriggerOnKeyDown,
218
+ onBlur: function onBlur(event) {
219
+ event.stopPropagation();
220
+ },
165
221
  disabled: disabled,
166
222
  label: label,
167
- caretHidden: caretHidden,
168
223
  margin: margin,
169
224
  size: size,
170
- ref: ref,
171
- tabIndex: tabIndex
172
- }, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContainer, {
173
- iconPosition: iconPosition,
174
- caretHidden: caretHidden
175
- }, icon ? /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
176
- label: label,
177
- iconPosition: iconPosition,
178
- disabled: disabled
179
- }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
180
- label: label,
181
- src: iconSrc,
182
- iconPosition: iconPosition
183
- }), /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
184
- iconPosition: iconPosition,
185
- label: label
186
- }, label)), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
187
- 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, {
188
237
  disabled: disabled
189
- }, !caretHidden && (anchorEl === null ? /*#__PURE__*/_react["default"].createElement(DownArrowIcon, null) : /*#__PURE__*/_react["default"].createElement(UpArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(DXCMenu, {
190
- anchorEl: anchorEl,
191
- open: Boolean(anchorEl),
192
- onClose: handleClose,
193
- getContentAnchorEl: null,
194
- anchorOrigin: {
195
- vertical: "bottom",
196
- horizontal: "left"
197
- },
198
- transformOrigin: {
199
- vertical: "top",
200
- horizontal: "left"
238
+ }, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
239
+ asChild: true,
240
+ sideOffset: 1
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,
251
+ zIndex: "2147483647"
201
252
  },
202
- optionsIconPosition: optionsIconPosition,
203
- size: size,
204
- width: width,
205
- role: undefined,
206
- transition: true,
207
- disablePortal: true,
208
- placement: "bottom-start"
209
- }, function (_ref2) {
210
- var TransitionProps = _ref2.TransitionProps;
211
- return /*#__PURE__*/_react["default"].createElement(_Grow["default"], TransitionProps, /*#__PURE__*/_react["default"].createElement(_Paper["default"], null, /*#__PURE__*/_react["default"].createElement(_core.ClickAwayListener, {
212
- onClickAway: handleClose
213
- }, /*#__PURE__*/_react["default"].createElement(_MenuList["default"], {
214
- autoFocusItem: Boolean(anchorEl),
215
- id: "menu-list-grow"
216
- }, options.map(function (option) {
217
- return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
218
- key: option.value,
219
- value: option.value,
220
- disableRipple: true,
221
- onClick: function onClick(event) {
222
- return handleMenuItemClick(option);
223
- }
224
- }, option.icon ? /*#__PURE__*/_react["default"].createElement(ListIconContainer, {
225
- label: option.label,
226
- iconPosition: optionsIconPosition
227
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)) : option.iconSrc && /*#__PURE__*/_react["default"].createElement(ListIcon, {
228
- label: option.label,
229
- src: option.iconSrc,
230
- iconPosition: optionsIconPosition
231
- }), /*#__PURE__*/_react["default"].createElement("span", {
232
- className: "optionLabel"
233
- }, option.label));
234
- })))));
235
- }))));
253
+ ref: menuRef
254
+ }))))));
236
255
  };
237
-
238
256
  var sizes = {
239
257
  small: "60px",
240
258
  medium: "240px",
241
259
  large: "480px",
242
260
  fillParent: "100%",
243
- fitContent: "unset"
261
+ fitContent: "fit-content"
244
262
  };
245
-
246
263
  var calculateWidth = function calculateWidth(margin, size) {
247
- if (size === "fillParent") {
248
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
249
- }
250
-
251
- return sizes[size];
264
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
252
265
  };
253
-
254
- 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) {
266
+ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
255
267
  return calculateWidth(props.margin, props.size);
256
268
  }, function (props) {
257
269
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -264,79 +276,20 @@ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (
264
276
  }, function (props) {
265
277
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
266
278
  });
267
-
268
- 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) {
269
- return calculateWidth(props.margin, props.size);
270
- }, function (props) {
271
- return props.theme.optionPaddingTop;
272
- }, function (props) {
273
- return props.theme.optionPaddingBottom;
274
- }, function (props) {
275
- return props.theme.optionPaddingLeft;
276
- }, function (props) {
277
- return props.theme.optionPaddingRight;
278
- }, function (props) {
279
- return "".concat(props.width, "px");
280
- }, function (props) {
281
- return props.theme.borderThickness;
282
- }, function (props) {
283
- return props.theme.borderStyle;
284
- }, function (props) {
285
- return props.theme.borderColor;
286
- }, function (props) {
287
- return props.theme.borderRadius;
288
- }, function (props) {
289
- return props.theme.borderRadius;
290
- }, function (props) {
291
- return props.theme.scrollBarTrackColor;
292
- }, function (props) {
293
- return props.theme.scrollBarThumbColor;
294
- }, function (props) {
295
- return props.optionsIconPosition === "after" && "row-reverse" || "row";
296
- }, function (props) {
297
- return props.optionsIconPosition === "after" && "flex-end" || "";
298
- }, function (props) {
299
- return props.theme.optionBackgroundColor;
300
- }, function (props) {
301
- return props.theme.optionFontFamily;
302
- }, function (props) {
303
- return props.theme.optionFontSize;
304
- }, function (props) {
305
- return props.theme.optionFontStyle;
306
- }, function (props) {
307
- return props.theme.optionFontWeight;
308
- }, function (props) {
309
- return props.theme.optionFontColor;
310
- }, function (props) {
311
- return props.theme.focusColor;
312
- }, function (props) {
313
- return props.theme.hoverOptionBackgroundColor;
314
- }, function (props) {
315
- return props.theme.activeOptionBackgroundColor;
316
- }, function (props) {
317
- return props.theme.focusColor;
318
- });
319
-
320
- 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) {
321
- return props.disabled ? "not-allowed" : "pointer";
322
- }, function (props) {
323
- return props.theme.buttonFontFamily;
324
- }, function (props) {
325
- return props.theme.buttonFontSize;
326
- }, function (props) {
327
- return props.theme.buttonFontStyle;
279
+ 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 height: ", ";\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) {
280
+ return props.theme.caretIconSpacing;
328
281
  }, function (props) {
329
- return props.theme.buttonFontWeight;
282
+ return props.theme.buttonHeight;
330
283
  }, function (props) {
331
- return props.theme.borderRadius;
284
+ return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
332
285
  }, function (props) {
333
- return props.theme.borderThickness;
286
+ return props.theme.buttonBorderRadius;
334
287
  }, function (props) {
335
- return props.theme.borderStyle;
288
+ return props.theme.buttonBorderThickness;
336
289
  }, function (props) {
337
- return props.disabled ? props.theme.disabledBorderColor : props.theme.borderColor;
290
+ return props.theme.buttonBorderStyle;
338
291
  }, function (props) {
339
- return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
292
+ return props.disabled ? props.theme.disabledButtonBorderColor : props.theme.buttonBorderColor;
340
293
  }, function (props) {
341
294
  return props.theme.buttonPaddingTop;
342
295
  }, function (props) {
@@ -350,101 +303,34 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
350
303
  }, function (props) {
351
304
  return props.disabled ? props.theme.disabledColor : props.theme.buttonFontColor;
352
305
  }, function (props) {
353
- return props.opened ? "0px" : props.theme.borderRadius;
354
- }, function (props) {
355
- return props.opened ? "0px" : props.theme.borderRadius;
306
+ return props.disabled ? "not-allowed" : "pointer";
356
307
  }, function (props) {
357
- 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 ");
308
+ return !props.disabled && "\n &:focus {\n outline: 2px solid ".concat(props.theme.focusColor, ";\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
358
309
  });
359
-
360
- var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
361
-
362
- 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) {
363
- return props.iconPosition === "after" && "row-reverse" || "row";
364
- }, function (props) {
365
- return props.caretHidden ? "100%" : "calc(100% - 36px)";
310
+ 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) {
311
+ return props.theme.buttonIconSpacing;
366
312
  });
367
-
368
- var ButtonIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
369
- return props.theme.buttonIconSize;
313
+ 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) {
314
+ return props.theme.buttonFontFamily;
370
315
  }, function (props) {
371
- return props.theme.buttonIconSize;
316
+ return props.theme.buttonFontSize;
372
317
  }, function (props) {
373
- return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
318
+ return props.theme.buttonFontStyle;
374
319
  }, function (props) {
375
- return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
320
+ return props.theme.buttonFontWeight;
376
321
  });
377
-
378
- 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) {
379
- return props.theme.buttonIconSize;
380
- }, function (props) {
381
- return props.theme.buttonIconSize;
382
- }, function (props) {
383
- return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
384
- }, function (props) {
385
- return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
386
- }, function (props) {
322
+ 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) {
387
323
  return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
388
- });
389
-
390
- var ListIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
391
- return props.theme.optionIconSize;
392
- }, function (props) {
393
- return props.theme.optionIconSize;
394
- }, function (props) {
395
- return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
396
- }, function (props) {
397
- return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
398
- });
399
-
400
- 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) {
401
- return props.theme.optionIconSize;
402
- }, function (props) {
403
- return props.theme.optionIconSize;
404
- }, function (props) {
405
- return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
406
324
  }, function (props) {
407
- return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
325
+ return props.theme.buttonIconSize;
408
326
  }, function (props) {
409
- return props.theme.optionIconColor;
327
+ return props.theme.buttonIconSize;
410
328
  });
411
-
412
- 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) {
413
- return props.caretHidden ? "none" : "inline-flex";
414
- }, function (props) {
415
- return props.theme.caretIconSpacing;
416
- }, function (props) {
329
+ 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) {
417
330
  return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
418
331
  }, function (props) {
419
332
  return props.theme.caretIconSize;
420
333
  }, function (props) {
421
334
  return props.theme.caretIconSize;
422
335
  });
423
-
424
- DxcDropdown.propTypes = {
425
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
426
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
427
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
428
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
429
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
430
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
431
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
432
- optionsIconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
433
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
434
- iconSrc: _propTypes["default"].string,
435
- iconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
436
- label: _propTypes["default"].string,
437
- caretHidden: _propTypes["default"].bool,
438
- disabled: _propTypes["default"].bool,
439
- expandOnHover: _propTypes["default"].bool,
440
- onSelectOption: _propTypes["default"].func,
441
- options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
442
- value: _propTypes["default"].any.isRequired,
443
- label: _propTypes["default"].any.isRequired,
444
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
445
- iconSrc: _propTypes["default"].string
446
- })),
447
- tabIndex: _propTypes["default"].number
448
- };
449
- var _default = DxcDropdown;
450
- exports["default"] = _default;
336
+ var _default = exports["default"] = DxcDropdown;