@dxc-technology/halstack-react 0.0.0-b41d935 → 0.0.0-b4aec06

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 +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -6
  4. package/HalstackContext.js +126 -111
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +42 -118
  8. package/accordion/Accordion.stories.tsx +85 -139
  9. package/accordion/Accordion.test.js +19 -34
  10. package/accordion/types.d.ts +6 -18
  11. package/accordion-group/AccordionGroup.d.ts +2 -2
  12. package/accordion-group/AccordionGroup.js +29 -77
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +44 -72
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  18. package/accordion-group/AccordionGroupContext.js +8 -0
  19. package/accordion-group/types.d.ts +7 -19
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +48 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/alert/Alert.js +31 -124
  26. package/alert/Alert.stories.tsx +28 -0
  27. package/alert/Alert.test.js +29 -46
  28. package/alert/types.d.ts +5 -5
  29. package/badge/Badge.d.ts +1 -1
  30. package/badge/Badge.js +141 -43
  31. package/badge/Badge.stories.tsx +210 -0
  32. package/badge/Badge.test.js +30 -0
  33. package/badge/types.d.ts +52 -3
  34. package/bleed/Bleed.js +13 -21
  35. package/bleed/Bleed.stories.tsx +1 -0
  36. package/bleed/types.d.ts +2 -2
  37. package/box/Box.d.ts +1 -1
  38. package/box/Box.js +18 -59
  39. package/box/Box.stories.tsx +38 -51
  40. package/box/Box.test.js +2 -7
  41. package/box/types.d.ts +3 -15
  42. package/bulleted-list/BulletedList.js +19 -53
  43. package/bulleted-list/BulletedList.stories.tsx +8 -93
  44. package/bulleted-list/types.d.ts +32 -5
  45. package/button/Button.d.ts +1 -1
  46. package/button/Button.js +71 -106
  47. package/button/Button.stories.tsx +144 -101
  48. package/button/Button.test.js +20 -17
  49. package/button/types.d.ts +9 -5
  50. package/card/Card.d.ts +1 -1
  51. package/card/Card.js +48 -89
  52. package/card/Card.stories.tsx +12 -42
  53. package/card/Card.test.js +11 -22
  54. package/card/types.d.ts +6 -12
  55. package/checkbox/Checkbox.d.ts +2 -2
  56. package/checkbox/Checkbox.js +90 -124
  57. package/checkbox/Checkbox.stories.tsx +68 -54
  58. package/checkbox/Checkbox.test.js +108 -64
  59. package/checkbox/types.d.ts +11 -3
  60. package/chip/Chip.js +39 -79
  61. package/chip/Chip.stories.tsx +121 -26
  62. package/chip/Chip.test.js +16 -31
  63. package/chip/types.d.ts +4 -4
  64. package/common/coreTokens.d.ts +237 -0
  65. package/common/coreTokens.js +184 -0
  66. package/common/utils.d.ts +1 -0
  67. package/common/utils.js +6 -12
  68. package/common/variables.d.ts +1395 -0
  69. package/common/variables.js +914 -1156
  70. package/container/Container.d.ts +4 -0
  71. package/container/Container.js +194 -0
  72. package/container/Container.stories.tsx +214 -0
  73. package/container/types.d.ts +74 -0
  74. package/contextual-menu/ContextualMenu.d.ts +7 -0
  75. package/contextual-menu/ContextualMenu.js +71 -0
  76. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  77. package/contextual-menu/ContextualMenu.test.js +71 -0
  78. package/contextual-menu/MenuItemAction.d.ts +4 -0
  79. package/contextual-menu/MenuItemAction.js +46 -0
  80. package/contextual-menu/types.d.ts +22 -0
  81. package/date-input/Calendar.d.ts +4 -0
  82. package/date-input/Calendar.js +214 -0
  83. package/date-input/DateInput.js +150 -299
  84. package/date-input/DateInput.stories.tsx +203 -56
  85. package/date-input/DateInput.test.js +700 -371
  86. package/date-input/DatePicker.d.ts +4 -0
  87. package/date-input/DatePicker.js +115 -0
  88. package/date-input/Icons.d.ts +6 -0
  89. package/date-input/Icons.js +58 -0
  90. package/date-input/YearPicker.d.ts +4 -0
  91. package/date-input/YearPicker.js +100 -0
  92. package/date-input/types.d.ts +72 -15
  93. package/dialog/Dialog.d.ts +1 -1
  94. package/dialog/Dialog.js +61 -119
  95. package/dialog/Dialog.stories.tsx +310 -212
  96. package/dialog/Dialog.test.js +269 -32
  97. package/dialog/types.d.ts +18 -26
  98. package/divider/Divider.d.ts +4 -0
  99. package/divider/Divider.js +36 -0
  100. package/divider/Divider.stories.tsx +223 -0
  101. package/divider/Divider.test.js +38 -0
  102. package/divider/types.d.ts +21 -0
  103. package/divider/types.js +5 -0
  104. package/dropdown/Dropdown.js +84 -153
  105. package/dropdown/Dropdown.stories.tsx +209 -94
  106. package/dropdown/Dropdown.test.js +409 -400
  107. package/dropdown/DropdownMenu.js +20 -37
  108. package/dropdown/DropdownMenuItem.js +15 -37
  109. package/dropdown/types.d.ts +20 -24
  110. package/file-input/FileInput.d.ts +2 -2
  111. package/file-input/FileInput.js +193 -262
  112. package/file-input/FileInput.stories.tsx +86 -3
  113. package/file-input/FileInput.test.js +356 -395
  114. package/file-input/FileItem.js +15 -41
  115. package/file-input/types.d.ts +13 -9
  116. package/flex/Flex.js +27 -39
  117. package/flex/Flex.stories.tsx +35 -26
  118. package/flex/types.d.ts +74 -9
  119. package/footer/Footer.d.ts +1 -1
  120. package/footer/Footer.js +70 -117
  121. package/footer/Footer.stories.tsx +55 -21
  122. package/footer/Footer.test.js +33 -57
  123. package/footer/Icons.d.ts +3 -2
  124. package/footer/Icons.js +66 -7
  125. package/footer/types.d.ts +25 -27
  126. package/grid/Grid.d.ts +7 -0
  127. package/grid/Grid.js +76 -0
  128. package/grid/Grid.stories.tsx +219 -0
  129. package/grid/types.d.ts +115 -0
  130. package/grid/types.js +5 -0
  131. package/header/Header.d.ts +4 -3
  132. package/header/Header.js +48 -133
  133. package/header/Header.stories.tsx +115 -36
  134. package/header/Header.test.js +13 -26
  135. package/header/Icons.d.ts +2 -2
  136. package/header/Icons.js +2 -7
  137. package/header/types.d.ts +7 -22
  138. package/heading/Heading.js +10 -32
  139. package/heading/Heading.test.js +71 -88
  140. package/heading/types.d.ts +7 -7
  141. package/icon/Icon.d.ts +4 -0
  142. package/icon/Icon.js +33 -0
  143. package/icon/Icon.stories.tsx +28 -0
  144. package/icon/types.d.ts +4 -0
  145. package/icon/types.js +5 -0
  146. package/image/Image.d.ts +4 -0
  147. package/image/Image.js +70 -0
  148. package/image/Image.stories.tsx +129 -0
  149. package/image/types.d.ts +72 -0
  150. package/image/types.js +5 -0
  151. package/inset/Inset.js +13 -21
  152. package/inset/Inset.stories.tsx +2 -1
  153. package/inset/types.d.ts +2 -2
  154. package/layout/ApplicationLayout.d.ts +5 -5
  155. package/layout/ApplicationLayout.js +30 -67
  156. package/layout/ApplicationLayout.stories.tsx +1 -1
  157. package/layout/Icons.d.ts +8 -5
  158. package/layout/Icons.js +51 -59
  159. package/layout/types.d.ts +5 -6
  160. package/link/Link.js +25 -46
  161. package/link/Link.stories.tsx +60 -0
  162. package/link/Link.test.js +24 -44
  163. package/link/types.d.ts +14 -14
  164. package/main.d.ts +10 -5
  165. package/main.js +47 -59
  166. package/nav-tabs/NavTabs.d.ts +7 -0
  167. package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
  168. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  169. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  170. package/nav-tabs/NavTabsContext.d.ts +3 -0
  171. package/nav-tabs/NavTabsContext.js +8 -0
  172. package/nav-tabs/Tab.js +118 -0
  173. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  174. package/nav-tabs/types.js +5 -0
  175. package/number-input/NumberInput.js +46 -36
  176. package/number-input/NumberInput.stories.tsx +42 -26
  177. package/number-input/NumberInput.test.js +860 -414
  178. package/number-input/NumberInputContext.d.ts +3 -4
  179. package/number-input/NumberInputContext.js +3 -14
  180. package/number-input/types.d.ts +17 -5
  181. package/package.json +37 -40
  182. package/paginator/Icons.d.ts +5 -0
  183. package/paginator/Icons.js +21 -47
  184. package/paginator/Paginator.js +22 -58
  185. package/paginator/Paginator.stories.tsx +24 -0
  186. package/paginator/Paginator.test.js +252 -225
  187. package/paginator/types.d.ts +3 -3
  188. package/paragraph/Paragraph.d.ts +3 -4
  189. package/paragraph/Paragraph.js +6 -22
  190. package/paragraph/Paragraph.stories.tsx +0 -17
  191. package/password-input/Icons.d.ts +6 -0
  192. package/password-input/Icons.js +35 -0
  193. package/password-input/PasswordInput.js +57 -126
  194. package/password-input/PasswordInput.stories.tsx +1 -33
  195. package/password-input/PasswordInput.test.js +158 -141
  196. package/password-input/types.d.ts +8 -7
  197. package/progress-bar/ProgressBar.d.ts +2 -2
  198. package/progress-bar/ProgressBar.js +23 -55
  199. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  200. package/progress-bar/ProgressBar.test.js +36 -53
  201. package/progress-bar/types.d.ts +4 -3
  202. package/quick-nav/QuickNav.js +4 -27
  203. package/quick-nav/QuickNav.stories.tsx +15 -1
  204. package/quick-nav/types.d.ts +10 -10
  205. package/radio-group/Radio.d.ts +1 -1
  206. package/radio-group/Radio.js +31 -63
  207. package/radio-group/RadioGroup.js +45 -93
  208. package/radio-group/RadioGroup.stories.tsx +131 -18
  209. package/radio-group/RadioGroup.test.js +505 -471
  210. package/radio-group/types.d.ts +8 -8
  211. package/resultset-table/Icons.d.ts +7 -0
  212. package/resultset-table/Icons.js +47 -0
  213. package/resultset-table/ResultsetTable.d.ts +7 -0
  214. package/resultset-table/ResultsetTable.js +170 -0
  215. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  216. package/resultset-table/ResultsetTable.test.js +381 -0
  217. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  218. package/resultset-table/types.js +5 -0
  219. package/select/Icons.d.ts +7 -7
  220. package/select/Icons.js +1 -5
  221. package/select/Listbox.d.ts +1 -1
  222. package/select/Listbox.js +17 -72
  223. package/select/Option.js +27 -50
  224. package/select/Select.js +120 -175
  225. package/select/Select.stories.tsx +497 -153
  226. package/select/Select.test.js +1974 -1837
  227. package/select/types.d.ts +16 -17
  228. package/sidenav/Icons.d.ts +7 -0
  229. package/{text-input → sidenav}/Icons.js +10 -23
  230. package/sidenav/Sidenav.d.ts +2 -2
  231. package/sidenav/Sidenav.js +83 -154
  232. package/sidenav/Sidenav.stories.tsx +165 -63
  233. package/sidenav/Sidenav.test.js +3 -10
  234. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  235. package/{layout → sidenav}/SidenavContext.js +3 -9
  236. package/sidenav/types.d.ts +31 -28
  237. package/slider/Slider.d.ts +2 -2
  238. package/slider/Slider.js +77 -134
  239. package/slider/Slider.test.js +108 -104
  240. package/slider/types.d.ts +7 -3
  241. package/spinner/Spinner.js +31 -75
  242. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  243. package/spinner/Spinner.test.js +26 -35
  244. package/spinner/types.d.ts +3 -3
  245. package/status-light/StatusLight.d.ts +4 -0
  246. package/status-light/StatusLight.js +51 -0
  247. package/status-light/StatusLight.stories.tsx +74 -0
  248. package/status-light/StatusLight.test.js +25 -0
  249. package/status-light/types.d.ts +17 -0
  250. package/status-light/types.js +5 -0
  251. package/switch/Switch.d.ts +3 -3
  252. package/switch/Switch.js +56 -103
  253. package/switch/Switch.stories.tsx +33 -34
  254. package/switch/Switch.test.js +52 -97
  255. package/switch/types.d.ts +8 -3
  256. package/table/DropdownTheme.js +62 -0
  257. package/table/Table.d.ts +6 -2
  258. package/table/Table.js +78 -35
  259. package/table/Table.stories.tsx +651 -0
  260. package/table/Table.test.js +95 -8
  261. package/table/types.d.ts +34 -6
  262. package/tabs/Tab.js +26 -45
  263. package/tabs/Tabs.js +62 -145
  264. package/tabs/Tabs.stories.tsx +46 -6
  265. package/tabs/Tabs.test.js +66 -123
  266. package/tabs/types.d.ts +19 -19
  267. package/tag/Tag.js +28 -60
  268. package/tag/Tag.stories.tsx +14 -1
  269. package/tag/Tag.test.js +20 -31
  270. package/tag/types.d.ts +7 -7
  271. package/text-input/Suggestion.js +35 -25
  272. package/text-input/Suggestions.d.ts +1 -1
  273. package/text-input/Suggestions.js +19 -67
  274. package/text-input/TextInput.js +223 -333
  275. package/text-input/TextInput.stories.tsx +139 -155
  276. package/text-input/TextInput.test.js +1389 -1404
  277. package/text-input/types.d.ts +25 -17
  278. package/textarea/Textarea.js +70 -113
  279. package/textarea/Textarea.stories.tsx +174 -0
  280. package/textarea/Textarea.test.js +152 -183
  281. package/textarea/types.d.ts +9 -5
  282. package/toggle-group/ToggleGroup.d.ts +2 -2
  283. package/toggle-group/ToggleGroup.js +92 -106
  284. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  285. package/toggle-group/ToggleGroup.test.js +69 -88
  286. package/toggle-group/types.d.ts +26 -17
  287. package/typography/Typography.d.ts +2 -2
  288. package/typography/Typography.js +15 -123
  289. package/typography/Typography.stories.tsx +1 -1
  290. package/typography/types.d.ts +1 -1
  291. package/useTheme.d.ts +1147 -1
  292. package/useTheme.js +2 -9
  293. package/useTranslatedLabels.d.ts +84 -1
  294. package/useTranslatedLabels.js +1 -7
  295. package/utils/BaseTypography.d.ts +21 -0
  296. package/utils/BaseTypography.js +94 -0
  297. package/utils/FocusLock.d.ts +13 -0
  298. package/utils/FocusLock.js +124 -0
  299. package/wizard/Wizard.js +16 -51
  300. package/wizard/Wizard.stories.tsx +20 -0
  301. package/wizard/Wizard.test.js +54 -81
  302. package/wizard/types.d.ts +9 -10
  303. package/card/ice-cream.jpg +0 -0
  304. package/common/OpenSans.css +0 -81
  305. package/common/RequiredComponent.js +0 -32
  306. package/common/fonts/OpenSans-Bold.ttf +0 -0
  307. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  308. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  309. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  310. package/common/fonts/OpenSans-Italic.ttf +0 -0
  311. package/common/fonts/OpenSans-Light.ttf +0 -0
  312. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  313. package/common/fonts/OpenSans-Regular.ttf +0 -0
  314. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  315. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  316. package/number-input/numberInputContextTypes.d.ts +0 -19
  317. package/resultsetTable/ResultsetTable.d.ts +0 -4
  318. package/resultsetTable/ResultsetTable.js +0 -252
  319. package/resultsetTable/ResultsetTable.test.js +0 -348
  320. package/slider/Slider.stories.tsx +0 -183
  321. package/table/Table.stories.jsx +0 -277
  322. package/tabs-nav/NavTabs.d.ts +0 -8
  323. package/tabs-nav/Tab.js +0 -130
  324. package/text-input/Icons.d.ts +0 -8
  325. package/textarea/Textarea.stories.jsx +0 -157
  326. /package/{resultsetTable → action-icon}/types.js +0 -0
  327. /package/{tabs-nav → container}/types.js +0 -0
  328. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  329. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,142 +1,104 @@
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
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _variables = require("../common/variables.js");
23
-
24
- var _utils = require("../common/utils.js");
25
-
14
+ var _variables = require("../common/variables");
15
+ var _utils = require("../common/utils");
26
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
27
-
28
17
  var _uuid = require("uuid");
