@dxc-technology/halstack-react 0.0.0-da4b2be → 0.0.0-da9270d

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 (236) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +23 -124
  4. package/HalstackContext.js +10 -35
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +24 -76
  8. package/accordion/Accordion.stories.tsx +1 -113
  9. package/accordion/Accordion.test.js +18 -33
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.js +15 -42
  12. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  13. package/accordion-group/AccordionGroup.test.js +43 -71
  14. package/accordion-group/AccordionGroupAccordion.js +9 -21
  15. package/accordion-group/types.d.ts +6 -18
  16. package/alert/Alert.js +15 -50
  17. package/alert/Alert.test.js +28 -45
  18. package/alert/types.d.ts +5 -5
  19. package/badge/Badge.js +4 -17
  20. package/badge/types.d.ts +1 -1
  21. package/bleed/Bleed.js +13 -21
  22. package/bleed/types.d.ts +2 -2
  23. package/box/Box.js +11 -33
  24. package/box/Box.test.js +1 -6
  25. package/box/types.d.ts +3 -3
  26. package/bulleted-list/BulletedList.js +18 -54
  27. package/bulleted-list/BulletedList.stories.tsx +1 -92
  28. package/bulleted-list/types.d.ts +5 -5
  29. package/button/Button.d.ts +1 -1
  30. package/button/Button.js +66 -99
  31. package/button/Button.stories.tsx +6 -87
  32. package/button/Button.test.js +17 -16
  33. package/button/types.d.ts +8 -4
  34. package/card/Card.d.ts +1 -1
  35. package/card/Card.js +39 -79
  36. package/card/Card.stories.tsx +0 -29
  37. package/card/Card.test.js +10 -21
  38. package/card/types.d.ts +6 -12
  39. package/checkbox/Checkbox.js +85 -120
  40. package/checkbox/Checkbox.stories.tsx +16 -54
  41. package/checkbox/Checkbox.test.js +107 -63
  42. package/checkbox/types.d.ts +8 -4
  43. package/chip/Chip.js +12 -31
  44. package/chip/Chip.stories.tsx +1 -1
  45. package/chip/Chip.test.js +15 -28
  46. package/chip/types.d.ts +4 -4
  47. package/common/coreTokens.d.ts +105 -14
  48. package/common/coreTokens.js +41 -24
  49. package/common/utils.js +2 -8
  50. package/common/variables.d.ts +23 -124
  51. package/common/variables.js +27 -135
  52. package/container/Container.d.ts +4 -0
  53. package/container/Container.js +194 -0
  54. package/container/Container.stories.tsx +214 -0
  55. package/container/types.d.ts +74 -0
  56. package/date-input/Calendar.js +15 -59
  57. package/date-input/DateInput.js +50 -96
  58. package/date-input/DateInput.stories.tsx +11 -30
  59. package/date-input/DateInput.test.js +674 -701
  60. package/date-input/DatePicker.js +11 -42
  61. package/date-input/Icons.d.ts +6 -6
  62. package/date-input/Icons.js +6 -23
  63. package/date-input/YearPicker.js +8 -34
  64. package/date-input/types.d.ts +27 -21
  65. package/dialog/Dialog.js +13 -40
  66. package/dialog/Dialog.stories.tsx +170 -0
  67. package/dialog/Dialog.test.js +125 -187
  68. package/dialog/types.d.ts +18 -13
  69. package/dropdown/Dropdown.js +39 -93
  70. package/dropdown/Dropdown.test.js +391 -378
  71. package/dropdown/DropdownMenu.js +8 -19
  72. package/dropdown/DropdownMenuItem.js +5 -17
  73. package/dropdown/types.d.ts +17 -19
  74. package/file-input/FileInput.js +180 -248
  75. package/file-input/FileInput.stories.tsx +1 -1
  76. package/file-input/FileInput.test.js +356 -354
  77. package/file-input/FileItem.js +14 -41
  78. package/file-input/types.d.ts +10 -10
  79. package/flex/Flex.js +25 -39
  80. package/flex/types.d.ts +6 -6
  81. package/footer/Footer.d.ts +1 -1
  82. package/footer/Footer.js +54 -112
  83. package/footer/Footer.stories.tsx +19 -95
  84. package/footer/Footer.test.js +21 -33
  85. package/footer/Icons.d.ts +2 -2
  86. package/footer/Icons.js +2 -7
  87. package/footer/types.d.ts +21 -29
  88. package/grid/Grid.d.ts +1 -1
  89. package/grid/Grid.js +2 -17
  90. package/grid/Grid.stories.tsx +38 -38
  91. package/grid/types.d.ts +10 -10
  92. package/header/Header.d.ts +2 -2
  93. package/header/Header.js +31 -114
  94. package/header/Header.stories.tsx +7 -71
  95. package/header/Header.test.js +12 -25
  96. package/header/Icons.d.ts +2 -2
  97. package/header/Icons.js +2 -7
  98. package/header/types.d.ts +5 -20
  99. package/heading/Heading.js +9 -31
  100. package/heading/Heading.test.js +70 -87
  101. package/heading/types.d.ts +7 -7
  102. package/image/Image.d.ts +4 -0
  103. package/image/Image.js +70 -0
  104. package/image/Image.stories.tsx +127 -0
  105. package/image/types.d.ts +72 -0
  106. package/inset/Inset.js +13 -21
  107. package/inset/types.d.ts +2 -2
  108. package/layout/ApplicationLayout.d.ts +3 -3
  109. package/layout/ApplicationLayout.js +28 -65
  110. package/layout/ApplicationLayout.stories.tsx +1 -1
  111. package/layout/Icons.d.ts +8 -5
  112. package/layout/Icons.js +51 -59
  113. package/layout/SidenavContext.d.ts +1 -1
  114. package/layout/SidenavContext.js +3 -9
  115. package/layout/types.d.ts +3 -3
  116. package/link/Link.js +21 -42
  117. package/link/Link.test.js +23 -41
  118. package/link/types.d.ts +14 -14
  119. package/main.d.ts +4 -3
  120. package/main.js +17 -58
  121. package/nav-tabs/NavTabs.js +11 -43
  122. package/nav-tabs/NavTabs.stories.tsx +1 -1
  123. package/nav-tabs/NavTabs.test.js +36 -43
  124. package/nav-tabs/Tab.js +16 -45
  125. package/nav-tabs/types.d.ts +9 -9
  126. package/number-input/NumberInput.d.ts +7 -0
  127. package/number-input/NumberInput.js +26 -35
  128. package/number-input/NumberInput.stories.tsx +42 -26
  129. package/number-input/NumberInput.test.js +700 -412
  130. package/number-input/types.d.ts +11 -5
  131. package/package.json +30 -28
  132. package/paginator/Icons.d.ts +5 -5
  133. package/paginator/Icons.js +5 -19
  134. package/paginator/Paginator.js +15 -43
  135. package/paginator/Paginator.test.js +224 -207
  136. package/paginator/types.d.ts +3 -3
  137. package/paragraph/Paragraph.js +3 -19
  138. package/paragraph/Paragraph.stories.tsx +0 -17
  139. package/password-input/Icons.d.ts +6 -0
  140. package/password-input/Icons.js +35 -0
  141. package/password-input/PasswordInput.js +57 -126
  142. package/password-input/PasswordInput.stories.tsx +1 -33
  143. package/password-input/PasswordInput.test.js +157 -140
  144. package/password-input/types.d.ts +8 -7
  145. package/progress-bar/ProgressBar.js +21 -53
  146. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  147. package/progress-bar/ProgressBar.test.js +35 -52
  148. package/progress-bar/types.d.ts +3 -3
  149. package/quick-nav/QuickNav.js +4 -27
  150. package/quick-nav/QuickNav.stories.tsx +1 -1
  151. package/quick-nav/types.d.ts +10 -10
  152. package/radio-group/Radio.d.ts +1 -1
  153. package/radio-group/Radio.js +22 -54
  154. package/radio-group/RadioGroup.js +37 -83
  155. package/radio-group/RadioGroup.stories.tsx +10 -10
  156. package/radio-group/RadioGroup.test.js +504 -470
  157. package/radio-group/types.d.ts +8 -8
  158. package/resultset-table/Icons.d.ts +7 -0
  159. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  160. package/{resultsetTable → resultset-table}/ResultsetTable.js +23 -59
  161. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  162. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  163. package/resultset-table/types.js +5 -0
  164. package/select/Icons.d.ts +7 -7
  165. package/select/Icons.js +1 -5
  166. package/select/Listbox.js +13 -39
  167. package/select/Option.js +9 -26
  168. package/select/Select.js +70 -155
  169. package/select/Select.stories.tsx +3 -3
  170. package/select/Select.test.js +1946 -1804
  171. package/select/types.d.ts +14 -15
  172. package/sidenav/Icons.d.ts +4 -4
  173. package/sidenav/Icons.js +1 -5
  174. package/sidenav/Sidenav.js +26 -68
  175. package/sidenav/Sidenav.test.js +3 -10
  176. package/sidenav/types.d.ts +18 -18
  177. package/slider/Slider.js +68 -125
  178. package/slider/Slider.test.js +107 -103
  179. package/slider/types.d.ts +4 -4
  180. package/spinner/Spinner.js +16 -54
  181. package/spinner/Spinner.test.js +25 -34
  182. package/spinner/types.d.ts +3 -3
  183. package/switch/Switch.js +49 -97
  184. package/switch/Switch.stories.tsx +0 -34
  185. package/switch/Switch.test.js +51 -96
  186. package/switch/types.d.ts +4 -4
  187. package/table/Table.js +5 -27
  188. package/table/Table.test.js +1 -6
  189. package/table/types.d.ts +8 -8
  190. package/tabs/Tab.js +10 -29
  191. package/tabs/Tabs.js +52 -129
  192. package/tabs/Tabs.test.js +62 -118
  193. package/tabs/types.d.ts +19 -19
  194. package/tag/Tag.js +21 -51
  195. package/tag/Tag.test.js +19 -30
  196. package/tag/types.d.ts +7 -7
  197. package/text-input/Icons.d.ts +5 -5
  198. package/text-input/Icons.js +1 -5
  199. package/text-input/Suggestion.js +9 -26
  200. package/text-input/Suggestions.d.ts +1 -1
  201. package/text-input/Suggestions.js +15 -65
  202. package/text-input/TextInput.js +204 -284
  203. package/text-input/TextInput.stories.tsx +48 -152
  204. package/text-input/TextInput.test.js +1210 -1194
  205. package/text-input/types.d.ts +25 -17
  206. package/textarea/Textarea.js +67 -109
  207. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  208. package/textarea/Textarea.test.js +150 -179
  209. package/textarea/types.d.ts +9 -5
  210. package/toggle-group/ToggleGroup.js +90 -107
  211. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  212. package/toggle-group/ToggleGroup.test.js +68 -87
  213. package/toggle-group/types.d.ts +26 -17
  214. package/typography/Typography.js +4 -13
  215. package/typography/types.d.ts +1 -1
  216. package/useTheme.d.ts +20 -121
  217. package/useTheme.js +1 -8
  218. package/useTranslatedLabels.js +1 -7
  219. package/utils/BaseTypography.d.ts +2 -2
  220. package/utils/BaseTypography.js +16 -30
  221. package/utils/FocusLock.js +22 -39
  222. package/wizard/Wizard.js +14 -49
  223. package/wizard/Wizard.test.js +53 -80
  224. package/wizard/types.d.ts +6 -6
  225. package/card/ice-cream.jpg +0 -0
  226. package/number-input/NumberInputContext.d.ts +0 -4
  227. package/number-input/NumberInputContext.js +0 -19
  228. package/number-input/numberInputContextTypes.d.ts +0 -19
  229. package/resultsetTable/Icons.d.ts +0 -7
  230. package/slider/Slider.stories.tsx +0 -240
  231. /package/{resultsetTable → container}/types.js +0 -0
  232. /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
  233. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  234. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  235. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  236. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
