@dxc-technology/halstack-react 0.0.0-efa7c74 → 0.0.0-f00a97a

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 (268) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +15 -47
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +16 -17
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/AccordionGroup.test.js +151 -0
  14. package/accordion-group/types.d.ts +8 -8
  15. package/alert/Alert.js +6 -3
  16. package/alert/Alert.test.js +92 -0
  17. package/badge/Badge.d.ts +4 -0
  18. package/badge/Badge.js +6 -4
  19. package/badge/types.d.ts +5 -0
  20. package/{radio → badge}/types.js +0 -0
  21. package/bleed/Bleed.d.ts +3 -0
  22. package/bleed/Bleed.js +51 -0
  23. package/bleed/Bleed.stories.tsx +341 -0
  24. package/bleed/types.d.ts +37 -0
  25. package/bleed/types.js +5 -0
  26. package/box/Box.js +24 -34
  27. package/box/Box.test.js +18 -0
  28. package/bulleted-list/BulletedList.d.ts +7 -0
  29. package/bulleted-list/BulletedList.js +123 -0
  30. package/bulleted-list/BulletedList.stories.tsx +200 -0
  31. package/bulleted-list/types.d.ts +11 -0
  32. package/bulleted-list/types.js +5 -0
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +59 -82
  35. package/button/Button.stories.tsx +15 -8
  36. package/button/Button.test.js +35 -0
  37. package/button/types.d.ts +8 -12
  38. package/card/Card.js +25 -28
  39. package/card/Card.stories.tsx +1 -1
  40. package/card/Card.test.js +50 -0
  41. package/checkbox/Checkbox.d.ts +1 -1
  42. package/checkbox/Checkbox.js +45 -41
  43. package/checkbox/Checkbox.stories.tsx +124 -128
  44. package/checkbox/Checkbox.test.js +78 -0
  45. package/checkbox/types.d.ts +8 -4
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +16 -76
  48. package/chip/Chip.stories.tsx +6 -8
  49. package/chip/Chip.test.js +56 -0
  50. package/chip/types.d.ts +45 -0
  51. package/chip/types.js +5 -0
  52. package/common/variables.js +282 -355
  53. package/date-input/DateInput.js +66 -55
  54. package/date-input/DateInput.stories.tsx +7 -7
  55. package/date-input/DateInput.test.js +479 -0
  56. package/date-input/types.d.ts +16 -9
  57. package/dialog/Dialog.js +50 -53
  58. package/dialog/Dialog.stories.tsx +1 -2
  59. package/dialog/Dialog.test.js +70 -0
  60. package/dialog/types.d.ts +2 -2
  61. package/dropdown/Dropdown.d.ts +1 -1
  62. package/dropdown/Dropdown.js +242 -272
  63. package/dropdown/Dropdown.stories.tsx +312 -0
  64. package/dropdown/Dropdown.test.js +591 -0
  65. package/dropdown/DropdownMenu.d.ts +4 -0
  66. package/dropdown/DropdownMenu.js +80 -0
  67. package/dropdown/DropdownMenuItem.d.ts +4 -0
  68. package/dropdown/DropdownMenuItem.js +92 -0
  69. package/dropdown/types.d.ts +30 -19
  70. package/file-input/FileInput.d.ts +1 -1
  71. package/file-input/FileInput.js +165 -83
  72. package/file-input/FileInput.stories.tsx +507 -0
  73. package/file-input/FileInput.test.js +457 -0
  74. package/file-input/FileItem.js +12 -8
  75. package/file-input/types.d.ts +32 -7
  76. package/flex/Flex.d.ts +4 -0
  77. package/flex/Flex.js +57 -0
  78. package/flex/Flex.stories.tsx +103 -0
  79. package/flex/types.d.ts +21 -0
  80. package/flex/types.js +5 -0
  81. package/footer/Footer.d.ts +1 -1
  82. package/footer/Footer.js +32 -113
  83. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
  84. package/footer/Footer.test.js +109 -0
  85. package/footer/Icons.d.ts +2 -0
  86. package/footer/Icons.js +4 -4
  87. package/footer/types.d.ts +21 -17
  88. package/header/Header.js +97 -116
  89. package/header/Header.stories.tsx +46 -36
  90. package/header/Header.test.js +79 -0
  91. package/header/Icons.d.ts +2 -0
  92. package/header/Icons.js +2 -2
  93. package/header/types.d.ts +2 -2
  94. package/heading/Heading.js +1 -1
  95. package/heading/Heading.stories.tsx +3 -2
  96. package/heading/Heading.test.js +186 -0
  97. package/inset/Inset.d.ts +3 -0
  98. package/inset/Inset.js +51 -0
  99. package/inset/Inset.stories.tsx +229 -0
  100. package/inset/types.d.ts +37 -0
  101. package/inset/types.js +5 -0
  102. package/layout/ApplicationLayout.d.ts +20 -0
  103. package/layout/ApplicationLayout.js +71 -135
  104. package/layout/ApplicationLayout.stories.tsx +161 -0
  105. package/layout/Icons.d.ts +5 -0
  106. package/layout/Icons.js +13 -2
  107. package/layout/SidenavContext.d.ts +5 -0
  108. package/layout/SidenavContext.js +19 -0
  109. package/layout/types.d.ts +42 -0
  110. package/layout/types.js +5 -0
  111. package/link/Link.d.ts +3 -2
  112. package/link/Link.js +61 -86
  113. package/link/Link.stories.tsx +99 -52
  114. package/link/Link.test.js +83 -0
  115. package/link/types.d.ts +9 -29
  116. package/main.d.ts +12 -12
  117. package/main.js +64 -58
  118. package/number-input/NumberInput.js +14 -24
  119. package/number-input/NumberInput.stories.tsx +5 -5
  120. package/number-input/NumberInput.test.js +506 -0
  121. package/number-input/types.d.ts +17 -10
  122. package/package.json +14 -10
  123. package/paginator/Paginator.js +19 -46
  124. package/paginator/Paginator.test.js +308 -0
  125. package/paragraph/Paragraph.d.ts +6 -0
  126. package/paragraph/Paragraph.js +38 -0
  127. package/paragraph/Paragraph.stories.tsx +44 -0
  128. package/password-input/PasswordInput.js +23 -19
  129. package/password-input/PasswordInput.stories.tsx +3 -3
  130. package/password-input/PasswordInput.test.js +180 -0
  131. package/password-input/types.d.ts +26 -21
  132. package/progress-bar/ProgressBar.d.ts +2 -2
  133. package/progress-bar/ProgressBar.js +59 -53
  134. package/progress-bar/ProgressBar.stories.jsx +13 -11
  135. package/progress-bar/ProgressBar.test.js +110 -0
  136. package/progress-bar/types.d.ts +3 -4
  137. package/quick-nav/QuickNav.d.ts +4 -0
  138. package/quick-nav/QuickNav.js +118 -0
  139. package/quick-nav/QuickNav.stories.tsx +264 -0
  140. package/quick-nav/types.d.ts +21 -0
  141. package/quick-nav/types.js +5 -0
  142. package/radio-group/Radio.d.ts +4 -0
  143. package/radio-group/Radio.js +141 -0
  144. package/radio-group/RadioGroup.d.ts +4 -0
  145. package/radio-group/RadioGroup.js +281 -0
  146. package/radio-group/RadioGroup.stories.tsx +100 -0
  147. package/radio-group/RadioGroup.test.js +695 -0
  148. package/radio-group/types.d.ts +114 -0
  149. package/radio-group/types.js +5 -0
  150. package/resultsetTable/ResultsetTable.d.ts +1 -1
  151. package/resultsetTable/ResultsetTable.js +9 -4
  152. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  153. package/resultsetTable/ResultsetTable.test.js +348 -0
  154. package/resultsetTable/types.d.ts +6 -2
  155. package/select/Icons.d.ts +10 -0
  156. package/select/Icons.js +93 -0
  157. package/select/Listbox.d.ts +4 -0
  158. package/select/Listbox.js +199 -0
  159. package/select/Option.d.ts +4 -0
  160. package/select/Option.js +110 -0
  161. package/select/Select.d.ts +4 -0
  162. package/select/Select.js +158 -380
  163. package/select/Select.stories.tsx +231 -176
  164. package/select/Select.test.js +2175 -0
  165. package/select/types.d.ts +210 -0
  166. package/select/types.js +5 -0
  167. package/sidenav/Sidenav.d.ts +6 -5
  168. package/sidenav/Sidenav.js +186 -54
  169. package/sidenav/Sidenav.stories.tsx +154 -139
  170. package/sidenav/Sidenav.test.js +44 -0
  171. package/sidenav/types.d.ts +50 -27
  172. package/slider/Slider.d.ts +1 -1
  173. package/slider/Slider.js +7 -6
  174. package/slider/Slider.stories.tsx +8 -8
  175. package/slider/Slider.test.js +187 -0
  176. package/slider/types.d.ts +4 -0
  177. package/spinner/Spinner.js +3 -3
  178. package/spinner/Spinner.stories.jsx +1 -0
  179. package/spinner/Spinner.test.js +64 -0
  180. package/switch/Switch.d.ts +2 -2
  181. package/switch/Switch.js +129 -57
  182. package/switch/Switch.stories.tsx +21 -43
  183. package/switch/Switch.test.js +212 -0
  184. package/switch/types.d.ts +9 -6
  185. package/table/Table.js +2 -2
  186. package/table/Table.stories.jsx +2 -1
  187. package/table/Table.test.js +26 -0
  188. package/tabs/Tabs.d.ts +1 -1
  189. package/tabs/Tabs.js +17 -19
  190. package/tabs/Tabs.stories.tsx +7 -16
  191. package/tabs/Tabs.test.js +140 -0
  192. package/tabs/types.d.ts +27 -15
  193. package/tabs-nav/NavTabs.d.ts +8 -0
  194. package/tabs-nav/NavTabs.js +125 -0
  195. package/tabs-nav/NavTabs.stories.tsx +170 -0
  196. package/tabs-nav/NavTabs.test.js +82 -0
  197. package/tabs-nav/Tab.d.ts +4 -0
  198. package/tabs-nav/Tab.js +130 -0
  199. package/tabs-nav/types.d.ts +53 -0
  200. package/tabs-nav/types.js +5 -0
  201. package/tag/Tag.d.ts +1 -1
  202. package/tag/Tag.js +18 -28
  203. package/tag/Tag.stories.tsx +26 -29
  204. package/tag/Tag.test.js +60 -0
  205. package/tag/types.d.ts +23 -14
  206. package/text-input/Suggestion.d.ts +4 -0
  207. package/text-input/Suggestion.js +55 -0
  208. package/text-input/TextInput.js +100 -124
  209. package/text-input/TextInput.stories.tsx +473 -0
  210. package/text-input/TextInput.test.js +1712 -0
  211. package/text-input/types.d.ts +44 -23
  212. package/textarea/Textarea.d.ts +4 -0
  213. package/textarea/Textarea.js +39 -79
  214. package/textarea/Textarea.stories.jsx +37 -15
  215. package/textarea/Textarea.test.js +437 -0
  216. package/textarea/types.d.ts +137 -0
  217. package/textarea/types.js +5 -0
  218. package/toggle-group/ToggleGroup.d.ts +1 -1
  219. package/toggle-group/ToggleGroup.js +15 -17
  220. package/toggle-group/ToggleGroup.stories.tsx +27 -32
  221. package/toggle-group/ToggleGroup.test.js +156 -0
  222. package/toggle-group/types.d.ts +47 -26
  223. package/typography/Typography.d.ts +4 -0
  224. package/typography/Typography.js +131 -0
  225. package/typography/Typography.stories.tsx +198 -0
  226. package/typography/types.d.ts +18 -0
  227. package/typography/types.js +5 -0
  228. package/useTheme.d.ts +2 -0
  229. package/useTheme.js +2 -2
  230. package/useTranslatedLabels.d.ts +2 -0
  231. package/useTranslatedLabels.js +20 -0
  232. package/wizard/Wizard.d.ts +1 -1
  233. package/wizard/Wizard.js +112 -58
  234. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +33 -24
  235. package/wizard/Wizard.test.js +141 -0
  236. package/wizard/types.d.ts +13 -12
  237. package/ThemeContext.js +0 -246
  238. package/V3Select/V3Select.js +0 -455
  239. package/V3Select/index.d.ts +0 -27
  240. package/V3Textarea/V3Textarea.js +0 -260
  241. package/V3Textarea/index.d.ts +0 -27
  242. package/chip/index.d.ts +0 -22
  243. package/date/Date.js +0 -373
  244. package/date/index.d.ts +0 -27
  245. package/input-text/Icons.js +0 -22
  246. package/input-text/InputText.js +0 -611
  247. package/input-text/index.d.ts +0 -36
  248. package/radio/Radio.d.ts +0 -4
  249. package/radio/Radio.js +0 -174
  250. package/radio/Radio.stories.tsx +0 -192
  251. package/radio/types.d.ts +0 -54
  252. package/select/index.d.ts +0 -131
  253. package/textarea/index.d.ts +0 -117
  254. package/toggle/Toggle.js +0 -186
  255. package/toggle/index.d.ts +0 -21
  256. package/upload/Upload.js +0 -201
  257. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  258. package/upload/buttons-upload/Icons.js +0 -40
  259. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  260. package/upload/dragAndDropArea/Icons.js +0 -39
  261. package/upload/file-upload/FileToUpload.js +0 -115
  262. package/upload/file-upload/Icons.js +0 -66
  263. package/upload/files-upload/FilesToUpload.js +0 -109
  264. package/upload/index.d.ts +0 -15
  265. package/upload/transaction/Icons.js +0 -160
  266. package/upload/transaction/Transaction.js +0 -104
  267. package/upload/transactions/Transactions.js +0 -94
  268. package/wizard/Icons.js +0 -65
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
+
18
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
19
+
20
+ var _templateObject, _templateObject2, _templateObject3;
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ var DropdownMenuItem = function DropdownMenuItem(_ref) {
27
+ var id = _ref.id,
28
+ visuallyFocused = _ref.visuallyFocused,
29
+ iconPosition = _ref.iconPosition,
30
+ _onClick = _ref.onClick,
31
+ option = _ref.option;
32
+ var colorsTheme = (0, _useTheme["default"])();
33
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
34
+ theme: colorsTheme.dropdown
35
+ }, /*#__PURE__*/_react["default"].createElement(DropdownMenuItemContainer, {
36
+ visuallyFocused: visuallyFocused,
37
+ onClick: function onClick() {
38
+ _onClick(option.value);
39
+ },
40
+ id: id,
41
+ role: "menuitem",
42
+ tabIndex: -1
43
+ }, iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemIcon, {
44
+ iconPosition: iconPosition,
45
+ label: option.label,
46
+ role: typeof option.icon === "string" ? undefined : "img"
47
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
48
+ src: option.icon
49
+ }) : option.icon), iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label)));
50
+ };
51
+
52
+ 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) {
53
+ return props.theme.optionIconSpacing;
54
+ }, function (props) {
55
+ return props.theme.optionPaddingTop;
56
+ }, function (props) {
57
+ return props.theme.optionPaddingBottom;
58
+ }, function (props) {
59
+ return props.theme.optionPaddingLeft;
60
+ }, function (props) {
61
+ return props.theme.optionPaddingRight;
62
+ }, function (props) {
63
+ return props.visuallyFocused && "outline: ".concat(props.theme.focusColor, " solid 2px; outline-offset: -2px;");
64
+ }, function (props) {
65
+ return props.theme.hoverOptionBackgroundColor;
66
+ }, function (props) {
67
+ return props.theme.activeOptionBackgroundColor;
68
+ });
69
+
70
+ 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"])), function (props) {
71
+ return props.theme.optionFontFamily;
72
+ }, function (props) {
73
+ return props.theme.optionFontSize;
74
+ }, function (props) {
75
+ return props.theme.optionFontStyle;
76
+ }, function (props) {
77
+ return props.theme.optionFontWeight;
78
+ }, function (props) {
79
+ return props.theme.optionFontColor;
80
+ });
81
+
82
+ 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) {
83
+ return props.theme.optionIconColor;
84
+ }, function (props) {
85
+ return props.theme.optionIconSize;
86
+ }, function (props) {
87
+ return props.theme.optionIconSize;
88
+ });
89
+
90
+ var _default = /*#__PURE__*/_react["default"].memo(DropdownMenuItem);
91
+
92
+ exports["default"] = _default;
@@ -1,26 +1,23 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ export declare 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
+ export declare type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
10
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
11
+ export declare 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
  */
