@dxc-technology/halstack-react 0.0.0-31c6b1f → 0.0.0-324b670

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 (311) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1235 -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 +116 -160
  8. package/accordion/Accordion.stories.tsx +103 -127
  9. package/accordion/Accordion.test.js +25 -41
  10. package/accordion/types.d.ts +5 -16
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +31 -98
  13. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  14. package/accordion-group/AccordionGroup.test.js +52 -105
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +11 -16
  18. package/alert/Alert.js +23 -59
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +29 -46
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.d.ts +1 -1
  23. package/badge/Badge.js +8 -19
  24. package/badge/types.d.ts +2 -1
  25. package/bleed/Bleed.js +14 -55
  26. package/bleed/Bleed.stories.tsx +95 -95
  27. package/bleed/types.d.ts +2 -2
  28. package/box/Box.d.ts +1 -1
  29. package/box/Box.js +30 -81
  30. package/box/Box.stories.tsx +38 -51
  31. package/box/Box.test.js +2 -7
  32. package/box/types.d.ts +3 -14
  33. package/bulleted-list/BulletedList.d.ts +7 -0
  34. package/bulleted-list/BulletedList.js +89 -0
  35. package/bulleted-list/BulletedList.stories.tsx +115 -0
  36. package/bulleted-list/types.d.ts +38 -0
  37. package/button/Button.d.ts +1 -1
  38. package/button/Button.js +63 -115
  39. package/button/Button.stories.tsx +160 -90
  40. package/button/Button.test.js +18 -17
  41. package/button/types.d.ts +12 -8
  42. package/card/Card.d.ts +1 -1
  43. package/card/Card.js +64 -107
  44. package/card/Card.stories.tsx +12 -42
  45. package/card/Card.test.js +11 -22
  46. package/card/types.d.ts +6 -11
  47. package/checkbox/Checkbox.d.ts +2 -2
  48. package/checkbox/Checkbox.js +142 -181
  49. package/checkbox/Checkbox.stories.tsx +128 -94
  50. package/checkbox/Checkbox.test.js +160 -39
  51. package/checkbox/types.d.ts +11 -3
  52. package/chip/Chip.js +39 -79
  53. package/chip/Chip.stories.tsx +121 -26
  54. package/chip/Chip.test.js +16 -31
  55. package/chip/types.d.ts +4 -4
  56. package/common/OpenSans.css +68 -80
  57. package/common/coreTokens.d.ts +237 -0
  58. package/common/coreTokens.js +184 -0
  59. package/common/utils.d.ts +1 -0
  60. package/common/utils.js +6 -12
  61. package/common/variables.d.ts +1381 -0
  62. package/common/variables.js +998 -1117
  63. package/container/Container.d.ts +4 -0
  64. package/container/Container.js +194 -0
  65. package/container/Container.stories.tsx +214 -0
  66. package/container/types.d.ts +74 -0
  67. package/date-input/Calendar.d.ts +4 -0
  68. package/date-input/Calendar.js +214 -0
  69. package/date-input/DateInput.js +153 -299
  70. package/date-input/DateInput.stories.tsx +203 -56
  71. package/date-input/DateInput.test.js +700 -371
  72. package/date-input/DatePicker.d.ts +4 -0
  73. package/date-input/DatePicker.js +115 -0
  74. package/date-input/Icons.d.ts +6 -0
  75. package/date-input/Icons.js +58 -0
  76. package/date-input/YearPicker.d.ts +4 -0
  77. package/date-input/YearPicker.js +100 -0
  78. package/date-input/types.d.ts +72 -15
  79. package/dialog/Dialog.d.ts +1 -1
  80. package/dialog/Dialog.js +73 -107
  81. package/dialog/Dialog.stories.tsx +320 -167
  82. package/dialog/Dialog.test.js +287 -20
  83. package/dialog/types.d.ts +18 -25
  84. package/dropdown/Dropdown.d.ts +1 -1
  85. package/dropdown/Dropdown.js +243 -300
  86. package/dropdown/Dropdown.stories.tsx +245 -56
  87. package/dropdown/Dropdown.test.js +575 -165
  88. package/dropdown/DropdownMenu.d.ts +4 -0
  89. package/dropdown/DropdownMenu.js +63 -0
  90. package/dropdown/DropdownMenuItem.d.ts +4 -0
  91. package/dropdown/DropdownMenuItem.js +67 -0
  92. package/dropdown/types.d.ts +32 -14
  93. package/file-input/FileInput.d.ts +2 -2
  94. package/file-input/FileInput.js +246 -357
  95. package/file-input/FileInput.stories.tsx +123 -12
  96. package/file-input/FileInput.test.js +369 -367
  97. package/file-input/FileItem.d.ts +4 -14
  98. package/file-input/FileItem.js +50 -99
  99. package/file-input/types.d.ts +25 -8
  100. package/flex/Flex.d.ts +4 -0
  101. package/flex/Flex.js +57 -0
  102. package/flex/Flex.stories.tsx +112 -0
  103. package/flex/types.d.ts +97 -0
  104. package/footer/Footer.d.ts +1 -1
  105. package/footer/Footer.js +57 -115
  106. package/footer/Footer.stories.tsx +41 -19
  107. package/footer/Footer.test.js +33 -57
  108. package/footer/Icons.d.ts +2 -2
  109. package/footer/Icons.js +3 -8
  110. package/footer/types.d.ts +21 -28
  111. package/grid/Grid.d.ts +7 -0
  112. package/grid/Grid.js +76 -0
  113. package/grid/Grid.stories.tsx +219 -0
  114. package/grid/types.d.ts +115 -0
  115. package/header/Header.d.ts +4 -3
  116. package/header/Header.js +90 -170
  117. package/header/Header.stories.tsx +118 -39
  118. package/header/Header.test.js +13 -26
  119. package/header/Icons.d.ts +2 -2
  120. package/header/Icons.js +4 -9
  121. package/header/types.d.ts +5 -19
  122. package/heading/Heading.js +10 -32
  123. package/heading/Heading.test.js +71 -88
  124. package/heading/types.d.ts +7 -7
  125. package/image/Image.d.ts +4 -0
  126. package/image/Image.js +70 -0
  127. package/image/Image.stories.tsx +127 -0
  128. package/image/types.d.ts +72 -0
  129. package/inset/Inset.js +14 -55
  130. package/inset/Inset.stories.tsx +37 -36
  131. package/inset/types.d.ts +2 -2
  132. package/layout/ApplicationLayout.d.ts +16 -6
  133. package/layout/ApplicationLayout.js +82 -166
  134. package/layout/ApplicationLayout.stories.tsx +85 -94
  135. package/layout/Icons.d.ts +8 -0
  136. package/layout/Icons.js +51 -48
  137. package/layout/SidenavContext.d.ts +5 -0
  138. package/layout/SidenavContext.js +13 -0
  139. package/layout/types.d.ts +19 -35
  140. package/link/Link.d.ts +3 -2
  141. package/link/Link.js +61 -95
  142. package/link/Link.stories.tsx +155 -53
  143. package/link/Link.test.js +25 -53
  144. package/link/types.d.ts +15 -31
  145. package/main.d.ts +11 -12
  146. package/main.js +58 -109
  147. package/nav-tabs/NavTabs.d.ts +8 -0
  148. package/nav-tabs/NavTabs.js +90 -0
  149. package/nav-tabs/NavTabs.stories.tsx +274 -0
  150. package/nav-tabs/NavTabs.test.js +75 -0
  151. package/nav-tabs/Tab.d.ts +4 -0
  152. package/nav-tabs/Tab.js +117 -0
  153. package/nav-tabs/types.d.ts +52 -0
  154. package/number-input/NumberInput.d.ts +7 -0
  155. package/number-input/NumberInput.js +26 -35
  156. package/number-input/NumberInput.stories.tsx +42 -26
  157. package/number-input/NumberInput.test.js +701 -377
  158. package/number-input/types.d.ts +12 -6
  159. package/package.json +44 -46
  160. package/paginator/Icons.d.ts +5 -0
  161. package/paginator/Icons.js +21 -47
  162. package/paginator/Paginator.js +34 -91
  163. package/paginator/Paginator.stories.tsx +24 -0
  164. package/paginator/Paginator.test.js +280 -211
  165. package/paginator/types.d.ts +3 -3
  166. package/paragraph/Paragraph.d.ts +5 -0
  167. package/paragraph/Paragraph.js +22 -0
  168. package/paragraph/Paragraph.stories.tsx +27 -0
  169. package/password-input/Icons.d.ts +6 -0
  170. package/password-input/Icons.js +35 -0
  171. package/password-input/PasswordInput.js +57 -123
  172. package/password-input/PasswordInput.stories.tsx +1 -33
  173. package/password-input/PasswordInput.test.js +160 -143
  174. package/password-input/types.d.ts +9 -8
  175. package/progress-bar/ProgressBar.js +65 -91
  176. package/progress-bar/ProgressBar.stories.tsx +93 -0
  177. package/progress-bar/ProgressBar.test.js +72 -44
  178. package/progress-bar/types.d.ts +3 -3
  179. package/quick-nav/QuickNav.js +71 -41
  180. package/quick-nav/QuickNav.stories.tsx +146 -27
  181. package/quick-nav/types.d.ts +10 -10
  182. package/radio-group/Radio.d.ts +1 -1
  183. package/radio-group/Radio.js +59 -76
  184. package/radio-group/RadioGroup.js +71 -116
  185. package/radio-group/RadioGroup.stories.tsx +132 -18
  186. package/radio-group/RadioGroup.test.js +518 -457
  187. package/radio-group/types.d.ts +10 -10
  188. package/resultset-table/Icons.d.ts +7 -0
  189. package/resultset-table/Icons.js +47 -0
  190. package/resultset-table/ResultsetTable.js +159 -0
  191. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  192. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
  193. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  194. package/resultset-table/types.js +5 -0
  195. package/select/Icons.d.ts +7 -7
  196. package/select/Icons.js +1 -5
  197. package/select/Listbox.d.ts +1 -1
  198. package/select/Listbox.js +46 -51
  199. package/select/Option.js +20 -50
  200. package/select/Select.js +155 -228
  201. package/select/Select.stories.tsx +525 -136
  202. package/select/Select.test.js +1973 -1696
  203. package/select/types.d.ts +16 -20
  204. package/sidenav/Icons.d.ts +7 -0
  205. package/sidenav/Icons.js +47 -0
  206. package/sidenav/Sidenav.d.ts +6 -5
  207. package/sidenav/Sidenav.js +131 -71
  208. package/sidenav/Sidenav.stories.tsx +251 -151
  209. package/sidenav/Sidenav.test.js +26 -45
  210. package/sidenav/types.d.ts +52 -26
  211. package/slider/Slider.d.ts +2 -2
  212. package/slider/Slider.js +149 -181
  213. package/slider/Slider.test.js +185 -81
  214. package/slider/types.d.ts +7 -3
  215. package/spinner/Spinner.js +31 -75
  216. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  217. package/spinner/Spinner.test.js +26 -35
  218. package/spinner/types.d.ts +3 -3
  219. package/switch/Switch.d.ts +2 -2
  220. package/switch/Switch.js +147 -125
  221. package/switch/Switch.stories.tsx +37 -60
  222. package/switch/Switch.test.js +138 -56
  223. package/switch/types.d.ts +7 -3
  224. package/table/Table.js +8 -30
  225. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  226. package/table/Table.test.js +3 -8
  227. package/table/types.d.ts +8 -8
  228. package/tabs/Tab.d.ts +4 -0
  229. package/tabs/Tab.js +113 -0
  230. package/tabs/Tabs.js +315 -141
  231. package/tabs/Tabs.stories.tsx +119 -11
  232. package/tabs/Tabs.test.js +223 -69
  233. package/tabs/types.d.ts +28 -18
  234. package/tag/Tag.js +29 -61
  235. package/tag/Tag.stories.tsx +14 -1
  236. package/tag/Tag.test.js +20 -31
  237. package/tag/types.d.ts +7 -7
  238. package/text-input/Icons.d.ts +8 -0
  239. package/text-input/Icons.js +56 -0
  240. package/text-input/Suggestion.d.ts +4 -0
  241. package/text-input/Suggestion.js +67 -0
  242. package/text-input/Suggestions.d.ts +4 -0
  243. package/text-input/Suggestions.js +84 -0
  244. package/text-input/TextInput.js +309 -527
  245. package/text-input/TextInput.stories.tsx +266 -275
  246. package/text-input/TextInput.test.js +1403 -1376
  247. package/text-input/types.d.ts +53 -14
  248. package/textarea/Textarea.js +79 -131
  249. package/textarea/Textarea.stories.tsx +174 -0
  250. package/textarea/Textarea.test.js +152 -183
  251. package/textarea/types.d.ts +10 -6
  252. package/toggle-group/ToggleGroup.d.ts +2 -2
  253. package/toggle-group/ToggleGroup.js +92 -106
  254. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  255. package/toggle-group/ToggleGroup.test.js +69 -88
  256. package/toggle-group/types.d.ts +26 -17
  257. package/typography/Typography.d.ts +4 -0
  258. package/typography/Typography.js +23 -0
  259. package/typography/Typography.stories.tsx +198 -0
  260. package/typography/types.d.ts +18 -0
  261. package/typography/types.js +5 -0
  262. package/useTheme.d.ts +1133 -1
  263. package/useTheme.js +4 -11
  264. package/useTranslatedLabels.d.ts +85 -0
  265. package/useTranslatedLabels.js +14 -0
  266. package/utils/BaseTypography.d.ts +21 -0
  267. package/utils/BaseTypography.js +94 -0
  268. package/utils/FocusLock.d.ts +13 -0
  269. package/utils/FocusLock.js +121 -0
  270. package/wizard/Wizard.js +51 -91
  271. package/wizard/Wizard.stories.tsx +40 -1
  272. package/wizard/Wizard.test.js +54 -81
  273. package/wizard/types.d.ts +7 -7
  274. package/ThemeContext.d.ts +0 -10
  275. package/ThemeContext.js +0 -243
  276. package/card/ice-cream.jpg +0 -0
  277. package/common/RequiredComponent.js +0 -32
  278. package/list/List.d.ts +0 -4
  279. package/list/List.js +0 -47
  280. package/list/List.stories.tsx +0 -95
  281. package/list/types.d.ts +0 -7
  282. package/number-input/NumberInputContext.d.ts +0 -4
  283. package/number-input/NumberInputContext.js +0 -19
  284. package/number-input/numberInputContextTypes.d.ts +0 -19
  285. package/progress-bar/ProgressBar.stories.jsx +0 -58
  286. package/radio/Radio.d.ts +0 -4
  287. package/radio/Radio.js +0 -173
  288. package/radio/Radio.stories.tsx +0 -192
  289. package/radio/Radio.test.js +0 -71
  290. package/radio/types.d.ts +0 -54
  291. package/resultsetTable/ResultsetTable.js +0 -254
  292. package/row/Row.d.ts +0 -3
  293. package/row/Row.js +0 -127
  294. package/row/Row.stories.tsx +0 -237
  295. package/row/types.d.ts +0 -28
  296. package/slider/Slider.stories.tsx +0 -177
  297. package/stack/Stack.d.ts +0 -3
  298. package/stack/Stack.js +0 -97
  299. package/stack/Stack.stories.tsx +0 -164
  300. package/stack/types.d.ts +0 -24
  301. package/text/Text.d.ts +0 -7
  302. package/text/Text.js +0 -30
  303. package/text/Text.stories.tsx +0 -19
  304. package/textarea/Textarea.stories.jsx +0 -157
  305. /package/{list → bulleted-list}/types.js +0 -0
  306. /package/{radio → container}/types.js +0 -0
  307. /package/{resultsetTable → flex}/types.js +0 -0
  308. /package/{row → grid}/types.js +0 -0
  309. /package/{stack → image}/types.js +0 -0
  310. /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
  311. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DropdownMenuProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<DropdownMenuProps & React.RefAttributes<HTMLUListElement>>>;