29
-
30
18
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
31
-
32
19
  var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
33
-
20
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
34
21
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
35
-
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); }
37
-
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; }
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
-
22
+ 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); }
23
+ 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; }
24
+ var useWidth = function useWidth(target) {
25
+ var _useState = (0, _react.useState)(0),
26
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
27
+ width = _useState2[0],
28
+ setWidth = _useState2[1];
29
+ (0, _react.useEffect)(function () {
30
+ if (target != null) {
31
+ setWidth(target.getBoundingClientRect().width);
32
+ var triggerObserver = new ResizeObserver(function (entries) {
33
+ var rect = entries[0].target.getBoundingClientRect();
34
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
35
+ });
36
+ triggerObserver.observe(target);
37
+ return function () {
38
+ triggerObserver.unobserve(target);
39
+ };
40
+ }
41
+ }, [target]);
42
+ return width;
43
+ };
66
44
  var DxcDropdown = function DxcDropdown(_ref) {
67
45
  var options = _ref.options,
68
- _ref$optionsIconPosit = _ref.optionsIconPosition,
69
- optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
70
- icon = _ref.icon,
71
- _ref$iconPosition = _ref.iconPosition,
72
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
73
- _ref$label = _ref.label,
74
- label = _ref$label === void 0 ? "" : _ref$label,
75
- _ref$caretHidden = _ref.caretHidden,
76
- caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
77
- _ref$disabled = _ref.disabled,
78
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
79
- _ref$expandOnHover = _ref.expandOnHover,
80
- expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
81
- onSelectOption = _ref.onSelectOption,
82
- margin = _ref.margin,
83
- _ref$size = _ref.size,
84
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
85
- _ref$tabIndex = _ref.tabIndex,
86
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
87
-
88
- var _useState = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
89
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
90
- triggerId = _useState2[0];
91
-
46
+ _ref$optionsIconPosit = _ref.optionsIconPosition,
47
+ optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
48
+ icon = _ref.icon,
49
+ _ref$iconPosition = _ref.iconPosition,
50
+ iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
51
+ _ref$label = _ref.label,
52
+ label = _ref$label === void 0 ? "" : _ref$label,
53
+ _ref$caretHidden = _ref.caretHidden,
54
+ caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
55
+ _ref$disabled = _ref.disabled,
56
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
57
+ _ref$expandOnHover = _ref.expandOnHover,
58
+ expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
59
+ onSelectOption = _ref.onSelectOption,
60
+ margin = _ref.margin,
61
+ _ref$size = _ref.size,
62
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
63
+ _ref$tabIndex = _ref.tabIndex,
64
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
65
+ var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
66
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
67
+ triggerId = _useState4[0];
92
68
  var menuId = "menu-".concat(triggerId);
93
-
94
- var _useState3 = (0, _react.useState)(false),
95
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
96
- isOpen = _useState4[0],
97
- changeIsOpen = _useState4[1];
98
-
99
- var _useState5 = (0, _react.useState)(null),
100
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
101
- menuStyles = _useState6[0],
102
- setMenuStyles = _useState6[1];
103
-
69
+ var _useState5 = (0, _react.useState)(false),
70
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
71
+ isOpen = _useState6[0],
72
+ changeIsOpen = _useState6[1];
104
73
  var _useState7 = (0, _react.useState)(0),
105
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
106
- visualFocusIndex = _useState8[0],
107
- setVisualFocusIndex = _useState8[1];
108
-
74
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
75
+ visualFocusIndex = _useState8[0],
76
+ setVisualFocusIndex = _useState8[1];
109
77
  var colorsTheme = (0, _useTheme["default"])();
110
78
  var triggerRef = (0, _react.useRef)(null);
111
79
  var menuRef = (0, _react.useRef)(null);
112
-
80
+ var width = useWidth(triggerRef.current);
113
81
  var handleOnOpenMenu = function handleOnOpenMenu() {
114
82
  changeIsOpen(true);
115
83
  };
116
-
117
84
  var handleOnCloseMenu = function handleOnCloseMenu() {
118
85
  changeIsOpen(false);
119
86
  setVisualFocusIndex(0);
120
87
  };
121
-
122
88
  var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
123
89
  var _triggerRef$current;
124
-
125
90
  onSelectOption(value);
126
91
  handleOnCloseMenu();
127
92
  (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
128
93
  }, [onSelectOption]);