@@ -30,22 +27,17 @@ declare 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
37
+ * Element or path used as the icon that will be placed next to the
41
38
  * dropdown label.
42
39
  */
43
- icon?: SVG;
44
- /**
45
- * @deprecated URL of the icon that will be placed next to the
46
- * dropdown label.
47
- */
48
- iconSrc?: string;
40
+ icon?: string | SVG;
49
41
  /**
50
42
  * Whether the icon should appear after or before the label.
51
43
  */
@@ -76,7 +68,7 @@ declare type Props = {
76
68
  /**
77
69
  * Size of the component.
78
70
  */
79
- size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
71
+ size?: Size;
80
72
  /**
81
73
  * Value of the tabindex.
82
74
  */
@@ -86,4 +78,23 @@ declare type Props = {
86
78
  */
87
79
  disabled?: boolean;
88
80
  };
81
+ export declare 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: {
90
+ width: number;
91
+ };
92
+ };
93
+ export declare type DropdownMenuItemProps = {
94
+ id: string;
95
+ visuallyFocused: boolean;
96
+ iconPosition: "before" | "after";
97
+ onClick: (value: string) => void;
98
+ option: Option;
99
+ };
89
100
  export default Props;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="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: ({ name, mode, label, buttonLabel, dropAreaLabel, helperText, accept, minSize, maxSize, showPreview, multiple, disabled, callbackFile, value, margin, tabIndex, }: FileInputPropsType) => JSX.Element;