4
+ export default _default;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _DropdownMenuItem = _interopRequireDefault(require("./DropdownMenuItem"));
12
+ var _templateObject;
13
+ var DropdownMenu = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
14
+ var id = _ref.id,
15
+ dropdownTriggerId = _ref.dropdownTriggerId,
16
+ iconsPosition = _ref.iconsPosition,
17
+ visualFocusIndex = _ref.visualFocusIndex,
18
+ menuItemOnClick = _ref.menuItemOnClick,
19
+ onKeyDown = _ref.onKeyDown,
20
+ options = _ref.options,
21
+ styles = _ref.styles;
22
+ return /*#__PURE__*/_react["default"].createElement(DropdownMenuContainer, {
23
+ onMouseDown: function onMouseDown(event) {
24
+ // Prevent the onBlur event from closing menu when clicking on the menu since
25
+ // it is implemented with a Portal and the menu is not a direct child of the container
26
+ event.preventDefault();
27
+ },
28
+ onKeyDown: onKeyDown,
29
+ id: id,
30
+ role: "menu",
31
+ "aria-labelledby": dropdownTriggerId,
32
+ "aria-orientation": "vertical",
33
+ "aria-activedescendant": "option-".concat(visualFocusIndex),
34
+ tabIndex: -1,
35
+ ref: ref,
36
+ style: styles
37
+ }, options.map(function (option, index) {
38
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenuItem["default"], {
39
+ id: "option-".concat(index),
40
+ key: "option-".concat(index),
41
+ visuallyFocused: index === visualFocusIndex,
42
+ iconPosition: iconsPosition,
43
+ onClick: menuItemOnClick,
44
+ option: option
45
+ });
46
+ }));
47
+ });
48
+ var DropdownMenuContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 230px;\n min-width: min-content;\n padding: 0;\n margin: 0;\n background-color: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-radius: ", ";\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n outline: none;\n\n overflow-y: auto;\n &::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 6px;\n }\n &::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 6px;\n }\n"])), function (props) {
49
+ return props.theme.optionBackgroundColor;
50
+ }, function (props) {
51
+ return props.theme.borderThickness;
52
+ }, function (props) {
53
+ return props.theme.borderStyle;
54
+ }, function (props) {
55
+ return props.theme.borderColor;
56
+ }, function (props) {
57
+ return props.theme.borderRadius;
58
+ }, function (props) {
59
+ return props.theme.scrollBarThumbColor;
60
+ }, function (props) {
61
+ return props.theme.scrollBarTrackColor;
62
+ });
63
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(DropdownMenu);
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DropdownMenuItemProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, visuallyFocused, iconPosition, onClick, option, }: DropdownMenuItemProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _templateObject, _templateObject2, _templateObject3;
12
+ var DropdownMenuItem = function DropdownMenuItem(_ref) {
13
+ var id = _ref.id,
14
+ visuallyFocused = _ref.visuallyFocused,
15
+ iconPosition = _ref.iconPosition,
16
+ _onClick = _ref.onClick,
17
+ option = _ref.option;
18
+ return /*#__PURE__*/_react["default"].createElement(DropdownMenuItemContainer, {
19
+ visuallyFocused: visuallyFocused,
20
+ onClick: function onClick() {
21
+ _onClick(option.value);
22
+ },
23
+ id: id,
24
+ role: "menuitem",
25
+ tabIndex: -1
26
+ }, iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemIcon, {
27
+ role: typeof option.icon === "string" ? undefined : "img"
28
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
29
+ src: option.icon
30
+ }) : option.icon), iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label));
31
+ };
32
+ var DropdownMenuItemContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: ", ";\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n cursor: pointer;\n\n ", "\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
33
+ return props.theme.optionIconSpacing;
34
+ }, function (props) {
35
+ return props.theme.optionPaddingTop;
36
+ }, function (props) {
37
+ return props.theme.optionPaddingBottom;
38
+ }, function (props) {
39
+ return props.theme.optionPaddingLeft;
40
+ }, function (props) {
41
+ return props.theme.optionPaddingRight;
42
+ }, function (props) {
43
+ return props.visuallyFocused && "outline: ".concat(props.theme.focusColor, " solid 2px; outline-offset: -2px;");
44
+ }, function (props) {
45
+ return props.theme.hoverOptionBackgroundColor;
46
+ }, function (props) {
47
+ return props.theme.activeOptionBackgroundColor;
48
+ });
49
+ var DropdownMenuItemLabel = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5rem;\n color: ", ";\n white-space: nowrap;\n"])), function (props) {
50
+ return props.theme.optionFontFamily;
51
+ }, function (props) {
52
+ return props.theme.optionFontSize;
53
+ }, function (props) {
54
+ return props.theme.optionFontStyle;
55
+ }, function (props) {
56
+ return props.theme.optionFontWeight;
57
+ }, function (props) {
58
+ return props.theme.optionFontColor;
59
+ });
60
+ var DropdownMenuItemIcon = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
61
+ return props.theme.optionIconColor;
62
+ }, function (props) {
63
+ return props.theme.optionIconSize;
64
+ }, function (props) {
65
+ return props.theme.optionIconSize;
66
+ });
67
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(DropdownMenuItem);
@@ -1,13 +1,14 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.SVGProps<SVGSVGElement>;
10
- declare type Option = {
9
+ type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
10
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
11
+ export type Option = {
11
12
  /**
12
13
  * Option display value.
13
14
  */
@@ -22,7 +23,7 @@ declare type Option = {
22
23
  */
23
24
  value: string;
24
25
  };
25
- declare type Props = {
26
+ type Props = {
26
27
  /**
27
28
  * An array of objects representing the options.
28
29
  */
@@ -50,14 +51,18 @@ declare type Props = {
50
51
  */
51
52
  caretHidden?: boolean;
52
53
  /**
53
- * This function will be called every time the selection changes.
54
- * The value of the selected option will be passed as a parameter.
54
+ * If true, the component will be disabled.
55
55
  */
56
- onSelectOption: (value: string) => void;
56
+ disabled?: boolean;
57
57
  /**
58
58
  * If true, the options are showed when the dropdown is hover.
59
59
  */
60
60
  expandOnHover?: boolean;
61
+ /**
62
+ * This function will be called every time the selection changes.
63
+ * The value of the selected option will be passed as a parameter.
64
+ */
65
+ onSelectOption: (value: string) => void;
61
66
  /**
62
67
  * Size of the margin to be applied to the component.
63
68
  * You can pass an object with 'top', 'bottom', 'left' and 'right'
@@ -67,14 +72,27 @@ declare type Props = {
67
72
  /**
68
73
  * Size of the component.
69
74
  */
70
- size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
75
+ size?: Size;
71
76
  /**
72
- * Value of the tabindex.
77
+ * Value of the tabindex attribute.
73
78
  */
74
79
  tabIndex?: number;
75
- /**
76
- * If true, the component will be disabled.
77
- */
78
- disabled?: boolean;
80
+ };
81
+ export type DropdownMenuProps = {
82
+ id: string;
83
+ dropdownTriggerId: string;
84
+ iconsPosition: "before" | "after";
85
+ visualFocusIndex: number;
86
+ menuItemOnClick: (value: string) => void;
87
+ onKeyDown: (event: React.KeyboardEvent<HTMLUListElement>) => void;
88
+ options: Option[];
89
+ styles: React.CSSProperties;
90
+ };
91
+ export type DropdownMenuItemProps = {
92
+ id: string;
93
+ visuallyFocused: boolean;
94
+ iconPosition: "before" | "after";
95
+ onClick: (value: string) => void;
96
+ option: Option;
79
97
  };
80
98
  export default Props;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import FileInputPropsType from "./types";
3
- declare const DxcFileInput: ({ name, mode, label, buttonLabel, dropAreaLabel, helperText, accept, minSize, maxSize, showPreview, multiple, disabled, callbackFile, value, margin, tabIndex, }: FileInputPropsType) => JSX.Element;
3
+ declare const DxcFileInput: React.ForwardRefExoticComponent<FileInputPropsType & React.RefAttributes<HTMLDivElement>>;
4
4
  export default DxcFileInput;