@dxc-technology/halstack-react 0.0.0-375a8b0 → 0.0.0-381476a

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 (340) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -22
  3. package/HalstackContext.d.ts +1356 -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 +119 -192
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +12 -23
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +39 -108
  13. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  14. package/accordion-group/AccordionGroup.test.js +98 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +18 -23
  18. package/alert/Alert.js +24 -57
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +75 -0
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.d.ts +4 -0
  23. package/badge/Badge.js +9 -20
  24. package/badge/types.d.ts +5 -0
  25. package/bleed/Bleed.d.ts +3 -0
  26. package/bleed/Bleed.js +43 -0
  27. package/bleed/Bleed.stories.tsx +342 -0
  28. package/bleed/types.d.ts +37 -0
  29. package/box/Box.d.ts +1 -1
  30. package/box/Box.js +31 -79
  31. package/box/Box.stories.tsx +38 -51
  32. package/box/Box.test.js +13 -0
  33. package/box/types.d.ts +3 -14
  34. package/bulleted-list/BulletedList.d.ts +7 -0
  35. package/bulleted-list/BulletedList.js +99 -0
  36. package/bulleted-list/BulletedList.stories.tsx +116 -0
  37. package/bulleted-list/types.d.ts +38 -0
  38. package/button/Button.d.ts +1 -1
  39. package/button/Button.js +64 -120
  40. package/button/Button.stories.tsx +164 -96
  41. package/button/Button.test.js +36 -0
  42. package/button/types.d.ts +14 -14
  43. package/card/Card.d.ts +1 -1
  44. package/card/Card.js +59 -103
  45. package/card/Card.stories.tsx +13 -43
  46. package/card/Card.test.js +39 -0
  47. package/card/types.d.ts +6 -11
  48. package/checkbox/Checkbox.d.ts +2 -2
  49. package/checkbox/Checkbox.js +147 -180
  50. package/checkbox/Checkbox.stories.tsx +166 -136
  51. package/checkbox/Checkbox.test.js +199 -0
  52. package/checkbox/types.d.ts +19 -7
  53. package/chip/Chip.d.ts +4 -0
  54. package/chip/Chip.js +48 -148
  55. package/chip/Chip.stories.tsx +123 -30
  56. package/chip/Chip.test.js +41 -0
  57. package/chip/types.d.ts +45 -0
  58. package/chip/types.js +5 -0
  59. package/common/OpenSans.css +68 -80
  60. package/common/coreTokens.d.ts +146 -0
  61. package/common/coreTokens.js +166 -0
  62. package/common/utils.d.ts +1 -0
  63. package/common/utils.js +6 -12
  64. package/common/variables.d.ts +1499 -0
  65. package/common/variables.js +1119 -1325
  66. package/date-input/Calendar.d.ts +4 -0
  67. package/date-input/Calendar.js +214 -0
  68. package/date-input/DateInput.js +175 -313
  69. package/date-input/DateInput.stories.tsx +203 -56
  70. package/date-input/DateInput.test.js +808 -0
  71. package/date-input/DatePicker.d.ts +4 -0
  72. package/date-input/DatePicker.js +115 -0
  73. package/date-input/Icons.d.ts +6 -0
  74. package/date-input/Icons.js +58 -0
  75. package/date-input/YearPicker.d.ts +4 -0
  76. package/date-input/YearPicker.js +100 -0
  77. package/date-input/types.d.ts +86 -22
  78. package/dialog/Dialog.d.ts +1 -1
  79. package/dialog/Dialog.js +72 -130
  80. package/dialog/Dialog.stories.tsx +154 -171
  81. package/dialog/Dialog.test.js +307 -0
  82. package/dialog/types.d.ts +18 -25
  83. package/dropdown/Dropdown.d.ts +1 -1
  84. package/dropdown/Dropdown.js +245 -328
  85. package/dropdown/Dropdown.stories.tsx +438 -0
  86. package/dropdown/Dropdown.test.js +599 -0
  87. package/dropdown/DropdownMenu.d.ts +4 -0
  88. package/dropdown/DropdownMenu.js +63 -0
  89. package/dropdown/DropdownMenuItem.d.ts +4 -0
  90. package/dropdown/DropdownMenuItem.js +67 -0
  91. package/dropdown/types.d.ts +37 -28
  92. package/file-input/FileInput.d.ts +2 -2
  93. package/file-input/FileInput.js +236 -289
  94. package/file-input/FileInput.stories.tsx +618 -0
  95. package/file-input/FileInput.test.js +408 -0
  96. package/file-input/FileItem.d.ts +4 -14
  97. package/file-input/FileItem.js +53 -100
  98. package/file-input/types.d.ts +53 -11
  99. package/flex/Flex.d.ts +4 -0
  100. package/flex/Flex.js +57 -0
  101. package/flex/Flex.stories.tsx +112 -0
  102. package/flex/types.d.ts +97 -0
  103. package/flex/types.js +5 -0
  104. package/footer/Footer.d.ts +1 -1
  105. package/footer/Footer.js +61 -192
  106. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +38 -37
  107. package/footer/Footer.test.js +85 -0
  108. package/footer/Icons.d.ts +2 -0
  109. package/footer/Icons.js +4 -9
  110. package/footer/types.d.ts +36 -33
  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/grid/types.js +5 -0
  116. package/header/Header.d.ts +4 -3
  117. package/header/Header.js +106 -199
  118. package/header/Header.stories.tsx +152 -63
  119. package/header/Header.test.js +66 -0
  120. package/header/Icons.d.ts +2 -0
  121. package/header/Icons.js +4 -9
  122. package/header/types.d.ts +5 -20
  123. package/heading/Heading.js +11 -33
  124. package/heading/Heading.stories.tsx +3 -2
  125. package/heading/Heading.test.js +169 -0
  126. package/heading/types.d.ts +7 -7
  127. package/image/Image.d.ts +4 -0
  128. package/image/Image.js +70 -0
  129. package/image/Image.stories.tsx +127 -0
  130. package/image/types.d.ts +72 -0
  131. package/image/types.js +5 -0
  132. package/inset/Inset.d.ts +3 -0
  133. package/inset/Inset.js +43 -0
  134. package/inset/Inset.stories.tsx +230 -0
  135. package/inset/types.d.ts +37 -0
  136. package/inset/types.js +5 -0
  137. package/layout/ApplicationLayout.d.ts +20 -0
  138. package/layout/ApplicationLayout.js +83 -184
  139. package/layout/ApplicationLayout.stories.tsx +162 -0
  140. package/layout/Icons.d.ts +8 -0
  141. package/layout/Icons.js +51 -48
  142. package/layout/SidenavContext.d.ts +5 -0
  143. package/layout/SidenavContext.js +13 -0
  144. package/layout/types.d.ts +41 -0
  145. package/layout/types.js +5 -0
  146. package/link/Link.d.ts +3 -2
  147. package/link/Link.js +65 -111
  148. package/link/Link.stories.tsx +159 -52
  149. package/link/Link.test.js +63 -0
  150. package/link/types.d.ts +15 -35
  151. package/main.d.ts +15 -13
  152. package/main.js +68 -95
  153. package/nav-tabs/NavTabs.d.ts +8 -0
  154. package/nav-tabs/NavTabs.js +90 -0
  155. package/nav-tabs/NavTabs.stories.tsx +274 -0
  156. package/nav-tabs/NavTabs.test.js +75 -0
  157. package/nav-tabs/Tab.d.ts +4 -0
  158. package/nav-tabs/Tab.js +117 -0
  159. package/nav-tabs/types.d.ts +52 -0
  160. package/nav-tabs/types.js +5 -0
  161. package/number-input/NumberInput.d.ts +7 -0
  162. package/number-input/NumberInput.js +28 -47
  163. package/number-input/NumberInput.stories.tsx +44 -28
  164. package/number-input/NumberInput.test.js +830 -0
  165. package/number-input/types.d.ts +28 -15
  166. package/package.json +44 -43
  167. package/paginator/Icons.d.ts +5 -0
  168. package/paginator/Icons.js +21 -47
  169. package/paginator/Paginator.js +35 -95
  170. package/paginator/Paginator.stories.tsx +24 -0
  171. package/paginator/Paginator.test.js +335 -0
  172. package/paginator/types.d.ts +3 -3
  173. package/paragraph/Paragraph.d.ts +5 -0
  174. package/paragraph/Paragraph.js +27 -0
  175. package/paragraph/Paragraph.stories.tsx +27 -0
  176. package/password-input/Icons.d.ts +6 -0
  177. package/password-input/Icons.js +35 -0
  178. package/password-input/PasswordInput.js +60 -125
  179. package/password-input/PasswordInput.stories.tsx +3 -34
  180. package/password-input/PasswordInput.test.js +198 -0
  181. package/password-input/types.d.ts +32 -26
  182. package/progress-bar/ProgressBar.js +69 -89
  183. package/progress-bar/ProgressBar.stories.tsx +93 -0
  184. package/progress-bar/ProgressBar.test.js +93 -0
  185. package/progress-bar/types.d.ts +3 -3
  186. package/quick-nav/QuickNav.d.ts +4 -0
  187. package/quick-nav/QuickNav.js +94 -0
  188. package/quick-nav/QuickNav.stories.tsx +356 -0
  189. package/quick-nav/types.d.ts +21 -0
  190. package/quick-nav/types.js +5 -0
  191. package/radio-group/Radio.d.ts +4 -0
  192. package/radio-group/Radio.js +124 -0
  193. package/radio-group/RadioGroup.d.ts +4 -0
  194. package/radio-group/RadioGroup.js +235 -0
  195. package/radio-group/RadioGroup.stories.tsx +214 -0
  196. package/radio-group/RadioGroup.test.js +756 -0
  197. package/radio-group/types.d.ts +114 -0
  198. package/radio-group/types.js +5 -0
  199. package/resultset-table/Icons.d.ts +7 -0
  200. package/resultset-table/Icons.js +47 -0
  201. package/resultset-table/ResultsetTable.d.ts +4 -0
  202. package/resultset-table/ResultsetTable.js +159 -0
  203. package/resultset-table/ResultsetTable.stories.tsx +300 -0
  204. package/resultset-table/ResultsetTable.test.js +305 -0
  205. package/{resultsetTable → resultset-table}/types.d.ts +13 -9
  206. package/resultset-table/types.js +5 -0
  207. package/select/Icons.d.ts +10 -0
  208. package/select/Icons.js +89 -0
  209. package/select/Listbox.d.ts +4 -0
  210. package/select/Listbox.js +143 -0
  211. package/select/Option.d.ts +4 -0
  212. package/select/Option.js +80 -0
  213. package/select/Select.d.ts +4 -0
  214. package/select/Select.js +221 -504
  215. package/select/Select.stories.tsx +603 -204
  216. package/select/Select.test.js +2334 -0
  217. package/select/types.d.ts +209 -0
  218. package/select/types.js +5 -0
  219. package/sidenav/Icons.d.ts +7 -0
  220. package/sidenav/Icons.js +47 -0
  221. package/sidenav/Sidenav.d.ts +6 -5
  222. package/sidenav/Sidenav.js +135 -72
  223. package/sidenav/Sidenav.stories.tsx +251 -134
  224. package/sidenav/Sidenav.test.js +37 -0
  225. package/sidenav/types.d.ts +52 -26
  226. package/slider/Slider.d.ts +2 -2
  227. package/slider/Slider.js +147 -170
  228. package/slider/Slider.test.js +254 -0
  229. package/slider/types.d.ts +11 -3
  230. package/spinner/Spinner.js +30 -66
  231. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  232. package/spinner/Spinner.test.js +55 -0
  233. package/spinner/types.d.ts +3 -3
  234. package/switch/Switch.d.ts +2 -2
  235. package/switch/Switch.js +154 -114
  236. package/switch/Switch.stories.tsx +45 -68
  237. package/switch/Switch.test.js +180 -0
  238. package/switch/types.d.ts +13 -5
  239. package/table/Table.js +10 -29
  240. package/table/{Table.stories.jsx → Table.stories.tsx} +81 -1
  241. package/table/Table.test.js +21 -0
  242. package/table/types.d.ts +8 -8
  243. package/tabs/Tab.d.ts +4 -0
  244. package/tabs/Tab.js +113 -0
  245. package/tabs/Tabs.d.ts +1 -1
  246. package/tabs/Tabs.js +319 -147
  247. package/tabs/Tabs.stories.tsx +226 -0
  248. package/tabs/Tabs.test.js +294 -0
  249. package/tabs/types.d.ts +46 -24
  250. package/tag/Tag.d.ts +1 -1
  251. package/tag/Tag.js +44 -86
  252. package/tag/Tag.stories.tsx +38 -28
  253. package/tag/Tag.test.js +49 -0
  254. package/tag/types.d.ts +25 -16
  255. package/text-input/Icons.d.ts +8 -0
  256. package/text-input/Icons.js +56 -0
  257. package/text-input/Suggestion.d.ts +4 -0
  258. package/text-input/Suggestion.js +67 -0
  259. package/text-input/Suggestions.d.ts +4 -0
  260. package/text-input/Suggestions.js +89 -0
  261. package/text-input/TextInput.js +310 -503
  262. package/text-input/TextInput.stories.tsx +465 -0
  263. package/text-input/TextInput.test.js +1739 -0
  264. package/text-input/types.d.ts +82 -34
  265. package/textarea/Textarea.d.ts +4 -0
  266. package/textarea/Textarea.js +94 -171
  267. package/textarea/Textarea.stories.tsx +175 -0
  268. package/textarea/Textarea.test.js +406 -0
  269. package/textarea/types.d.ts +141 -0
  270. package/textarea/types.js +5 -0
  271. package/toggle-group/ToggleGroup.d.ts +4 -0
  272. package/toggle-group/ToggleGroup.js +103 -142
  273. package/toggle-group/ToggleGroup.stories.tsx +76 -36
  274. package/toggle-group/ToggleGroup.test.js +137 -0
  275. package/toggle-group/types.d.ts +114 -0
  276. package/toggle-group/types.js +5 -0
  277. package/typography/Typography.d.ts +4 -0
  278. package/typography/Typography.js +23 -0
  279. package/typography/Typography.stories.tsx +198 -0
  280. package/typography/types.d.ts +18 -0
  281. package/typography/types.js +5 -0
  282. package/useTheme.d.ts +1252 -0
  283. package/useTheme.js +4 -11
  284. package/useTranslatedLabels.d.ts +85 -0
  285. package/useTranslatedLabels.js +14 -0
  286. package/utils/BaseTypography.d.ts +21 -0
  287. package/utils/BaseTypography.js +94 -0
  288. package/utils/FocusLock.d.ts +13 -0
  289. package/utils/FocusLock.js +114 -0
  290. package/wizard/Wizard.d.ts +1 -1
  291. package/wizard/Wizard.js +123 -104
  292. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  293. package/wizard/Wizard.test.js +114 -0
  294. package/wizard/types.d.ts +14 -14
  295. package/ThemeContext.js +0 -246
  296. package/V3Select/V3Select.js +0 -455
  297. package/V3Select/index.d.ts +0 -27
  298. package/V3Textarea/V3Textarea.js +0 -260
  299. package/V3Textarea/index.d.ts +0 -27
  300. package/card/ice-cream.jpg +0 -0
  301. package/chip/index.d.ts +0 -22
  302. package/common/RequiredComponent.js +0 -32
  303. package/date/Date.js +0 -373
  304. package/date/index.d.ts +0 -27
  305. package/input-text/Icons.js +0 -22
  306. package/input-text/InputText.js +0 -611
  307. package/input-text/index.d.ts +0 -36
  308. package/number-input/NumberInputContext.d.ts +0 -4
  309. package/number-input/NumberInputContext.js +0 -19
  310. package/number-input/numberInputContextTypes.d.ts +0 -19
  311. package/progress-bar/ProgressBar.stories.jsx +0 -58
  312. package/radio/Radio.d.ts +0 -4
  313. package/radio/Radio.js +0 -174
  314. package/radio/Radio.stories.tsx +0 -192
  315. package/radio/types.d.ts +0 -54
  316. package/resultsetTable/ResultsetTable.d.ts +0 -4
  317. package/resultsetTable/ResultsetTable.js +0 -249
  318. package/select/index.d.ts +0 -131
  319. package/slider/Slider.stories.tsx +0 -177
  320. package/textarea/Textarea.stories.jsx +0 -135
  321. package/textarea/index.d.ts +0 -117
  322. package/toggle/Toggle.js +0 -186
  323. package/toggle/index.d.ts +0 -21
  324. package/toggle-group/index.d.ts +0 -21
  325. package/upload/Upload.js +0 -201
  326. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  327. package/upload/buttons-upload/Icons.js +0 -40
  328. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  329. package/upload/dragAndDropArea/Icons.js +0 -39
  330. package/upload/file-upload/FileToUpload.js +0 -115
  331. package/upload/file-upload/Icons.js +0 -66
  332. package/upload/files-upload/FilesToUpload.js +0 -109
  333. package/upload/index.d.ts +0 -15
  334. package/upload/transaction/Icons.js +0 -160
  335. package/upload/transaction/Transaction.js +0 -104
  336. package/upload/transactions/Transactions.js +0 -94
  337. package/wizard/Icons.js +0 -65
  338. /package/{radio → badge}/types.js +0 -0
  339. /package/{resultsetTable → bleed}/types.js +0 -0
  340. /package/{number-input/numberInputContextTypes.js → bulleted-list/types.js} +0 -0