4
4
  export default DxcFileInput;
@@ -17,6 +17,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
17
17
 
18
18
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
19
19
 
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
20
22
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
21
23
 
22
24
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -29,18 +31,24 @@ var _uuid = require("uuid");
29
31
 
30
32
  var _variables = require("../common/variables.js");
31
33
 
32
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
34
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
35
+
36
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
33
37
 
34
38
  var _Button = _interopRequireDefault(require("../button/Button"));
35
39
 
36
40
  var _FileItem = _interopRequireDefault(require("./FileItem"));
37
41
 
38
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
42
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
39
43
 
40
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
45
 
42
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
47
 
48
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
49
+
50
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
51
+
44
52
  var audioIcon = /*#__PURE__*/_react["default"].createElement("svg", {
45
53
  xmlns: "http://www.w3.org/2000/svg",
46
54
  width: "24",
@@ -87,6 +95,8 @@ var DxcFileInput = function DxcFileInput(_ref) {
87
95
  mode = _ref$mode === void 0 ? "file" : _ref$mode,
88
96
  _ref$label = _ref.label,
89
97
  label = _ref$label === void 0 ? "" : _ref$label,
98
+ buttonLabel = _ref.buttonLabel,
99
+ dropAreaLabel = _ref.dropAreaLabel,
90
100
  _ref$helperText = _ref.helperText,
91
101
  helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
92
102
  accept = _ref.accept,
@@ -119,12 +129,76 @@ var DxcFileInput = function DxcFileInput(_ref) {
119
129
  fileInputId = _useState6[0];
120
130
 
121
131
  var colorsTheme = (0, _useTheme["default"])();
132
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
122
133
  (0, _react.useEffect)(function () {
123
- if (value) {
124
- setFiles(value);
125
- } else {
126
- setFiles([]);
127
- }
134
+ var getFiles = /*#__PURE__*/function () {
135
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
136
+ var valueFiles;
137
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
138
+ while (1) {
139
+ switch (_context2.prev = _context2.next) {
140
+ case 0:
141
+ if (!value) {
142
+ _context2.next = 5;
143
+ break;
144
+ }
145
+
146
+ _context2.next = 3;
147
+ return Promise.all(value.map( /*#__PURE__*/function () {
148
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file) {
149
+ var preview;
150
+ return _regenerator["default"].wrap(function _callee$(_context) {
151
+ while (1) {
152
+ switch (_context.prev = _context.next) {
153
+ case 0:
154
+ if (!file.preview) {
155
+ _context.next = 4;
156
+ break;
157
+ }
158
+
159
+ return _context.abrupt("return", file);
160
+
161
+ case 4:
162
+ _context.next = 6;
163
+ return getFilePreview(file.file);
164
+
165
+ case 6:
166
+ preview = _context.sent;
167
+ return _context.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
168
+ preview: preview
169
+ }));
170
+
171
+ case 8:
172
+ case "end":
173
+ return _context.stop();
174
+ }
175
+ }
176
+ }, _callee);
177
+ }));
178
+
179
+ return function (_x) {
180
+ return _ref3.apply(this, arguments);
181
+ };
182
+ }()));
183
+
184
+ case 3:
185
+ valueFiles = _context2.sent;
186
+ setFiles(valueFiles);
187
+
188
+ case 5:
189
+ case "end":
190
+ return _context2.stop();
191
+ }
192
+ }
193
+ }, _callee2);
194
+ }));
195
+
196
+ return function getFiles() {
197
+ return _ref2.apply(this, arguments);
198
+ };
199
+ }();
200
+
201
+ getFiles();
128
202
  }, [value]);
