@dxc-technology/halstack-react 0.0.0-11b4a77 → 0.0.0-11fed82

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 (289) hide show
  1. package/BackgroundColorContext.d.ts +3 -3
  2. package/BackgroundColorContext.js +6 -18
  3. package/HalstackContext.d.ts +1347 -6
  4. package/HalstackContext.js +125 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -157
  8. package/accordion/Accordion.stories.tsx +101 -125
  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 +30 -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 +19 -55
  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.js +4 -17
  23. package/badge/types.d.ts +1 -1
  24. package/bleed/Bleed.js +13 -21
  25. package/bleed/Bleed.stories.tsx +1 -0
  26. package/bleed/types.d.ts +2 -2
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +18 -56
  29. package/box/Box.stories.tsx +38 -51
  30. package/box/Box.test.js +2 -7
  31. package/box/types.d.ts +3 -14
  32. package/bulleted-list/BulletedList.js +25 -46
  33. package/bulleted-list/BulletedList.stories.tsx +8 -92
  34. package/bulleted-list/types.d.ts +32 -5
  35. package/button/Button.d.ts +1 -1
  36. package/button/Button.js +61 -114
  37. package/button/Button.stories.tsx +160 -90
  38. package/button/Button.test.js +18 -17
  39. package/button/types.d.ts +12 -8
  40. package/card/Card.d.ts +1 -1
  41. package/card/Card.js +48 -89
  42. package/card/Card.stories.tsx +12 -42
  43. package/card/Card.test.js +11 -22
  44. package/card/types.d.ts +6 -11
  45. package/checkbox/Checkbox.d.ts +2 -2
  46. package/checkbox/Checkbox.js +141 -178
  47. package/checkbox/Checkbox.stories.tsx +128 -94
  48. package/checkbox/Checkbox.test.js +160 -39
  49. package/checkbox/types.d.ts +11 -3
  50. package/chip/Chip.js +39 -79
  51. package/chip/Chip.stories.tsx +121 -26
  52. package/chip/Chip.test.js +16 -31
  53. package/chip/types.d.ts +4 -4
  54. package/common/OpenSans.css +68 -80
  55. package/common/coreTokens.d.ts +237 -0
  56. package/common/coreTokens.js +184 -0
  57. package/common/utils.d.ts +1 -0
  58. package/common/utils.js +6 -12
  59. package/common/variables.d.ts +1499 -0
  60. package/common/variables.js +1019 -1134
  61. package/container/Container.d.ts +4 -0
  62. package/container/Container.js +187 -0
  63. package/container/Container.stories.tsx +214 -0
  64. package/container/types.d.ts +74 -0
  65. package/date-input/Calendar.d.ts +4 -0
  66. package/date-input/Calendar.js +214 -0
  67. package/date-input/DateInput.js +150 -299
  68. package/date-input/DateInput.stories.tsx +203 -56
  69. package/date-input/DateInput.test.js +700 -371
  70. package/date-input/DatePicker.d.ts +4 -0
  71. package/date-input/DatePicker.js +115 -0
  72. package/date-input/Icons.d.ts +6 -0
  73. package/date-input/Icons.js +58 -0
  74. package/date-input/YearPicker.d.ts +4 -0
  75. package/date-input/YearPicker.js +100 -0
  76. package/date-input/types.d.ts +72 -15
  77. package/dialog/Dialog.d.ts +1 -1
  78. package/dialog/Dialog.js +75 -106
  79. package/dialog/Dialog.stories.tsx +154 -171
  80. package/dialog/Dialog.test.js +287 -20
  81. package/dialog/types.d.ts +18 -25
  82. package/dropdown/Dropdown.d.ts +1 -1
  83. package/dropdown/Dropdown.js +243 -300
  84. package/dropdown/Dropdown.stories.tsx +245 -56
  85. package/dropdown/Dropdown.test.js +575 -165
  86. package/dropdown/DropdownMenu.d.ts +4 -0
  87. package/dropdown/DropdownMenu.js +63 -0
  88. package/dropdown/DropdownMenuItem.d.ts +4 -0
  89. package/dropdown/DropdownMenuItem.js +67 -0
  90. package/dropdown/types.d.ts +32 -14
  91. package/file-input/FileInput.d.ts +2 -2
  92. package/file-input/FileInput.js +241 -355
  93. package/file-input/FileInput.stories.tsx +123 -12
  94. package/file-input/FileInput.test.js +369 -367
  95. package/file-input/FileItem.d.ts +4 -14
  96. package/file-input/FileItem.js +45 -96
  97. package/file-input/types.d.ts +25 -8
  98. package/flex/Flex.d.ts +2 -1
  99. package/flex/Flex.js +45 -62
  100. package/flex/Flex.stories.tsx +35 -26
  101. package/flex/types.d.ts +86 -10
  102. package/footer/Footer.d.ts +1 -1
  103. package/footer/Footer.js +51 -101
  104. package/footer/Footer.stories.tsx +41 -19
  105. package/footer/Footer.test.js +33 -57
  106. package/footer/Icons.d.ts +2 -2
  107. package/footer/Icons.js +2 -7
  108. package/footer/types.d.ts +21 -22
  109. package/grid/Grid.d.ts +7 -0
  110. package/grid/Grid.js +76 -0
  111. package/grid/Grid.stories.tsx +219 -0
  112. package/grid/types.d.ts +115 -0
  113. package/header/Header.d.ts +4 -3
  114. package/header/Header.js +90 -162
  115. package/header/Header.stories.tsx +118 -39
  116. package/header/Header.test.js +13 -26
  117. package/header/Icons.d.ts +2 -2
  118. package/header/Icons.js +4 -9
  119. package/header/types.d.ts +5 -20
  120. package/heading/Heading.js +10 -32
  121. package/heading/Heading.test.js +71 -88
  122. package/heading/types.d.ts +7 -7
  123. package/image/Image.d.ts +4 -0
  124. package/image/Image.js +70 -0
  125. package/image/Image.stories.tsx +127 -0
  126. package/image/types.d.ts +72 -0
  127. package/inset/Inset.js +13 -21
  128. package/inset/Inset.stories.tsx +2 -1
  129. package/inset/types.d.ts +2 -2
  130. package/layout/ApplicationLayout.d.ts +15 -6
  131. package/layout/ApplicationLayout.js +44 -96
  132. package/layout/ApplicationLayout.stories.tsx +81 -45
  133. package/layout/Icons.d.ts +8 -5
  134. package/layout/Icons.js +51 -59
  135. package/layout/SidenavContext.d.ts +1 -1
  136. package/layout/SidenavContext.js +3 -9
  137. package/layout/types.d.ts +21 -32
  138. package/link/Link.js +25 -46
  139. package/link/Link.stories.tsx +72 -5
  140. package/link/Link.test.js +24 -44
  141. package/link/types.d.ts +14 -14
  142. package/main.d.ts +6 -8
  143. package/main.js +19 -85
  144. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  145. package/{tabs-nav → nav-tabs}/NavTabs.js +22 -57
  146. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +111 -7
  147. package/{tabs-nav → nav-tabs}/NavTabs.test.js +37 -44
  148. package/nav-tabs/Tab.js +117 -0
  149. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  150. package/number-input/NumberInput.d.ts +7 -0
  151. package/number-input/NumberInput.js +26 -35
  152. package/number-input/NumberInput.stories.tsx +42 -26
  153. package/number-input/NumberInput.test.js +701 -377
  154. package/number-input/types.d.ts +11 -5
  155. package/package.json +42 -45
  156. package/paginator/Icons.d.ts +5 -0
  157. package/paginator/Icons.js +21 -47
  158. package/paginator/Paginator.js +22 -55
  159. package/paginator/Paginator.stories.tsx +24 -0
  160. package/paginator/Paginator.test.js +253 -226
  161. package/paginator/types.d.ts +3 -3
  162. package/paragraph/Paragraph.d.ts +3 -4
  163. package/paragraph/Paragraph.js +6 -17
  164. package/paragraph/Paragraph.stories.tsx +0 -17
  165. package/password-input/Icons.d.ts +6 -0
  166. package/password-input/Icons.js +35 -0
  167. package/password-input/PasswordInput.js +57 -126
  168. package/password-input/PasswordInput.stories.tsx +1 -32
  169. package/password-input/PasswordInput.test.js +160 -142
  170. package/password-input/types.d.ts +8 -7
  171. package/progress-bar/ProgressBar.js +67 -87
  172. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  173. package/progress-bar/ProgressBar.test.js +72 -44
  174. package/progress-bar/types.d.ts +3 -3
  175. package/quick-nav/QuickNav.js +15 -39
  176. package/quick-nav/QuickNav.stories.tsx +112 -20
  177. package/quick-nav/types.d.ts +10 -10
  178. package/radio-group/Radio.d.ts +1 -1
  179. package/radio-group/Radio.js +59 -76
  180. package/radio-group/RadioGroup.js +68 -116
  181. package/radio-group/RadioGroup.stories.tsx +132 -18
  182. package/radio-group/RadioGroup.test.js +518 -457
  183. package/radio-group/types.d.ts +10 -10
  184. package/resultset-table/Icons.d.ts +7 -0
  185. package/resultset-table/Icons.js +47 -0
  186. package/resultset-table/ResultsetTable.js +159 -0
  187. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  188. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +101 -144
  189. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  190. package/select/Icons.d.ts +7 -7
  191. package/select/Icons.js +1 -5
  192. package/select/Listbox.js +17 -49
  193. package/select/Option.js +20 -50
  194. package/select/Select.js +105 -183
  195. package/select/Select.stories.tsx +497 -152
  196. package/select/Select.test.js +1930 -1758
  197. package/select/types.d.ts +16 -19
  198. package/sidenav/Icons.d.ts +7 -0
  199. package/sidenav/Icons.js +47 -0
  200. package/sidenav/Sidenav.d.ts +6 -5
  201. package/sidenav/Sidenav.js +129 -77
  202. package/sidenav/Sidenav.stories.tsx +251 -151
  203. package/sidenav/Sidenav.test.js +26 -45
  204. package/sidenav/types.d.ts +52 -26
  205. package/slider/Slider.d.ts +2 -2
  206. package/slider/Slider.js +144 -168
  207. package/slider/Slider.test.js +185 -81
  208. package/slider/types.d.ts +7 -3
  209. package/spinner/Spinner.js +27 -63
  210. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  211. package/spinner/Spinner.test.js +26 -35
  212. package/spinner/types.d.ts +3 -3
  213. package/switch/Switch.d.ts +2 -2
  214. package/switch/Switch.js +148 -124
  215. package/switch/Switch.stories.tsx +37 -60
  216. package/switch/Switch.test.js +138 -56
  217. package/switch/types.d.ts +7 -3
  218. package/table/Table.js +7 -26
  219. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  220. package/table/Table.test.js +3 -8
  221. package/table/types.d.ts +8 -8
  222. package/tabs/Tab.d.ts +4 -0
  223. package/tabs/Tab.js +113 -0
  224. package/tabs/Tabs.js +315 -141
  225. package/tabs/Tabs.stories.tsx +119 -5
  226. package/tabs/Tabs.test.js +223 -69
  227. package/tabs/types.d.ts +28 -18
  228. package/tag/Tag.js +29 -61
  229. package/tag/Tag.stories.tsx +14 -1
  230. package/tag/Tag.test.js +20 -31
  231. package/tag/types.d.ts +7 -7
  232. package/text-input/Icons.d.ts +8 -0
  233. package/text-input/Icons.js +56 -0
  234. package/text-input/Suggestion.js +40 -28
  235. package/text-input/Suggestions.d.ts +4 -0
  236. package/text-input/Suggestions.js +89 -0
  237. package/text-input/TextInput.js +280 -458
  238. package/text-input/TextInput.stories.tsx +266 -275
  239. package/text-input/TextInput.test.js +1402 -1375
  240. package/text-input/types.d.ts +43 -16
  241. package/textarea/Textarea.js +63 -100
  242. package/textarea/Textarea.stories.tsx +175 -0
  243. package/textarea/Textarea.test.js +152 -183
  244. package/textarea/types.d.ts +9 -5
  245. package/toggle-group/ToggleGroup.d.ts +2 -2
  246. package/toggle-group/ToggleGroup.js +95 -106
  247. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  248. package/toggle-group/ToggleGroup.test.js +69 -88
  249. package/toggle-group/types.d.ts +26 -17
  250. package/typography/Typography.d.ts +2 -2
  251. package/typography/Typography.js +15 -123
  252. package/typography/Typography.stories.tsx +1 -1
  253. package/typography/types.d.ts +1 -1
  254. package/useTheme.d.ts +1251 -1
  255. package/useTheme.js +2 -9
  256. package/useTranslatedLabels.d.ts +84 -1
  257. package/useTranslatedLabels.js +1 -7
  258. package/utils/BaseTypography.d.ts +21 -0
  259. package/utils/BaseTypography.js +94 -0
  260. package/utils/FocusLock.d.ts +13 -0
  261. package/utils/FocusLock.js +114 -0
  262. package/wizard/Wizard.js +24 -66
  263. package/wizard/Wizard.stories.tsx +40 -1
  264. package/wizard/Wizard.test.js +54 -81
  265. package/wizard/types.d.ts +7 -7
  266. package/card/ice-cream.jpg +0 -0
  267. package/common/RequiredComponent.js +0 -32
  268. package/number-input/NumberInputContext.d.ts +0 -4
  269. package/number-input/NumberInputContext.js +0 -19
  270. package/number-input/numberInputContextTypes.d.ts +0 -19
  271. package/resultsetTable/ResultsetTable.js +0 -254
  272. package/row/Row.d.ts +0 -3
  273. package/row/Row.js +0 -127
  274. package/row/Row.stories.tsx +0 -237
  275. package/row/types.d.ts +0 -28
  276. package/slider/Slider.stories.tsx +0 -177
  277. package/stack/Stack.d.ts +0 -4
  278. package/stack/Stack.js +0 -56
  279. package/stack/Stack.stories.tsx +0 -263
  280. package/stack/types.d.ts +0 -32
  281. package/tabs-nav/Tab.js +0 -132
  282. package/textarea/Textarea.stories.jsx +0 -157
  283. /package/{resultsetTable → container}/types.js +0 -0
  284. /package/{row → grid}/types.js +0 -0
  285. /package/{stack → image}/types.js +0 -0
  286. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  287. /package/{tabs-nav → nav-tabs}/types.js +0 -0
  288. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  289. /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +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;