@@ -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,51 +1,43 @@
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> | React.FunctionComponent<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
  */
14
15
  label?: string;
15
16
  /**
16
- * Element used as the icon that will be placed next to the
17
+ * Element or path used as the icon that will be placed next to the
17
18
  * option label.
18
19
  */
19
- icon?: SVG;
20
- /**
21
- * @deprecated URL of the icon that will be placed next to the option label.
22
- */
23
- iconSrc?: string;
20
+ icon?: string | SVG;
24
21
  /**
25
22
  * Option inner value.
26
23
  */
27
24
  value: string;
28
25
  };
29
- declare type Props = {
26
+ type Props = {
30
27
  /**
31
28
  * An array of objects representing the options.
32
29
  */
33
- options: [Option, ...Option[]];
30
+ options: Option[];
34
31
  /**
35
32
  * In case options include icons, whether the icon should appear
36
33
  * after or before the label.
37
34
  */
38
35
  optionsIconPosition?: "before" | "after";
39
36
  /**
40
- * Element used as the icon that will be placed next to the
41
- * dropdown label.
42
- */
43
- icon?: SVG;
44
- /**
45
- * @deprecated URL of the icon that will be placed next to the
37
+ * Element or path used as the icon that will be placed next to the
46
38
  * dropdown label.
47
39
  */
48
- iconSrc?: string;
40
+ icon?: string | SVG;
49
41
  /**
50
42
  * Whether the icon should appear after or before the label.
51
43
  */
@@ -59,14 +51,18 @@ declare type Props = {
59
51
  */
60
52
  caretHidden?: boolean;
61
53
  /**
62
- * This function will be called every time the selection changes.
63
- * The value of the selected option will be passed as a parameter.
54
+ * If true, the component will be disabled.
64
55
  */
65
- onSelectOption: (value: string) => void;
56
+ disabled?: boolean;
66
57
  /**
67
58
  * If true, the options are showed when the dropdown is hover.
68
59
  */
69
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;
70
66
  /**
71
67
  * Size of the margin to be applied to the component.
72
68
  * You can pass an object with 'top', 'bottom', 'left' and 'right'
@@ -76,14 +72,27 @@ declare type Props = {
76
72
  /**
77
73
  * Size of the component.
78
74
  */
79
- size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
75
+ size?: Size;
80
76
  /**
81
- * Value of the tabindex.
77
+ * Value of the tabindex attribute.
82
78
  */
83
79
  tabIndex?: number;
84
- /**
85
- * If true, the component will be disabled.
86
- */
87
- 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;
88
97
  };
89
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, 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;