@@ -1,54 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
17
-
18
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
13
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
21
-
22
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
23
-
24
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
-
15
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
26
16
  var _react = _interopRequireWildcard(require("react"));
27
-
28
17
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
29
-
30
18
  var _uuid = require("uuid");
31
-
32
19
  var _variables = require("../common/variables");
33
-
34
20
  var _useTheme = _interopRequireDefault(require("../useTheme"));
35
-
36
21
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
37
-
38
22
  var _Button = _interopRequireDefault(require("../button/Button"));
39
-
40
23
  var _FileItem = _interopRequireDefault(require("./FileItem"));
41
-
42
24
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
43
-
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); }
45
-
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; }
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
-
25
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
27
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
52
29
  var audioIcon = /*#__PURE__*/_react["default"].createElement("svg", {
53
30
  xmlns: "http://www.w3.org/2000/svg",
54
31
  width: "24",
@@ -61,7 +38,6 @@ var audioIcon = /*#__PURE__*/_react["default"].createElement("svg", {
61
38
  }), /*#__PURE__*/_react["default"].createElement("path", {
62
39
  d: "M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14zM8 15c0-1.66 1.34-3 3-3 .35 0 .69.07 1 .18V6h5v2h-3v7.03c-.02 1.64-1.35 2.97-3 2.97-1.66 0-3-1.34-3-3z"
63
40
  }));
64
-
65
41
  var videoIcon = /*#__PURE__*/_react["default"].createElement("svg", {
66
42
  xmlns: "http://www.w3.org/2000/svg",
67
43
  width: "24",
@@ -74,7 +50,6 @@ var videoIcon = /*#__PURE__*/_react["default"].createElement("svg", {
74
50
  d: "M0 0h24v24H0z",
75
51
  fill: "none"
76
52
  }));
77
-
78
53
  var fileIcon = /*#__PURE__*/_react["default"].createElement("svg", {
79
54
  xmlns: "http://www.w3.org/2000/svg",
80
55
  width: "24",
@@ -87,163 +62,156 @@ var fileIcon = /*#__PURE__*/_react["default"].createElement("svg", {
87
62
  }), /*#__PURE__*/_react["default"].createElement("path", {
88
63
  d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
89
64
  }));
90
-
91
- var getFilePreview = function getFilePreview(file) {
92
- if (file.type.includes("video")) return videoIcon;else if (file.type.includes("audio")) return audioIcon;else if (file.type.includes("image")) return new Promise(function (resolve) {
93
- var reader = new FileReader();
94
- reader.readAsDataURL(file);
95
-
96
- reader.onload = function (e) {
97
- resolve(e.target.result);
98
- };
99
- });else return fileIcon;
65
+ var getFilePreview = /*#__PURE__*/function () {
66
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file) {
67
+ return _regenerator["default"].wrap(function _callee$(_context) {
68
+ while (1) switch (_context.prev = _context.next) {
69
+ case 0:
70
+ if (!file.type.includes("video")) {
71
+ _context.next = 4;
72
+ break;
73
+ }
74
+ return _context.abrupt("return", videoIcon);
75
+ case 4:
76
+ if (!file.type.includes("audio")) {
77
+ _context.next = 8;
78
+ break;
79
+ }
80
+ return _context.abrupt("return", audioIcon);
81
+ case 8:
82
+ if (!file.type.includes("image")) {
83
+ _context.next = 12;
84
+ break;
85
+ }
86
+ return _context.abrupt("return", new Promise(function (resolve) {
87
+ var reader = new FileReader();
88
+ reader.readAsDataURL(file);
89
+ reader.onload = function (e) {
90
+ resolve(e.target.result);
91
+ };
92
+ }));
93
+ case 12:
94
+ return _context.abrupt("return", fileIcon);
95
+ case 13:
96
+ case "end":
97
+ return _context.stop();
98
+ }
99
+ }, _callee);
100
+ }));
101
+ return function getFilePreview(_x) {
102
+ return _ref.apply(this, arguments);
103
+ };
104
+ }();
105
+ var isFileIncluded = function isFileIncluded(file, fileList) {
106
+ var fileListInfo = fileList.map(function (existingFile) {
107
+ return existingFile.file;
108
+ });
109
+ return fileListInfo.some(function (_ref2) {
110
+ var name = _ref2.name,
111
+ size = _ref2.size,
112
+ type = _ref2.type,
113
+ lastModified = _ref2.lastModified,
114
+ webkitRelativePath = _ref2.webkitRelativePath;
115
+ return name === file.file.name && size === file.file.size && type === file.file.type && lastModified === file.file.lastModified && webkitRelativePath === file.file.webkitRelativePath;
116
+ });
100
117
  };
101
-
102
- var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
103
- var _ref$name = _ref.name,
104
- name = _ref$name === void 0 ? "" : _ref$name,
105
- _ref$mode = _ref.mode,
106
- mode = _ref$mode === void 0 ? "file" : _ref$mode,
107
- _ref$label = _ref.label,
108
- label = _ref$label === void 0 ? "" : _ref$label,
109
- buttonLabel = _ref.buttonLabel,
110
- dropAreaLabel = _ref.dropAreaLabel,
111
- _ref$helperText = _ref.helperText,
112
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
113
- accept = _ref.accept,
114
- minSize = _ref.minSize,
115
- maxSize = _ref.maxSize,
116
- _ref$showPreview = _ref.showPreview,
117
- showPreview = _ref$showPreview === void 0 ? false : _ref$showPreview,
118
- _ref$multiple = _ref.multiple,
119
- multiple = _ref$multiple === void 0 ? true : _ref$multiple,
120
- _ref$disabled = _ref.disabled,
121
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
122
- callbackFile = _ref.callbackFile,
123
- value = _ref.value,
124
- margin = _ref.margin,
125
- _ref$tabIndex = _ref.tabIndex,
126
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
127
-
118
+ var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref3, ref) {
119
+ var _ref3$name = _ref3.name,
120
+ name = _ref3$name === void 0 ? "" : _ref3$name,
121
+ _ref3$mode = _ref3.mode,
122
+ mode = _ref3$mode === void 0 ? "file" : _ref3$mode,
123
+ _ref3$label = _ref3.label,
124
+ label = _ref3$label === void 0 ? "" : _ref3$label,
125
+ buttonLabel = _ref3.buttonLabel,
126
+ dropAreaLabel = _ref3.dropAreaLabel,
127
+ _ref3$helperText = _ref3.helperText,
128
+ helperText = _ref3$helperText === void 0 ? "" : _ref3$helperText,
129
+ accept = _ref3.accept,
130
+ minSize = _ref3.minSize,
131
+ maxSize = _ref3.maxSize,
132
+ _ref3$showPreview = _ref3.showPreview,
133
+ showPreview = _ref3$showPreview === void 0 ? false : _ref3$showPreview,
134
+ _ref3$multiple = _ref3.multiple,
135
+ multiple = _ref3$multiple === void 0 ? true : _ref3$multiple,
136
+ _ref3$disabled = _ref3.disabled,
137
+ disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
138
+ callbackFile = _ref3.callbackFile,
139
+ value = _ref3.value,
140
+ margin = _ref3.margin,
141
+ _ref3$tabIndex = _ref3.tabIndex,
142
+ tabIndex = _ref3$tabIndex === void 0 ? 0 : _ref3$tabIndex;
128
143
  var _useState = (0, _react.useState)(false),
129
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
130
- isDragging = _useState2[0],
131
- setIsDragging = _useState2[1];
132
-
144
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
145
+ isDragging = _useState2[0],
146
+ setIsDragging = _useState2[1];
133
147
  var _useState3 = (0, _react.useState)([]),
134
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
135
- files = _useState4[0],
136
- setFiles = _useState4[1];
137
-
148
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
149
+ files = _useState4[0],
150
+ setFiles = _useState4[1];
138
151
  var _useState5 = (0, _react.useState)("file-input-".concat((0, _uuid.v4)())),
139
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
140
- fileInputId = _useState6[0];
141
-
152
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
153
+ fileInputId = _useState6[0];
142
154
  var colorsTheme = (0, _useTheme["default"])();
143
155
  var translatedLabels = (0, _useTranslatedLabels["default"])();
144
-
145
156
  var checkFileSize = function checkFileSize(file) {
146
157
  if (file.size < minSize) return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;else if (file.size > maxSize) return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
147
158
  };
148
-
149
159
  var getFilesToAdd = /*#__PURE__*/function () {
150
- var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(selectedFiles) {
160
+ var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(selectedFiles) {
151
161
  var filesToAdd;
152
- return _regenerator["default"].wrap(function _callee$(_context) {
153
- while (1) {
154
- switch (_context.prev = _context.next) {
155
- case 0:
156
- _context.next = 2;
157
- return Promise.all(selectedFiles.map(function (selectedFile) {
158
- return getFilePreview(selectedFile);
159
- })).then(function (previews) {
160
- return selectedFiles.map(function (file, index) {
161
- var fileInfo = {
162
- file: file,
163
- error: checkFileSize(file),
164
- preview: previews[index]
165
- };
166
- return fileInfo;
167
- });
162
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
163
+ while (1) switch (_context2.prev = _context2.next) {
164
+ case 0:
165
+ _context2.next = 2;
166
+ return Promise.all(selectedFiles.map(function (selectedFile) {
167
+ return getFilePreview(selectedFile);
168
+ })).then(function (previews) {
169
+ return selectedFiles.map(function (file, index) {
170
+ var fileInfo = {
171
+ file: file,
172
+ error: checkFileSize(file),
173
+ preview: previews[index]
174
+ };
175
+ return fileInfo;
168
176
  });
169
-
170
- case 2:
171
- filesToAdd = _context.sent;
172
- return _context.abrupt("return", filesToAdd);
173
-
174
- case 4:
175
- case "end":
176
- return _context.stop();
177
- }
177
+ });
178
+ case 2:
179
+ filesToAdd = _context2.sent;
180
+ return _context2.abrupt("return", filesToAdd.filter(function (file) {
181
+ return !isFileIncluded(file, files);
182
+ }));
183
+ case 4:
184
+ case "end":
185
+ return _context2.stop();
178
186
  }
179
- }, _callee);
187
+ }, _callee2);
180
188
  }));
181
-
182
- return function getFilesToAdd(_x) {
183
- return _ref2.apply(this, arguments);
189
+ return function getFilesToAdd(_x2) {
190
+ return _ref4.apply(this, arguments);
184
191
  };
185
192
  }();
186
-
187
193
  var addFile = /*#__PURE__*/function () {
188
- var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(selectedFiles) {
189
- var filesToAdd, finalFiles, fileToAdd;
190
- return _regenerator["default"].wrap(function _callee2$(_context2) {
191
- while (1) {
192
- switch (_context2.prev = _context2.next) {
193
- case 0:
194
- if (!multiple) {
195
- _context2.next = 8;
196
- break;
197
- }
198
-
199
- _context2.next = 3;
200
- return getFilesToAdd(selectedFiles);
201
-
202
- case 3:
203
- filesToAdd = _context2.sent;
204
- finalFiles = [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd));
205
- callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(finalFiles);
206
- _context2.next = 19;
207
- break;
208
-
209
- case 8:
210
- if (!(selectedFiles.length === 1)) {
211
- _context2.next = 14;
212
- break;
213
- }
214
-
215
- _context2.next = 11;
216
- return getFilesToAdd(selectedFiles);
217
-
218
- case 11:
219
- _context2.t0 = _context2.sent;
220
- _context2.next = 17;
221
- break;
222
-
223
- case 14:
224
- _context2.next = 16;
225
- return getFilesToAdd([selectedFiles[0]]);
226
-
227
- case 16:
228
- _context2.t0 = _context2.sent;
229
-
230
- case 17:
231
- fileToAdd = _context2.t0;
232
- callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(fileToAdd);
233
-
234
- case 19:
235
- case "end":
236
- return _context2.stop();
237
- }
194
+ var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(selectedFiles) {
195
+ var filesToAdd, finalFiles;
196
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
197
+ while (1) switch (_context3.prev = _context3.next) {
198
+ case 0:
199
+ _context3.next = 2;
200
+ return getFilesToAdd(multiple ? selectedFiles : selectedFiles.length === 1 ? selectedFiles : [selectedFiles[0]]);
201
+ case 2:
202
+ filesToAdd = _context3.sent;
203
+ finalFiles = multiple ? [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd)) : filesToAdd;
204
+ callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(finalFiles);
205
+ case 5:
206
+ case "end":
207
+ return _context3.stop();
238
208
  }
239
- }, _callee2);
209
+ }, _callee3);
240
210
  }));
