@dxc-technology/halstack-react 0.0.0-b50ba80 → 0.0.0-b5ec444

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1245 -6
  4. package/HalstackContext.js +181 -114
  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 +102 -126
  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/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -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 +23 -59
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +141 -41
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -2
  32. package/bleed/Bleed.js +14 -55
  33. package/bleed/Bleed.stories.tsx +95 -95
  34. package/bleed/types.d.ts +2 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +30 -81
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -14
  40. package/bulleted-list/BulletedList.d.ts +7 -0
  41. package/bulleted-list/BulletedList.js +89 -0
  42. package/bulleted-list/BulletedList.stories.tsx +115 -0
  43. package/bulleted-list/types.d.ts +38 -0
  44. package/button/Button.d.ts +1 -1
  45. package/button/Button.js +63 -117
  46. package/button/Button.stories.tsx +160 -90
  47. package/button/Button.test.js +20 -17
  48. package/button/types.d.ts +12 -8
  49. package/card/Card.d.ts +1 -1
  50. package/card/Card.js +64 -107
  51. package/card/Card.stories.tsx +12 -42
  52. package/card/Card.test.js +11 -22
  53. package/card/types.d.ts +6 -11
  54. package/checkbox/Checkbox.d.ts +2 -2
  55. package/checkbox/Checkbox.js +142 -181
  56. package/checkbox/Checkbox.stories.tsx +128 -94
  57. package/checkbox/Checkbox.test.js +160 -39
  58. package/checkbox/types.d.ts +11 -3
  59. package/chip/Chip.js +39 -79
  60. package/chip/Chip.stories.tsx +121 -26
  61. package/chip/Chip.test.js +16 -31
  62. package/chip/types.d.ts +4 -4
  63. package/common/OpenSans.css +68 -80
  64. package/common/coreTokens.d.ts +237 -0
  65. package/common/coreTokens.js +184 -0
  66. package/common/utils.d.ts +1 -0
  67. package/common/utils.js +6 -12
  68. package/common/variables.d.ts +1395 -0
  69. package/common/variables.js +1025 -1134
  70. package/container/Container.d.ts +4 -0
  71. package/container/Container.js +194 -0
  72. package/container/Container.stories.tsx +214 -0
  73. package/container/types.d.ts +74 -0
  74. package/date-input/Calendar.d.ts +4 -0
  75. package/date-input/Calendar.js +214 -0
  76. package/date-input/DateInput.js +152 -298
  77. package/date-input/DateInput.stories.tsx +203 -56
  78. package/date-input/DateInput.test.js +700 -371
  79. package/date-input/DatePicker.d.ts +4 -0
  80. package/date-input/DatePicker.js +115 -0
  81. package/date-input/Icons.d.ts +6 -0
  82. package/date-input/Icons.js +58 -0
  83. package/date-input/YearPicker.d.ts +4 -0
  84. package/date-input/YearPicker.js +100 -0
  85. package/date-input/types.d.ts +72 -15
  86. package/dialog/Dialog.d.ts +1 -1
  87. package/dialog/Dialog.js +73 -107
  88. package/dialog/Dialog.stories.tsx +320 -167
  89. package/dialog/Dialog.test.js +287 -20
  90. package/dialog/types.d.ts +18 -25
  91. package/dropdown/Dropdown.d.ts +1 -1
  92. package/dropdown/Dropdown.js +248 -303
  93. package/dropdown/Dropdown.stories.tsx +245 -56
  94. package/dropdown/Dropdown.test.js +575 -165
  95. package/dropdown/DropdownMenu.d.ts +4 -0
  96. package/dropdown/DropdownMenu.js +63 -0
  97. package/dropdown/DropdownMenuItem.d.ts +4 -0
  98. package/dropdown/DropdownMenuItem.js +67 -0
  99. package/dropdown/types.d.ts +32 -14
  100. package/file-input/FileInput.d.ts +2 -2
  101. package/file-input/FileInput.js +246 -357
  102. package/file-input/FileInput.stories.tsx +123 -12
  103. package/file-input/FileInput.test.js +369 -367
  104. package/file-input/FileItem.d.ts +4 -14
  105. package/file-input/FileItem.js +45 -96
  106. package/file-input/types.d.ts +25 -8
  107. package/flex/Flex.d.ts +4 -0
  108. package/flex/Flex.js +57 -0
  109. package/flex/Flex.stories.tsx +112 -0
  110. package/flex/types.d.ts +97 -0
  111. package/footer/Footer.d.ts +1 -1
  112. package/footer/Footer.js +72 -117
  113. package/footer/Footer.stories.tsx +60 -19
  114. package/footer/Footer.test.js +33 -57
  115. package/footer/Icons.d.ts +3 -2
  116. package/footer/Icons.js +67 -8
  117. package/footer/types.d.ts +25 -26
  118. package/grid/Grid.d.ts +7 -0
  119. package/grid/Grid.js +76 -0
  120. package/grid/Grid.stories.tsx +219 -0
  121. package/grid/types.d.ts +115 -0
  122. package/header/Header.d.ts +4 -3
  123. package/header/Header.js +90 -170
  124. package/header/Header.stories.tsx +118 -39
  125. package/header/Header.test.js +13 -26
  126. package/header/Icons.d.ts +2 -2
  127. package/header/Icons.js +4 -9
  128. package/header/types.d.ts +5 -19
  129. package/heading/Heading.js +10 -32
  130. package/heading/Heading.test.js +71 -88
  131. package/heading/types.d.ts +7 -7
  132. package/image/Image.d.ts +4 -0
  133. package/image/Image.js +70 -0
  134. package/image/Image.stories.tsx +127 -0
  135. package/image/types.d.ts +72 -0
  136. package/inset/Inset.js +14 -55
  137. package/inset/Inset.stories.tsx +37 -36
  138. package/inset/types.d.ts +2 -2
  139. package/layout/ApplicationLayout.d.ts +16 -6
  140. package/layout/ApplicationLayout.js +82 -166
  141. package/layout/ApplicationLayout.stories.tsx +85 -94
  142. package/layout/Icons.d.ts +8 -0
  143. package/layout/Icons.js +51 -48
  144. package/layout/SidenavContext.d.ts +5 -0
  145. package/layout/SidenavContext.js +13 -0
  146. package/layout/types.d.ts +19 -35
  147. package/link/Link.d.ts +2 -2
  148. package/link/Link.js +42 -89
  149. package/link/Link.stories.tsx +73 -6
  150. package/link/Link.test.js +24 -44
  151. package/link/types.d.ts +14 -15
  152. package/main.d.ts +13 -13
  153. package/main.js +57 -101
  154. package/nav-tabs/NavTabs.d.ts +8 -0
  155. package/nav-tabs/NavTabs.js +93 -0
  156. package/nav-tabs/NavTabs.stories.tsx +276 -0
  157. package/nav-tabs/NavTabs.test.js +76 -0
  158. package/nav-tabs/Tab.d.ts +4 -0
  159. package/nav-tabs/Tab.js +118 -0
  160. package/nav-tabs/types.d.ts +52 -0
  161. package/nav-tabs/types.js +5 -0
  162. package/number-input/NumberInput.d.ts +7 -0
  163. package/number-input/NumberInput.js +47 -37
  164. package/number-input/NumberInput.stories.tsx +42 -26
  165. package/number-input/NumberInput.test.js +860 -377
  166. package/number-input/types.d.ts +11 -5
  167. package/package.json +43 -45
  168. package/paginator/Icons.d.ts +5 -0
  169. package/paginator/Icons.js +21 -47
  170. package/paginator/Paginator.js +34 -91
  171. package/paginator/Paginator.stories.tsx +24 -0
  172. package/paginator/Paginator.test.js +280 -211
  173. package/paginator/types.d.ts +3 -3
  174. package/paragraph/Paragraph.d.ts +5 -0
  175. package/paragraph/Paragraph.js +22 -0
  176. package/paragraph/Paragraph.stories.tsx +27 -0
  177. package/password-input/Icons.d.ts +6 -0
  178. package/password-input/Icons.js +35 -0
  179. package/password-input/PasswordInput.js +57 -123
  180. package/password-input/PasswordInput.stories.tsx +1 -33
  181. package/password-input/PasswordInput.test.js +160 -143
  182. package/password-input/types.d.ts +8 -7
  183. package/progress-bar/ProgressBar.js +65 -91
  184. package/progress-bar/ProgressBar.stories.tsx +93 -0
  185. package/progress-bar/ProgressBar.test.js +72 -44
  186. package/progress-bar/types.d.ts +3 -3
  187. package/quick-nav/QuickNav.js +71 -44
  188. package/quick-nav/QuickNav.stories.tsx +146 -27
  189. package/quick-nav/types.d.ts +10 -10
  190. package/radio-group/Radio.d.ts +1 -1
  191. package/radio-group/Radio.js +59 -76
  192. package/radio-group/RadioGroup.js +71 -116
  193. package/radio-group/RadioGroup.stories.tsx +132 -18
  194. package/radio-group/RadioGroup.test.js +518 -457
  195. package/radio-group/types.d.ts +10 -10
  196. package/resultset-table/Icons.d.ts +7 -0
  197. package/resultset-table/Icons.js +47 -0
  198. package/resultset-table/ResultsetTable.d.ts +7 -0
  199. package/resultset-table/ResultsetTable.js +167 -0
  200. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +152 -30
  201. package/resultset-table/ResultsetTable.test.js +371 -0
  202. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  203. package/resultset-table/types.js +5 -0
  204. package/select/Icons.d.ts +7 -7
  205. package/select/Icons.js +1 -5
  206. package/select/Listbox.d.ts +1 -1
  207. package/select/Listbox.js +45 -51
  208. package/select/Option.js +27 -50
  209. package/select/Select.js +181 -246
  210. package/select/Select.stories.tsx +525 -136
  211. package/select/Select.test.js +2009 -1696
  212. package/select/types.d.ts +16 -20
  213. package/sidenav/Icons.d.ts +7 -0
  214. package/sidenav/Icons.js +47 -0
  215. package/sidenav/Sidenav.d.ts +6 -5
  216. package/sidenav/Sidenav.js +131 -71
  217. package/sidenav/Sidenav.stories.tsx +251 -151
  218. package/sidenav/Sidenav.test.js +26 -45
  219. package/sidenav/types.d.ts +52 -26
  220. package/slider/Slider.d.ts +2 -2
  221. package/slider/Slider.js +148 -181
  222. package/slider/Slider.test.js +185 -81
  223. package/slider/types.d.ts +7 -3
  224. package/spinner/Spinner.js +31 -75
  225. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  226. package/spinner/Spinner.test.js +26 -35
  227. package/spinner/types.d.ts +3 -3
  228. package/status-light/StatusLight.d.ts +4 -0
  229. package/status-light/StatusLight.js +51 -0
  230. package/status-light/StatusLight.stories.tsx +74 -0
  231. package/status-light/StatusLight.test.js +25 -0
  232. package/status-light/types.d.ts +17 -0
  233. package/status-light/types.js +5 -0
  234. package/switch/Switch.d.ts +2 -2
  235. package/switch/Switch.js +147 -125
  236. package/switch/Switch.stories.tsx +37 -60
  237. package/switch/Switch.test.js +138 -56
  238. package/switch/types.d.ts +7 -3
  239. package/table/ActionsCell.d.ts +4 -0
  240. package/table/ActionsCell.js +68 -0
  241. package/table/DropdownTheme.js +62 -0
  242. package/table/Table.d.ts +4 -1
  243. package/table/Table.js +26 -32
  244. package/table/Table.stories.tsx +658 -0
  245. package/table/Table.test.js +95 -8
  246. package/table/types.d.ts +45 -6
  247. package/tabs/Tab.d.ts +4 -0
  248. package/tabs/Tab.js +116 -0
  249. package/tabs/Tabs.js +314 -141
  250. package/tabs/Tabs.stories.tsx +120 -6
  251. package/tabs/Tabs.test.js +223 -69
  252. package/tabs/types.d.ts +28 -18
  253. package/tag/Tag.js +29 -61
  254. package/tag/Tag.stories.tsx +14 -1
  255. package/tag/Tag.test.js +20 -31
  256. package/tag/types.d.ts +7 -7
  257. package/text-input/Icons.d.ts +8 -0
  258. package/text-input/Icons.js +56 -0
  259. package/text-input/Suggestion.js +40 -28
  260. package/text-input/Suggestions.d.ts +4 -0
  261. package/text-input/Suggestions.js +84 -0
  262. package/text-input/TextInput.js +318 -524
  263. package/text-input/TextInput.stories.tsx +266 -275
  264. package/text-input/TextInput.test.js +1419 -1375
  265. package/text-input/types.d.ts +43 -16
  266. package/textarea/Textarea.js +79 -131
  267. package/textarea/Textarea.stories.tsx +174 -0
  268. package/textarea/Textarea.test.js +152 -183
  269. package/textarea/types.d.ts +9 -5
  270. package/toggle-group/ToggleGroup.d.ts +2 -2
  271. package/toggle-group/ToggleGroup.js +92 -106
  272. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  273. package/toggle-group/ToggleGroup.test.js +69 -88
  274. package/toggle-group/types.d.ts +26 -17
  275. package/typography/Typography.d.ts +4 -0
  276. package/typography/Typography.js +23 -0
  277. package/typography/Typography.stories.tsx +198 -0
  278. package/typography/types.d.ts +18 -0
  279. package/typography/types.js +5 -0
  280. package/useTheme.d.ts +1147 -1
  281. package/useTheme.js +2 -9
  282. package/useTranslatedLabels.d.ts +85 -0
  283. package/useTranslatedLabels.js +14 -0
  284. package/utils/BaseTypography.d.ts +21 -0
  285. package/utils/BaseTypography.js +94 -0
  286. package/utils/FocusLock.d.ts +13 -0
  287. package/utils/FocusLock.js +124 -0
  288. package/wizard/Wizard.js +51 -91
  289. package/wizard/Wizard.stories.tsx +40 -1
  290. package/wizard/Wizard.test.js +54 -81
  291. package/wizard/types.d.ts +7 -7
  292. package/card/ice-cream.jpg +0 -0
  293. package/common/RequiredComponent.js +0 -32
  294. package/list/List.d.ts +0 -4
  295. package/list/List.js +0 -47
  296. package/list/List.stories.tsx +0 -95
  297. package/list/types.d.ts +0 -7
  298. package/number-input/NumberInputContext.d.ts +0 -4
  299. package/number-input/NumberInputContext.js +0 -19
  300. package/number-input/numberInputContextTypes.d.ts +0 -19
  301. package/progress-bar/ProgressBar.stories.jsx +0 -58
  302. package/radio/Radio.d.ts +0 -4
  303. package/radio/Radio.js +0 -173
  304. package/radio/Radio.stories.tsx +0 -192
  305. package/radio/Radio.test.js +0 -71
  306. package/radio/types.d.ts +0 -54
  307. package/resultsetTable/ResultsetTable.d.ts +0 -4
  308. package/resultsetTable/ResultsetTable.js +0 -254
  309. package/resultsetTable/ResultsetTable.test.js +0 -306
  310. package/row/Row.d.ts +0 -3
  311. package/row/Row.js +0 -127
  312. package/row/Row.stories.tsx +0 -237
  313. package/row/types.d.ts +0 -28
  314. package/slider/Slider.stories.tsx +0 -177
  315. package/stack/Stack.d.ts +0 -3
  316. package/stack/Stack.js +0 -97
  317. package/stack/Stack.stories.tsx +0 -164
  318. package/stack/types.d.ts +0 -24
  319. package/table/Table.stories.jsx +0 -277
  320. package/text/Text.d.ts +0 -7
  321. package/text/Text.js +0 -30
  322. package/text/Text.stories.tsx +0 -19
  323. package/textarea/Textarea.stories.jsx +0 -157
  324. /package/{list → action-icon}/types.js +0 -0
  325. /package/{radio → bulleted-list}/types.js +0 -0
  326. /package/{resultsetTable → container}/types.js +0 -0
  327. /package/{row → flex}/types.js +0 -0
  328. /package/{stack → grid}/types.js +0 -0
  329. /package/{number-input/numberInputContextTypes.js → image/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;