129
203
 
130
204
  var handleClick = function handleClick() {
@@ -133,11 +207,11 @@ var DxcFileInput = function DxcFileInput(_ref) {
133
207
 
134
208
  var checkFileSize = function checkFileSize(file) {
135
209
  if (file.size < minSize) {
136
- return "File size must be greater than min size.";
210
+ return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;
137
211
  }
138
212
 
139
213
  if (file.size > maxSize) {
140
- return "File size must be less than max size.";
214
+ return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
141
215
  }
142
216
  };
143
217
 
@@ -165,13 +239,13 @@ var DxcFileInput = function DxcFileInput(_ref) {
165
239
  };
166
240
 
167
241
  var getFilesToAdd = /*#__PURE__*/function () {
168
- var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(selectedFiles) {
242
+ var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(selectedFiles) {
169
243
  var filesToAdd;
170
- return _regenerator["default"].wrap(function _callee$(_context) {
244
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
171
245
  while (1) {
172
- switch (_context.prev = _context.next) {
246
+ switch (_context3.prev = _context3.next) {
173
247
  case 0:
174
- _context.next = 2;
248
+ _context3.next = 2;
175
249
  return Promise.all(selectedFiles.map(function (selectedFile) {
176
250
  return getFilePreview(selectedFile);
177
251
  })).then(function (previews) {
@@ -186,71 +260,71 @@ var DxcFileInput = function DxcFileInput(_ref) {
186
260
  });
187
261
 
188
262
  case 2:
189
- filesToAdd = _context.sent;
190
- return _context.abrupt("return", filesToAdd);
263
+ filesToAdd = _context3.sent;
264
+ return _context3.abrupt("return", filesToAdd);
191
265
 
192
266
  case 4:
193
267
  case "end":
194
- return _context.stop();
268
+ return _context3.stop();
195
269
  }
196
270
  }
197
- }, _callee);
271
+ }, _callee3);
198
272
  }));
199
273
 
200
- return function getFilesToAdd(_x) {
201
- return _ref2.apply(this, arguments);
274
+ return function getFilesToAdd(_x2) {
275
+ return _ref4.apply(this, arguments);
202
276
  };
203
277
  }();
204
278
 
205
279
  var addFile = /*#__PURE__*/function () {
206
- var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(selectedFiles) {
280
+ var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(selectedFiles) {
207
281
  var filesToAdd, finalFiles, fileToAdd;
208
- return _regenerator["default"].wrap(function _callee2$(_context2) {
282
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
209
283
  while (1) {
210
- switch (_context2.prev = _context2.next) {
284
+ switch (_context4.prev = _context4.next) {
211
285
  case 0:
212
286
  if (!multiple) {
213
- _context2.next = 8;
287
+ _context4.next = 8;
214
288
  break;
215
289
  }
216
290
 
217
- _context2.next = 3;
291
+ _context4.next = 3;
218
292
  return getFilesToAdd(selectedFiles);
219
293
 
220
294
  case 3:
221
- filesToAdd = _context2.sent;
295
+ filesToAdd = _context4.sent;
222
296
  finalFiles = [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd));
223
297
 
224
298
  if (typeof callbackFile === "function") {
225
299
  callbackFile(finalFiles);
226
300
  }
227
301
 
228
- _context2.next = 19;
302
+ _context4.next = 19;
229
303
  break;
230
304
 
231
305
  case 8:
232
306
  if (!(selectedFiles.length === 1)) {
233
- _context2.next = 14;
307
+ _context4.next = 14;
234
308
  break;
235
309
  }
236
310
 
237
- _context2.next = 11;
311
+ _context4.next = 11;
238
312
  return getFilesToAdd(selectedFiles);
239
313
 
240
314
  case 11:
241
- _context2.t0 = _context2.sent;
242
- _context2.next = 17;
315
+ _context4.t0 = _context4.sent;
316
+ _context4.next = 17;
243
317
  break;
244
318
 
245
319
  case 14:
246
- _context2.next = 16;
320
+ _context4.next = 16;
247
321
  return getFilesToAdd([selectedFiles[0]]);
248
322
 
249
323
  case 16:
250
- _context2.t0 = _context2.sent;
324
+ _context4.t0 = _context4.sent;
251
325
 
252
326
  case 17:
253
- fileToAdd = _context2.t0;
327
+ fileToAdd = _context4.t0;
254
328
 
255
329
  if (typeof callbackFile === "function") {
256
330
  callbackFile(fileToAdd);
@@ -258,14 +332,14 @@ var DxcFileInput = function DxcFileInput(_ref) {
258
332
 
259
333
  case 19:
260
334
  case "end":
261
- return _context2.stop();
335
+ return _context4.stop();
262
336
  }
263
337
  }
264
- }, _callee2);
338
+ }, _callee4);
265
339
  }));
266
340
 
267
- return function addFile(_x2) {
268
- return _ref3.apply(this, arguments);
341
+ return function addFile(_x3) {
342
+ return _ref5.apply(this, arguments);
269
343
  };
270
344
  }();
271
345
 
@@ -296,18 +370,12 @@ var DxcFileInput = function DxcFileInput(_ref) {
296
370
  };
297
371
 
298
372
  var handleDragIn = function handleDragIn(e) {
299
- e.preventDefault();
300
- e.stopPropagation();
301
-
302
- if (e.dataTransfer.items && e.dataTransfer.items.length > 0) {
303
- setIsDragging(true);
304
- }
373
+ if (e.dataTransfer.items && e.dataTransfer.items.length > 0) setIsDragging(true);
305
374
  };
306
375
 
307
376
  var handleDragOut = function handleDragOut(e) {
308
- e.preventDefault();
309
- e.stopPropagation();
310
- setIsDragging(false);
377
+ // only if dragged items leave container (outside, not to childs)
378
+ if (!e.currentTarget.contains(e.relatedTarget)) setIsDragging(false);
311
379
  };
312
380
 
313
381
  var handleDrop = function handleDrop(e) {
@@ -337,22 +405,20 @@ var DxcFileInput = function DxcFileInput(_ref) {
337
405
  }, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
338
406
  multiple: multiple,
339
407
  files: files
340
- }, /*#__PURE__*/_react["default"].createElement(ButtonErrorContainer, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
341
- mode: "secondary",
342
- label: "Select files",
343
- onClick: handleClick,
344
- disabled: disabled,
345
- size: "medium",
346
- tabIndex: tabIndex
347
- }), /*#__PURE__*/_react["default"].createElement("input", {
408
+ }, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
348
409
  id: fileInputId,
349
410
  type: "file",
350
411
  accept: accept,
351
412
  multiple: multiple,
352
413
  onChange: selectFiles
353
- }), files.length === 1 && files.map(function (file) {
354
- return file.error && mode === "file" && !multiple && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, file.error);
355
- })), files.map(function (file) {
414
+ }), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
415
+ mode: "secondary",
416
+ label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
417
+ onClick: handleClick,
418
+ disabled: disabled,
419
+ size: "medium",
420
+ tabIndex: tabIndex
421
+ }), files.map(function (file) {
356
422
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
357
423
  mode: mode,
358
424
  multiple: multiple,
@@ -369,7 +435,13 @@ var DxcFileInput = function DxcFileInput(_ref) {
369
435
  onDelete: onDelete,
370
436
  tabIndex: tabIndex
371
437
  })));