129
-
130
94
  var handleOnBlur = function handleOnBlur(event) {
131
95
  !event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
132
96
  };
133
-
134
97
  var handleTriggerOnClick = function handleTriggerOnClick() {
135
98
  changeIsOpen(function (isOpen) {
136
99
  return !isOpen;
137
100
  });
138
101
  };
139
-
140
102
  var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
141
103
  switch (event.key) {
142
104
  case "Up":
@@ -145,7 +107,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
145
107
  setVisualFocusIndex(options.length - 1);
146
108
  handleOnOpenMenu();
147
109
  break;
148
-
149
110
  case " ":
150
111
  case "Down":
151
112
  case "ArrowDown":
@@ -155,62 +116,52 @@ var DxcDropdown = function DxcDropdown(_ref) {
155
116
  break;
156
117
  }
157
118
  };
158
-
159
119
  var setPreviousIndexFocus = function setPreviousIndexFocus() {
160
120
  setVisualFocusIndex(function (currentFocusIndex) {
161
121
  var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
162
122
  return index;
163
123
  });
164
124
  };
165
-
166
125
  var setNextIndexFocus = function setNextIndexFocus() {
167
126
  setVisualFocusIndex(function (currentFocusIndex) {
168
127
  var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
169
128
  return index;
170
129
  });
171
130
  };
