@dxc-technology/halstack-react 0.0.0-de7c6b0 → 0.0.0-dec566a

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 (286) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +52 -139
  4. package/HalstackContext.js +11 -36
  5. package/README.md +47 -0
  6. package/accordion/Accordion.js +31 -84
  7. package/accordion/Accordion.stories.tsx +5 -50
  8. package/accordion/Accordion.test.js +18 -33
  9. package/accordion/types.d.ts +6 -6
  10. package/accordion-group/AccordionGroup.d.ts +2 -3
  11. package/accordion-group/AccordionGroup.js +17 -44
  12. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  13. package/accordion-group/AccordionGroup.test.js +42 -60
  14. package/accordion-group/AccordionGroupAccordion.js +11 -23
  15. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  16. package/accordion-group/AccordionGroupContext.js +8 -0
  17. package/accordion-group/types.d.ts +7 -7
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +48 -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 +29 -118
  24. package/alert/Alert.test.js +28 -45
  25. package/alert/types.d.ts +5 -5
  26. package/badge/Badge.d.ts +1 -1
  27. package/badge/Badge.js +141 -43
  28. package/badge/Badge.stories.tsx +210 -0
  29. package/badge/Badge.test.js +30 -0
  30. package/badge/types.d.ts +52 -3
  31. package/bleed/Bleed.js +13 -21
  32. package/bleed/types.d.ts +2 -2
  33. package/box/Box.js +11 -33
  34. package/box/Box.test.js +1 -6
  35. package/box/types.d.ts +3 -3
  36. package/bulleted-list/BulletedList.js +22 -55
  37. package/bulleted-list/BulletedList.stories.tsx +2 -93
  38. package/bulleted-list/types.d.ts +5 -5
  39. package/button/Button.d.ts +1 -1
  40. package/button/Button.js +68 -100
  41. package/button/Button.stories.tsx +33 -132
  42. package/button/Button.test.js +19 -16
  43. package/button/types.d.ts +9 -5
  44. package/card/Card.js +21 -44
  45. package/card/Card.test.js +10 -21
  46. package/card/types.d.ts +5 -5
  47. package/checkbox/Checkbox.js +85 -120
  48. package/checkbox/Checkbox.stories.tsx +16 -54
  49. package/checkbox/Checkbox.test.js +107 -63
  50. package/checkbox/types.d.ts +8 -4
  51. package/chip/Chip.js +12 -31
  52. package/chip/Chip.stories.tsx +1 -1
  53. package/chip/Chip.test.js +15 -28
  54. package/chip/types.d.ts +4 -4
  55. package/common/coreTokens.d.ts +105 -14
  56. package/common/coreTokens.js +41 -24
  57. package/common/utils.js +2 -8
  58. package/common/variables.d.ts +52 -139
  59. package/common/variables.js +63 -157
  60. package/container/Container.d.ts +4 -0
  61. package/container/Container.js +194 -0
  62. package/container/Container.stories.tsx +214 -0
  63. package/container/types.d.ts +74 -0
  64. package/contextual-menu/ContextualMenu.d.ts +7 -0
  65. package/contextual-menu/ContextualMenu.js +71 -0
  66. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  67. package/contextual-menu/ContextualMenu.test.js +71 -0
  68. package/contextual-menu/MenuItemAction.d.ts +4 -0
  69. package/contextual-menu/MenuItemAction.js +46 -0
  70. package/contextual-menu/types.d.ts +22 -0
  71. package/contextual-menu/types.js +5 -0
  72. package/date-input/Calendar.js +15 -59
  73. package/date-input/DateInput.js +50 -96
  74. package/date-input/DateInput.stories.tsx +11 -30
  75. package/date-input/DateInput.test.js +674 -701
  76. package/date-input/DatePicker.js +11 -42
  77. package/date-input/Icons.d.ts +6 -6
  78. package/date-input/Icons.js +6 -23
  79. package/date-input/YearPicker.js +8 -34
  80. package/date-input/types.d.ts +28 -22
  81. package/dialog/Dialog.js +13 -40
  82. package/dialog/Dialog.stories.tsx +170 -0
  83. package/dialog/Dialog.test.js +125 -187
  84. package/dialog/types.d.ts +18 -13
  85. package/divider/Divider.d.ts +4 -0
  86. package/divider/Divider.js +36 -0
  87. package/divider/Divider.stories.tsx +223 -0
  88. package/divider/Divider.test.js +38 -0
  89. package/divider/types.d.ts +21 -0
  90. package/divider/types.js +5 -0
  91. package/dropdown/Dropdown.js +59 -128
  92. package/dropdown/Dropdown.stories.tsx +5 -16
  93. package/dropdown/Dropdown.test.js +391 -378
  94. package/dropdown/DropdownMenu.js +8 -19
  95. package/dropdown/DropdownMenuItem.js +11 -20
  96. package/dropdown/types.d.ts +20 -24
  97. package/file-input/FileInput.js +180 -248
  98. package/file-input/FileInput.stories.tsx +1 -1
  99. package/file-input/FileInput.test.js +356 -354
  100. package/file-input/FileItem.js +14 -41
  101. package/file-input/types.d.ts +10 -10
  102. package/flex/Flex.js +25 -39
  103. package/flex/types.d.ts +6 -6
  104. package/footer/Footer.d.ts +1 -1
  105. package/footer/Footer.js +70 -102
  106. package/footer/Footer.stories.tsx +37 -6
  107. package/footer/Footer.test.js +21 -33
  108. package/footer/Icons.d.ts +3 -2
  109. package/footer/Icons.js +66 -7
  110. package/footer/types.d.ts +25 -21
  111. package/grid/Grid.d.ts +1 -1
  112. package/grid/Grid.js +2 -17
  113. package/grid/Grid.stories.tsx +38 -38
  114. package/grid/types.d.ts +10 -10
  115. package/header/Header.d.ts +1 -1
  116. package/header/Header.js +28 -84
  117. package/header/Header.test.js +12 -25
  118. package/header/Icons.d.ts +2 -2
  119. package/header/Icons.js +2 -7
  120. package/header/types.d.ts +7 -8
  121. package/heading/Heading.js +9 -31
  122. package/heading/Heading.test.js +70 -87
  123. package/heading/types.d.ts +7 -7
  124. package/icon/Icon.d.ts +4 -0
  125. package/icon/Icon.js +33 -0
  126. package/icon/Icon.stories.tsx +28 -0
  127. package/icon/types.d.ts +4 -0
  128. package/icon/types.js +5 -0
  129. package/image/Image.d.ts +4 -0
  130. package/image/Image.js +70 -0
  131. package/image/Image.stories.tsx +129 -0
  132. package/image/types.d.ts +72 -0
  133. package/image/types.js +5 -0
  134. package/inset/Inset.js +13 -21
  135. package/inset/types.d.ts +2 -2
  136. package/layout/ApplicationLayout.d.ts +2 -2
  137. package/layout/ApplicationLayout.js +29 -66
  138. package/layout/ApplicationLayout.stories.tsx +1 -1
  139. package/layout/Icons.d.ts +8 -5
  140. package/layout/Icons.js +51 -59
  141. package/layout/types.d.ts +3 -3
  142. package/link/Link.js +21 -42
  143. package/link/Link.test.js +23 -41
  144. package/link/types.d.ts +14 -14
  145. package/main.d.ts +8 -4
  146. package/main.js +39 -59
  147. package/nav-tabs/NavTabs.d.ts +1 -2
  148. package/nav-tabs/NavTabs.js +19 -48
  149. package/nav-tabs/NavTabs.stories.tsx +7 -5
  150. package/nav-tabs/NavTabs.test.js +38 -44
  151. package/nav-tabs/NavTabsContext.d.ts +3 -0
  152. package/nav-tabs/NavTabsContext.js +8 -0
  153. package/nav-tabs/Tab.js +24 -52
  154. package/nav-tabs/types.d.ts +9 -9
  155. package/number-input/NumberInput.js +46 -36
  156. package/number-input/NumberInput.stories.tsx +42 -26
  157. package/number-input/NumberInput.test.js +859 -412
  158. package/number-input/NumberInputContext.d.ts +3 -4
  159. package/number-input/NumberInputContext.js +3 -14
  160. package/number-input/types.d.ts +17 -5
  161. package/package.json +30 -28
  162. package/paginator/Icons.d.ts +5 -5
  163. package/paginator/Icons.js +5 -19
  164. package/paginator/Paginator.js +15 -43
  165. package/paginator/Paginator.test.js +224 -207
  166. package/paginator/types.d.ts +3 -3
  167. package/paragraph/Paragraph.js +3 -19
  168. package/paragraph/Paragraph.stories.tsx +0 -17
  169. package/password-input/Icons.d.ts +6 -0
  170. package/password-input/Icons.js +35 -0
  171. package/password-input/PasswordInput.js +57 -126
  172. package/password-input/PasswordInput.stories.tsx +1 -33
  173. package/password-input/PasswordInput.test.js +157 -140
  174. package/password-input/types.d.ts +8 -7
  175. package/progress-bar/ProgressBar.js +21 -53
  176. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  177. package/progress-bar/ProgressBar.test.js +35 -52
  178. package/progress-bar/types.d.ts +3 -3
  179. package/quick-nav/QuickNav.js +4 -27
  180. package/quick-nav/QuickNav.stories.tsx +1 -1
  181. package/quick-nav/types.d.ts +10 -10
  182. package/radio-group/Radio.d.ts +1 -1
  183. package/radio-group/Radio.js +22 -54
  184. package/radio-group/RadioGroup.js +37 -83
  185. package/radio-group/RadioGroup.stories.tsx +10 -10
  186. package/radio-group/RadioGroup.test.js +504 -470
  187. package/radio-group/types.d.ts +8 -8
  188. package/resultset-table/Icons.d.ts +7 -0
  189. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  190. package/resultset-table/ResultsetTable.d.ts +7 -0
  191. package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
  192. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
  193. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
  194. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  195. package/resultset-table/types.js +5 -0
  196. package/select/Icons.d.ts +7 -7
  197. package/select/Icons.js +1 -5
  198. package/select/Listbox.js +13 -39
  199. package/select/Option.js +17 -27
  200. package/select/Select.js +87 -163
  201. package/select/Select.stories.tsx +3 -3
  202. package/select/Select.test.js +1946 -1804
  203. package/select/types.d.ts +14 -15
  204. package/sidenav/Icons.d.ts +4 -4
  205. package/sidenav/Icons.js +1 -5
  206. package/sidenav/Sidenav.js +29 -70
  207. package/sidenav/Sidenav.test.js +3 -10
  208. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  209. package/{layout → sidenav}/SidenavContext.js +3 -9
  210. package/sidenav/types.d.ts +18 -18
  211. package/slider/Slider.js +68 -125
  212. package/slider/Slider.test.js +107 -103
  213. package/slider/types.d.ts +4 -4
  214. package/spinner/Spinner.js +16 -54
  215. package/spinner/Spinner.test.js +25 -34
  216. package/spinner/types.d.ts +3 -3
  217. package/status-light/StatusLight.d.ts +4 -0
  218. package/status-light/StatusLight.js +51 -0
  219. package/status-light/StatusLight.stories.tsx +74 -0
  220. package/status-light/StatusLight.test.js +25 -0
  221. package/status-light/types.d.ts +17 -0
  222. package/status-light/types.js +5 -0
  223. package/switch/Switch.js +49 -97
  224. package/switch/Switch.stories.tsx +0 -34
  225. package/switch/Switch.test.js +51 -96
  226. package/switch/types.d.ts +4 -4
  227. package/table/DropdownTheme.js +62 -0
  228. package/table/Table.d.ts +6 -2
  229. package/table/Table.js +76 -33
  230. package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
  231. package/table/Table.test.js +93 -6
  232. package/table/types.d.ts +34 -6
  233. package/tabs/Tab.js +17 -33
  234. package/tabs/Tabs.js +52 -129
  235. package/tabs/Tabs.stories.tsx +1 -1
  236. package/tabs/Tabs.test.js +62 -118
  237. package/tabs/types.d.ts +19 -19
  238. package/tag/Tag.js +21 -51
  239. package/tag/Tag.test.js +19 -30
  240. package/tag/types.d.ts +7 -7
  241. package/text-input/Suggestion.js +9 -26
  242. package/text-input/Suggestions.d.ts +1 -1
  243. package/text-input/Suggestions.js +19 -67
  244. package/text-input/TextInput.js +221 -327
  245. package/text-input/TextInput.stories.tsx +49 -153
  246. package/text-input/TextInput.test.js +1227 -1194
  247. package/text-input/types.d.ts +25 -17
  248. package/textarea/Textarea.js +67 -109
  249. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  250. package/textarea/Textarea.test.js +150 -179
  251. package/textarea/types.d.ts +9 -5
  252. package/toggle-group/ToggleGroup.js +90 -107
  253. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  254. package/toggle-group/ToggleGroup.test.js +68 -87
  255. package/toggle-group/types.d.ts +26 -17
  256. package/typography/Typography.js +4 -13
  257. package/typography/types.d.ts +1 -1
  258. package/useTheme.d.ts +49 -136
  259. package/useTheme.js +1 -8
  260. package/useTranslatedLabels.js +1 -7
  261. package/utils/BaseTypography.d.ts +2 -2
  262. package/utils/BaseTypography.js +16 -30
  263. package/utils/FocusLock.js +25 -39
  264. package/wizard/Wizard.js +14 -49
  265. package/wizard/Wizard.test.js +53 -80
  266. package/wizard/types.d.ts +7 -7
  267. package/common/OpenSans.css +0 -69
  268. package/common/fonts/OpenSans-Bold.ttf +0 -0
  269. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  270. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  271. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  272. package/common/fonts/OpenSans-Italic.ttf +0 -0
  273. package/common/fonts/OpenSans-Light.ttf +0 -0
  274. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  275. package/common/fonts/OpenSans-Regular.ttf +0 -0
  276. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  277. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  278. package/number-input/numberInputContextTypes.d.ts +0 -19
  279. package/resultsetTable/Icons.d.ts +0 -7
  280. package/resultsetTable/ResultsetTable.d.ts +0 -4
  281. package/slider/Slider.stories.tsx +0 -240
  282. package/text-input/Icons.d.ts +0 -8
  283. package/text-input/Icons.js +0 -60
  284. /package/{resultsetTable → action-icon}/types.js +0 -0
  285. /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
  286. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