372
- })) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(DragDropArea, {
438
+ })) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
439
+ id: fileInputId,
440
+ type: "file",
441
+ accept: accept,
442
+ multiple: multiple,
443
+ onChange: selectFiles
444
+ }), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
373
445
  isDragging: isDragging,
374
446
  disabled: disabled,
375
447
  mode: mode,
@@ -381,19 +453,15 @@ var DxcFileInput = function DxcFileInput(_ref) {
381
453
  mode: mode
382
454
  }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
383
455
  mode: "secondary",
384
- label: "Select",
456
+ label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
385
457
  onClick: handleClick,
386
458
  disabled: disabled,
387
459
  size: "fitContent"
388
- }), /*#__PURE__*/_react["default"].createElement("input", {
389
- id: fileInputId,
390
- type: "file",
391
- accept: accept,
392
- multiple: multiple,
393
- onChange: selectFiles
394
- })), /*#__PURE__*/_react["default"].createElement(DropLabel, {
460
+ })), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
461
+ disabled: disabled
462
+ }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
395
463
  disabled: disabled
396
- }, "or drop files")), files.map(function (file) {
464
+ }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.map(function (file) {
397
465
  return /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
398
466
  mode: mode,
399
467
  multiple: multiple,
@@ -410,7 +478,9 @@ var DxcFileInput = function DxcFileInput(_ref) {
410
478
  onDelete: onDelete,
411
479
  tabIndex: tabIndex
412
480
  }));
413
- }))));
481
+ })), files.length === 1 && files.map(function (file) {
482
+ return file.error && mode === "file" && !multiple && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, file.error);
483
+ })));
414
484
  };