241
-
242
- return function addFile(_x2) {
243
- return _ref3.apply(this, arguments);
211
+ return function addFile(_x3) {
212
+ return _ref5.apply(this, arguments);
244
213
  };
245
214
  }();
246
-
247
215
  var selectFiles = function selectFiles(e) {
248
216
  var selectedFiles = e.target.files;
249
217
  var filesArray = Object.keys(selectedFiles).map(function (key) {
@@ -252,7 +220,6 @@ var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
252
220
  addFile(filesArray);
253
221
  e.target.value = null;
254
222
  };
255
-
256
223
  var onDelete = (0, _react.useCallback)(function (fileName) {
257
224
  var filesCopy = (0, _toConsumableArray2["default"])(files);
258
225
  var fileToRemove = filesCopy.find(function (file) {
@@ -262,33 +229,26 @@ var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
262
229
  filesCopy.splice(fileIndex, 1);
263
230
  callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(filesCopy);
264
231
  }, [files, callbackFile]);
265
-
266
232
  var handleClick = function handleClick() {
267
233
  document.getElementById(fileInputId).click();
268
234
  };
269
-
270
235
  var handleDrag = function handleDrag(e) {
271
236
  e.preventDefault();
272
237
  e.stopPropagation();
273
238
  };
274
-
275
239
  var handleDragIn = function handleDragIn(e) {
276
240
  var _e$dataTransfer$items;
277
-
278
241
  if (((_e$dataTransfer$items = e.dataTransfer.items) === null || _e$dataTransfer$items === void 0 ? void 0 : _e$dataTransfer$items.length) > 0) setIsDragging(true);
279
242
  };
280
-
281
243
  var handleDragOut = function handleDragOut(e) {
282
244
  // only if dragged items leave container (outside, not to childs)
283
245
  if (!e.currentTarget.contains(e.relatedTarget)) setIsDragging(false);
284
246
  };
285
-
286
247
  var handleDrop = function handleDrop(e) {
287
248
  e.preventDefault();
288
249
  e.stopPropagation();
289
250
  setIsDragging(false);
290
251
  var filesObject = e.dataTransfer.files;
291
-
292
252
  if ((filesObject === null || filesObject === void 0 ? void 0 : filesObject.length) > 0) {
293
253
  var filesArray = Object.keys(filesObject).map(function (key) {
294
254
  return filesObject[key];
@@ -296,75 +256,60 @@ var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
296
256
  addFile(filesArray);
297
257
  }
298
258
  };
299
-
300
259
  (0, _react.useEffect)(function () {
301
260
  var getFiles = /*#__PURE__*/function () {
302
- var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
261
+ var _ref6 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
303
262
  var valueFiles;
304
- return _regenerator["default"].wrap(function _callee4$(_context4) {
305
- while (1) {
306
- switch (_context4.prev = _context4.next) {
307
- case 0:
308
- if (!value) {
309
- _context4.next = 5;
310
- break;
311
- }
312
-
313
- _context4.next = 3;
314
- return Promise.all(value.map( /*#__PURE__*/function () {
315
- var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(file) {
316
- var preview;
317
- return _regenerator["default"].wrap(function _callee3$(_context3) {
318
- while (1) {
319
- switch (_context3.prev = _context3.next) {
320
- case 0:
321
- if (!file.preview) {
322
- _context3.next = 4;
323
- break;
324
- }
325
-
326
- return _context3.abrupt("return", file);
327
-
328
- case 4:
329
- _context3.next = 6;
330
- return getFilePreview(file.file);
331
-
332
- case 6:
333
- preview = _context3.sent;
334
- return _context3.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
335
- preview: preview
336
- }));
337
-
338
- case 8:
339
- case "end":
340
- return _context3.stop();
263
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
264
+ while (1) switch (_context5.prev = _context5.next) {
265
+ case 0:
266
+ if (!value) {
267
+ _context5.next = 5;
268
+ break;
269
+ }
270
+ _context5.next = 3;
271
+ return Promise.all(value.map( /*#__PURE__*/function () {
272
+ var _ref7 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(file) {
273
+ var preview;
274
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
275
+ while (1) switch (_context4.prev = _context4.next) {
276
+ case 0:
277
+ if (!file.preview) {
278
+ _context4.next = 4;
279
+ break;
341
280
  }
342
- }
343
- }, _callee3);
344
- }));
345
-
346
- return function (_x3) {
347
- return _ref5.apply(this, arguments);
348
- };
349
- }()));
350
-
351
- case 3:
352
- valueFiles = _context4.sent;
353
- setFiles(valueFiles);
354
-
355
- case 5:
356
- case "end":
357
- return _context4.stop();
358
- }
281
+ return _context4.abrupt("return", file);
282
+ case 4:
283
+ _context4.next = 6;
284
+ return getFilePreview(file.file);
285
+ case 6:
286
+ preview = _context4.sent;
287
+ return _context4.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
288
+ preview: preview
289
+ }));
290
+ case 8:
291
+ case "end":
292
+ return _context4.stop();
293
+ }
294
+ }, _callee4);
295
+ }));
296
+ return function (_x4) {
297
+ return _ref7.apply(this, arguments);
298
+ };
299
+ }()));
300
+ case 3:
301
+ valueFiles = _context5.sent;
302
+ setFiles(valueFiles);
303
+ case 5:
304
+ case "end":
305
+ return _context5.stop();
359
306
  }
360
- }, _callee4);
307
+ }, _callee5);
361
308
  }));