172
-
173
131
  var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
174
132
  var _triggerRef$current2, _triggerRef$current3;
175
-
176
133
  switch (event.key) {
177
134
  case "Up":
178
135
  case "ArrowUp":
179
136
  event.preventDefault();
180
137
  setPreviousIndexFocus();
181
138
  break;
182
-
183
139
  case "Down":
184
140
  case "ArrowDown":
185
141
  event.preventDefault();
186
142
  setNextIndexFocus();
187
143
  break;
188
-
189
144
  case " ":
190
145
  case "Enter":
191
146
  event.preventDefault();
192
147
  handleMenuItemOnClick(options[visualFocusIndex].value);
193
148
  break;
194
-
195
149
  case "Esc":
196
150
  case "Escape":
197
151
  event.preventDefault();
198
152
  handleOnCloseMenu();
199
153
  (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
200
154
  break;
201
-
202
155
  case "Home":
203
156
  case "PageUp":
204
157
  event.preventDefault();
205
158
  setVisualFocusIndex(0);
206
159
  break;
207
-
208
160
  case "End":
209
161
  case "PageDown":
210
162
  event.preventDefault();
211
163
  setVisualFocusIndex(options.length - 1);
212
164
  break;
213
-
214
165
  case "Tab":
215
166
  handleOnCloseMenu();
216
167
  (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
@@ -219,30 +170,12 @@ var DxcDropdown = function DxcDropdown(_ref) {
219
170
  }, [onSelectOption, visualFocusIndex, options]);
220
171
  (0, _react.useLayoutEffect)(function () {
221
172
  var _menuRef$current, _visualFocusedMenuIte;
222
-
223
173
  var visualFocusedMenuItem = menuRef === null || menuRef === void 0 ? void 0 : (_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 ? void 0 : _menuRef$current.querySelectorAll("[role='menuitem']")[visualFocusIndex];
224
174
  visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
225
175
  block: "nearest",
226
176
  inline: "start"
227
177
  });
228
178
  }, [visualFocusIndex]);
229
-
230
- var handleMenuResize = function handleMenuResize() {
231
- var _triggerRef$current4;
232
-
233
- var rect = triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.getBoundingClientRect();
234
- setMenuStyles({
235
- width: rect === null || rect === void 0 ? void 0 : rect.width
236
- });
237
- };
238
-
239
- (0, _react.useEffect)(function () {
240
- handleMenuResize();
241
- window.addEventListener("resize", handleMenuResize);
242
- return function () {
243
- window.removeEventListener("resize", handleMenuResize);
244
- };
245
- }, []);
246
179
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
247
180
  theme: colorsTheme.dropdown
248
181
  }, /*#__PURE__*/_react["default"].createElement(DropdownContainer, {
@@ -257,7 +190,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
257
190
  asChild: true,
258
191
  type: undefined
259
192
  }, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
260
- opened: isOpen,
261
193
  onClick: handleTriggerOnClick,
262
194
  onKeyDown: handleTriggerOnKeyDown,
263
195
  onBlur: function onBlur(event) {
@@ -274,17 +206,17 @@ var DxcDropdown = function DxcDropdown(_ref) {
274
206
  tabIndex: tabIndex,
275
207
  ref: triggerRef
276
208
  }, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContent, null, label && iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(DropdownTriggerIcon, {
277
- label: label,
278
- iconPosition: iconPosition,
279
209
  disabled: disabled,
280
210
  role: typeof icon === "string" ? undefined : "img"
281
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
282
- src: icon
211
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
212
+ icon: icon
283
213
  }) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
284
214
  disabled: disabled
285
- }, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
286
- sideOffset: 1,
287
- asChild: true
215
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
216
+ icon: isOpen ? "arrow_drop_up" : "arrow_drop_down"
217
+ }), " "))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
218
+ asChild: true,
219
+ sideOffset: 1
288
220
  }, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