415
485
 
416
486
  var FileInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: fit-content;\n"])), function (props) {
@@ -449,35 +519,47 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
449
519
  return props.theme.helperTextLineHeight;
450
520
  });
451
521
 
452
- var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: calc(320px - 2px);\n display: flex;\n flex-direction: ", ";\n align-items: center;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n background-color: ", ";\n border-color: ", ";\n cursor: ", ";\n"])), function (props) {
453
- return props.mode === "filedrop" ? "calc(48px - 2px)" : "calc(160px - 2px)";
454
- }, function (props) {
522
+ var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n flex-direction: ", ";\n ", ";\n align-items: center;\n height: ", ";\n width: 320px;\n\n box-shadow: 0 0 0 2px transparent;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\n ", "\n\n cursor: ", ";\n"])), function (props) {
455
523
  return props.mode === "filedrop" ? "row" : "column";
524
+ }, function (props) {
525
+ return props.mode === "dropzone" && "justify-content: center; padding: 1rem;";
526
+ }, function (props) {
527
+ return props.mode === "filedrop" ? "48px" : "160px";
456
528
  }, function (props) {
457
529
  return props.theme.dropBorderRadius;
458
530
  }, function (props) {
459
- return !props.isDragging ? props.theme.dropBorderThickness : "2px";
531
+ return props.theme.dropBorderThickness;
460
532
  }, function (props) {
461
- return !props.isDragging ? props.theme.dropBorderStyle : "solid";
533
+ return props.theme.dropBorderStyle;
462
534
  }, function (props) {
463
- return props.isDragging && props.theme.dragoverDropBackgroundColor;
535
+ return props.disabled ? props.theme.disabledDropBorderColor : props.theme.dropBorderColor;
464
536
  }, function (props) {
465
- return props.disabled ? props.theme.disabledDropBorderColor : props.isDragging ? props.theme.focusDropBorderColor : props.theme.dropBorderColor;
537
+ return props.isDragging && "\n background-color: ".concat(props.theme.dragoverDropBackgroundColor, ";\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusDropBorderColor, ";\n ");
466
538
  }, function (props) {
467
539
  return props.disabled && "not-allowed";
468
540
  });