362
-
363
309
  return function getFiles() {
364
- return _ref4.apply(this, arguments);
310
+ return _ref6.apply(this, arguments);
365
311
  };
366
312
  }();
367
-
368
313
  getFiles();
369
314
  }, [value]);
370
315
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
@@ -446,7 +391,6 @@ var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
446
391
  });
447
392
  }))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
448
393
  });
449
-
450
394
  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) {
451
395
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
452
396
  }, function (props) {
@@ -458,7 +402,6 @@ var FileInputContainer = _styledComponents["default"].div(_templateObject || (_t
458
402
  }, function (props) {
459
403
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
460
404
  });
461
-
462
405
  var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
463
406
  return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
464
407
  }, function (props) {
@@ -470,7 +413,6 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
470
413
  }, function (props) {
471
414
  return props.theme.labelLineHeight;
472
415
  });
473
-
474
416
  var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
475
417
  return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
476
418
  }, function (props) {
@@ -482,17 +424,12 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
482
424
  }, function (props) {
483
425
  return props.theme.helperTextLineHeight;
484
426
  });
485
-
486
427
  var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
487
428
  return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
488
429
  });
489
-
490
430
  var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
491
-
492
431
  var FileItemListContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n"])));
493
-
494
432
  var Container = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n margin-top: 0.25rem;\n"])));