289
221
  id: menuId,
290
222
  dropdownTriggerId: triggerId,
@@ -293,11 +225,13 @@ var DxcDropdown = function DxcDropdown(_ref) {
293
225
  visualFocusIndex: visualFocusIndex,
294
226
  menuItemOnClick: handleMenuItemOnClick,
295
227
  onKeyDown: handleMenuOnKeyDown,
296
- styles: menuStyles,
228
+ styles: {
229
+ width: width,
230
+ zIndex: "2147483647"
231
+ },
297
232
  ref: menuRef
298
- })))));
233
+ }))))));
299
234
  };
300
-
301
235
  var sizes = {
302
236
  small: "60px",
303
237
  medium: "240px",
@@ -305,12 +239,10 @@ var sizes = {
305
239
  fillParent: "100%",
306
240
  fitContent: "fit-content"
307
241
  };
308
-
309
242
  var calculateWidth = function calculateWidth(margin, size) {
310
243
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
311
244
  };
312
-
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) {
245
+ 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) {
314
246
  return calculateWidth(props.margin, props.size);
315
247
  }, function (props) {
316
248
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -323,19 +255,20 @@ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_te
323
255
  }, function (props) {
324
256
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
325
257
  });
326
-
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) {
258
+ 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) {
328
259
  return props.theme.caretIconSpacing;
260
+ }, function (props) {
261
+ return props.theme.buttonHeight;
329
262
  }, function (props) {
330
263
  return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
331
264
  }, function (props) {
332
- return props.theme.borderRadius;
265
+ return props.theme.buttonBorderRadius;
333
266
  }, function (props) {
334
- return props.theme.borderThickness;
267
+ return props.theme.buttonBorderThickness;
335
268
  }, function (props) {
336
- return props.theme.borderStyle;
269
+ return props.theme.buttonBorderStyle;
337
270
  }, function (props) {
338
- return props.disabled ? props.theme.disabledBorderColor : props.theme.borderColor;
271
+ return props.disabled ? props.theme.disabledButtonBorderColor : props.theme.buttonBorderColor;
339
272
  }, function (props) {
340
273
  return props.theme.buttonPaddingTop;
341
274
  }, function (props) {
@@ -351,13 +284,11 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_
351
284
  }, function (props) {
352
285
  return props.disabled ? "not-allowed" : "pointer";
353
286
  }, function (props) {
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 ");
287
+ 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 ");
355
288
  });
356
-
357
289
  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
290
  return props.theme.buttonIconSpacing;
359
291
  });
360
-
361
292
  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
293
  return props.theme.buttonFontFamily;
363
294
  }, function (props) {
@@ -367,22 +298,22 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 ||
367
298
  }, function (props) {
368
299
  return props.theme.buttonFontWeight;
369
300
  });
370
-
371
- var DropdownTriggerIcon = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
301
+ var DropdownTriggerIcon = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n font-size: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
302
+ return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
303
+ }, function (props) {
372
304
  return props.theme.buttonIconSize;
373
305
  }, function (props) {
374
306
  return props.theme.buttonIconSize;
375
307
  }, function (props) {
376
- return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
308
+ return props.theme.buttonIconSize;
377
309
  });
378
-
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) {
310
+ var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n font-size: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
380
311
  return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
381
312
  }, function (props) {
382
313
  return props.theme.caretIconSize;
383
314
  }, function (props) {
384
315
  return props.theme.caretIconSize;
316
+ }, function (props) {
317
+ return props.theme.caretIconSize;
385
318
  });
386
-
387
- var _default = DxcDropdown;
388
- exports["default"] = _default;
319
+ var _default = exports["default"] = DxcDropdown;