469
541
 
470
- var FileContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n"])), function (props) {
542
+ var FileContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
471
543
  return props.multiple || props.files.length > 1 ? "column" : "row";
472
544
  });
473
545
 
474
- var ButtonErrorContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin-top: 0.25rem;\n\n input[type=\"file\"] {\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n }\n"])));
546
+ var HiddenInputFile = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n"])));
475
547
 
476
- var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n input[type=\"file\"] {\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n }\n"])), function (props) {
477
- return props.mode === "filedrop" ? "2px 12px 2px 2px" : "47px 122px 8px 122px";
548
+ var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
549
+ return props.mode === "filedrop" && "padding: 2px 12px 2px 3px";
550
+ });
551
+
552
+ var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 3;\n text-align: center;\n margin-top: 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
553
+ return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
554
+ }, function (props) {
555
+ return props.theme.dropLabelFontFamily;
556
+ }, function (props) {
557
+ return props.theme.dropLabelFontSize;
558
+ }, function (props) {
559
+ return props.theme.dropLabelFontWeight;
478
560
  });
479
561
 
480
- var DropLabel = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
562
+ var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n margin-right: 1rem;\n"])), function (props) {
481
563
  return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
482
564
  }, function (props) {
483
565
  return props.theme.dropLabelFontFamily;
@@ -487,15 +569,15 @@ var DropLabel = _styledComponents["default"].span(_templateObject8 || (_template
487
569
  return props.theme.dropLabelFontWeight;
488
570
  });
489
571
 
490
- var Container = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin-top: 0.25rem;\n"])));
572
+ var Container = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin-top: 0.25rem;\n"])));
491
573
 
492
- var FileItemContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
574
+ var FileItemContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
493
575
  return (props.multiple || props.files.length > 1 || props.mode !== "file") && "4px";
494
576
  }, function (props) {
495
577
  return props.mode === "file" && props.files.length === 1 && !props.multiple && "4px";
496
578
  });
497
579
 
498
- var ErrorMessage = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
580
+ var ErrorMessage = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
499
581
  return props.theme.errorMessageFontColor;
500
582
  }, function (props) {
501
583
  return props.theme.errorMessageFontFamily;