@@ -1,74 +1,31 @@
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
14
  var _variables = require("../common/variables");
23
-
24
15
  var _utils = require("../common/utils");
25
-
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; }
66
24
  var useWidth = function useWidth(target) {
67
25
  var _useState = (0, _react.useState)(0),
68
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
69
- width = _useState2[0],
70
- setWidth = _useState2[1];
71
-
26
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
27
+ width = _useState2[0],
28
+ setWidth = _useState2[1];
72
29
  (0, _react.useEffect)(function () {
73
30
  if (target != null) {
74
31
  setWidth(target.getBoundingClientRect().width);
@@ -84,77 +41,64 @@ var useWidth = function useWidth(target) {
84
41
  }, [target]);
85
42
  return width;
86
43
  };
87
-
88
44
  var DxcDropdown = function DxcDropdown(_ref) {
89
45
  var options = _ref.options,
90
- _ref$optionsIconPosit = _ref.optionsIconPosition,
91
- optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
92
- icon = _ref.icon,
93
- _ref$iconPosition = _ref.iconPosition,
94
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
95
- _ref$label = _ref.label,
96
- label = _ref$label === void 0 ? "" : _ref$label,
97
- _ref$caretHidden = _ref.caretHidden,
98
- caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
99
- _ref$disabled = _ref.disabled,
100
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
101
- _ref$expandOnHover = _ref.expandOnHover,
102
- expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
103
- onSelectOption = _ref.onSelectOption,
104
- margin = _ref.margin,
105
- _ref$size = _ref.size,
106
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
107
- _ref$tabIndex = _ref.tabIndex,
108
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
109
-
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;
110
65
  var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
111
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
112
- triggerId = _useState4[0];
113
-
66
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
67
+ triggerId = _useState4[0];
114
68
  var menuId = "menu-".concat(triggerId);
115
-
116
69
  var _useState5 = (0, _react.useState)(false),
117
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
118
- isOpen = _useState6[0],
119
- changeIsOpen = _useState6[1];
120
-
70
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
71
+ isOpen = _useState6[0],
72
+ changeIsOpen = _useState6[1];
121
73
  var _useState7 = (0, _react.useState)(0),
122
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
123
- visualFocusIndex = _useState8[0],
124
- setVisualFocusIndex = _useState8[1];
125
-
74
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
75
+ visualFocusIndex = _useState8[0],
76
+ setVisualFocusIndex = _useState8[1];
126
77
  var colorsTheme = (0, _useTheme["default"])();
127
78
  var triggerRef = (0, _react.useRef)(null);
128
79
  var menuRef = (0, _react.useRef)(null);
129
80
  var width = useWidth(triggerRef.current);
130
-
131
81
  var handleOnOpenMenu = function handleOnOpenMenu() {
132
82
  changeIsOpen(true);
133
83
  };
134
-
135
84
  var handleOnCloseMenu = function handleOnCloseMenu() {
136
85
  changeIsOpen(false);
137
86
  setVisualFocusIndex(0);
138
87
  };
139
-
140
88
  var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
141
89
  var _triggerRef$current;
142
-
143
90
  onSelectOption(value);
144
91
  handleOnCloseMenu();
145
92
  (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
146
93
  }, [onSelectOption]);
147
-
148
94
  var handleOnBlur = function handleOnBlur(event) {
149
95
  !event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
150
96
  };
151
-
152
97
  var handleTriggerOnClick = function handleTriggerOnClick() {
153
98
  changeIsOpen(function (isOpen) {
154
99
  return !isOpen;
155
100
  });
156
101
  };
157
-
158
102
  var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
159
103
  switch (event.key) {
160
104
  case "Up":
@@ -163,7 +107,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
163
107
  setVisualFocusIndex(options.length - 1);
164
108
  handleOnOpenMenu();
165
109
  break;
166
-
167
110
  case " ":
168
111
  case "Down":
169
112
  case "ArrowDown":
@@ -173,62 +116,52 @@ var DxcDropdown = function DxcDropdown(_ref) {
173
116
  break;
174
117
  }
175
118
  };
176
-
177
119
  var setPreviousIndexFocus = function setPreviousIndexFocus() {
178
120
  setVisualFocusIndex(function (currentFocusIndex) {
179
121
  var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
180
122
  return index;
181
123
  });
182
124
  };
183
-
184
125
  var setNextIndexFocus = function setNextIndexFocus() {
185
126
  setVisualFocusIndex(function (currentFocusIndex) {
186
127
  var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
187
128
  return index;
188
129
  });
189
130
  };
190
-
191
131
  var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
192
132
  var _triggerRef$current2, _triggerRef$current3;
193
-
194
133
  switch (event.key) {
195
134
  case "Up":
196
135
  case "ArrowUp":
197
136
  event.preventDefault();
198
137
  setPreviousIndexFocus();
199
138
  break;
200
-
201
139
  case "Down":
202
140
  case "ArrowDown":
203
141
  event.preventDefault();
204
142
  setNextIndexFocus();
205
143
  break;
206
-
207
144
  case " ":
208
145
  case "Enter":
209
146
  event.preventDefault();
210
147
  handleMenuItemOnClick(options[visualFocusIndex].value);
211
148
  break;
212
-
213
149
  case "Esc":
214
150
  case "Escape":
215
151
  event.preventDefault();
216
152
  handleOnCloseMenu();
217
153
  (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
218
154
  break;
219
-
220
155
  case "Home":
221
156
  case "PageUp":
222
157
  event.preventDefault();
223
158
  setVisualFocusIndex(0);
224
159
  break;
225
-
226
160
  case "End":
227
161
  case "PageDown":
228
162
  event.preventDefault();
229
163
  setVisualFocusIndex(options.length - 1);
230
164
  break;
231
-
232
165
  case "Tab":
233
166
  handleOnCloseMenu();
234
167
  (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
@@ -237,7 +170,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
237
170
  }, [onSelectOption, visualFocusIndex, options]);
238
171
  (0, _react.useLayoutEffect)(function () {
239
172
  var _menuRef$current, _visualFocusedMenuIte;
240
-
241
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];
242
174
  visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
243
175
  block: "nearest",
@@ -276,13 +208,15 @@ var DxcDropdown = function DxcDropdown(_ref) {
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
209
  disabled: disabled,
278
210
  role: typeof icon === "string" ? undefined : "img"
279
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
280
- src: icon
211
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
212
+ icon: icon
281
213
  }) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
282
214
  disabled: disabled
283
- }, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
284
- sideOffset: 1,
285
- 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
286
220
  }, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
287
221
  id: menuId,
288
222
  dropdownTriggerId: triggerId,
@@ -292,12 +226,12 @@ var DxcDropdown = function DxcDropdown(_ref) {
292
226
  menuItemOnClick: handleMenuItemOnClick,
293
227
  onKeyDown: handleMenuOnKeyDown,
294
228
  styles: {
295
- width: width
229
+ width: width,
230
+ zIndex: "2147483647"
296
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"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n img,\n svg {\n width: ", ";\n height: ", ";\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) {
372
302
  return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
373
303
  }, function (props) {
374
304
  return props.theme.buttonIconSize;
375
305
  }, function (props) {
376
306
  return props.theme.buttonIconSize;
307
+ }, function (props) {
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;
@@ -15,11 +15,6 @@ export default {
15
15
  component: DxcDropdown,
16
16
  };
17
17
 
18
- const hamburguerIcon = (
19
- <svg xmlns="http://www.w3.org/2000/svg" height="20" width="20">
20
- <path d="M3 14.5V13h14v1.5Zm0-3.75v-1.5h14v1.5ZM3 7V5.5h14V7Z" />
21
- </svg>
22
- );
23
18
  const iconSVG = (
24
19
  <svg viewBox="0 0 24 24" height="24" width="24" fill="currentColor">
25
20
  <path d="M0 0h24v24H0z" fill="none" />
@@ -31,8 +26,7 @@ const iconSVGLarge = (
31
26
  <path d="M11 44q-1.2 0-2.1-.9Q8 42.2 8 41V15q0-1.2.9-2.1.9-.9 2.1-.9h5.5v-.5q0-3.15 2.175-5.325Q20.85 4 24 4q3.15 0 5.325 2.175Q31.5 8.35 31.5 11.5v.5H37q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h26V15h-5.5v4.5q0 .65-.425 1.075Q30.65 21 30 21q-.65 0-1.075-.425-.425-.425-.425-1.075V15h-9v4.5q0 .65-.425 1.075Q18.65 21 18 21q-.65 0-1.075-.425-.425-.425-.425-1.075V15H11v26Zm8.5-29h9v-.5q0-1.9-1.3-3.2Q25.9 7 24 7q-1.9 0-3.2 1.3-1.3 1.3-1.3 3.2ZM11 41V15v26Z" />
32
27
  </svg>
33
28
  );
34
- const iconUrl = "https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png";
35
- const icons = [iconSVG, iconSVGLarge, iconUrl];
29
+ const icons = [iconSVG, iconSVGLarge, "nutrition"];
36
30
 
37
31
  const defaultOptions: Option[] = [
38
32
  {
@@ -86,7 +80,7 @@ const optionWithIcon: Option[] = [
86
80
  {
87
81
  value: "1",
88
82
  label: "Ebay",
89
- icon: iconUrl,
83
+ icon: "shopping_cart",
90
84
  },
91
85
  ];
92
86
 
@@ -136,7 +130,7 @@ const Dropdown = () => (
136
130
  label="Icon after"
137
131
  options={options}
138
132
  onSelectOption={(value) => {}}
139
- icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
133
+ icon="shopping_cart"
140
134
  iconPosition="after"
141
135
  />
142
136
  </ExampleContainer>
@@ -146,7 +140,7 @@ const Dropdown = () => (
146
140
  </ExampleContainer>
147
141
  <ExampleContainer>
148
142
  <Title title="Only icon without caret" theme="light" level={4} />
149
- <DxcDropdown options={options} onSelectOption={(value) => {}} icon={hamburguerIcon} caretHidden />
143
+ <DxcDropdown options={options} onSelectOption={(value) => {}} icon="menu" caretHidden />
150
144
  </ExampleContainer>
151
145
  <ExampleContainer>
152
146
  <Title title="Large icon (SVG)" theme="light" level={4} />
@@ -154,12 +148,7 @@ const Dropdown = () => (
154
148
  </ExampleContainer>
155
149
  <ExampleContainer>
156
150
  <Title title="Large icon (image)" theme="light" level={4} />
157
- <DxcDropdown
158
- label="Large icon"
159
- options={options}
160
- onSelectOption={(value) => {}}
161
- icon="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Hamburger_icon.svg/2048px-Hamburger_icon.svg.png"
162
- />
151
+ <DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon="menu" />
163
152
  </ExampleContainer>
164
153
  <ExampleContainer>
165
154
  <Title title="Disabled with icon" theme="light" level={4} />