495
-
496
433
  var DragDropArea = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n ", "\n align-items: center;\n width: 320px;\n padding: ", ";\n overflow: hidden;\n box-shadow: 0 0 0 2px transparent;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n ", "\n cursor: ", ";\n"])), function (props) {
497
434
  return props.mode === "filedrop" ? "flex-direction: row; column-gap: 0.75rem; height: 48px;" : "justify-content: center; flex-direction: column; row-gap: 0.5rem; height: 160px;";
498
435
  }, function (props) {
@@ -510,7 +447,6 @@ var DragDropArea = _styledComponents["default"].div(_templateObject8 || (_templa
510
447
  }, function (props) {
511
448
  return props.disabled && "not-allowed";
512
449
  });
513
-
514
450
  var DropzoneLabel = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (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 color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
515
451
  return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
516
452
  }, function (props) {
@@ -520,7 +456,6 @@ var DropzoneLabel = _styledComponents["default"].div(_templateObject9 || (_templ
520
456
  }, function (props) {
521
457
  return props.theme.dropLabelFontWeight;
522
458
  });
523
-
524
459
  var FiledropLabel = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (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"])), function (props) {
525
460
  return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
526
461
  }, function (props) {
@@ -530,7 +465,6 @@ var FiledropLabel = _styledComponents["default"].span(_templateObject10 || (_tem
530
465
  }, function (props) {
531
466
  return props.theme.dropLabelFontWeight;
532
467
  });
533
-
534
468
  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 margin-top: 0.25rem;\n"])), function (props) {
535
469
  return props.theme.errorMessageFontColor;
536
470
  }, function (props) {
@@ -542,6 +476,4 @@ var ErrorMessage = _styledComponents["default"].div(_templateObject11 || (_templ
542
476
  }, function (props) {
543
477
  return props.theme.errorMessageLineHeight;
544
478
  });
545
-
546
- var _default = DxcFileInput;
547
- exports["default"] = _default;
479
+ var _default = exports["default"] = DxcFileInput;
@@ -6,7 +6,7 @@ import FileItem from "./FileItem";
6
6
  import { HalstackProvider } from "../HalstackContext";
7
7
 
8
8
  export default {
9
- title: "File input",
9
+ title: "File Input",
10
10
  component: DxcFileInput,
11
11
  };
12
12