@dxc-technology/halstack-react 4.0.0 → 6.0.0

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 (354) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -6
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +35 -162
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +68 -85
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +43 -153
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +15 -17
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +36 -76
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +33 -97
  45. package/button/Button.stories.tsx +274 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +44 -137
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +67 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +52 -94
  58. package/checkbox/Checkbox.stories.tsx +188 -0
  59. package/checkbox/Checkbox.test.js +78 -0
  60. package/checkbox/types.d.ts +64 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +26 -130
  64. package/chip/Chip.stories.tsx +119 -0
  65. package/chip/Chip.test.js +56 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/common/RequiredComponent.js +3 -11
  69. package/common/variables.js +301 -373
  70. package/date-input/DateInput.d.ts +4 -0
  71. package/date-input/DateInput.js +80 -108
  72. package/date-input/DateInput.stories.tsx +138 -0
  73. package/date-input/DateInput.test.js +479 -0
  74. package/date-input/types.d.ts +107 -0
  75. package/date-input/types.js +5 -0
  76. package/dialog/Dialog.d.ts +4 -0
  77. package/dialog/Dialog.js +25 -105
  78. package/dialog/Dialog.stories.tsx +212 -0
  79. package/dialog/Dialog.test.js +40 -0
  80. package/dialog/types.d.ts +43 -0
  81. package/dialog/types.js +5 -0
  82. package/dropdown/Dropdown.d.ts +4 -0
  83. package/dropdown/Dropdown.js +54 -207
  84. package/dropdown/Dropdown.stories.tsx +249 -0
  85. package/dropdown/Dropdown.test.js +189 -0
  86. package/dropdown/types.d.ts +80 -0
  87. package/dropdown/types.js +5 -0
  88. package/file-input/FileInput.d.ts +4 -0
  89. package/file-input/FileInput.js +200 -251
  90. package/file-input/FileInput.stories.tsx +507 -0
  91. package/file-input/FileInput.test.js +457 -0
  92. package/file-input/FileItem.d.ts +14 -0
  93. package/file-input/FileItem.js +44 -145
  94. package/file-input/types.d.ts +112 -0
  95. package/file-input/types.js +5 -0
  96. package/flex/Flex.d.ts +4 -0
  97. package/flex/Flex.js +57 -0
  98. package/flex/Flex.stories.tsx +103 -0
  99. package/flex/types.d.ts +21 -0
  100. package/flex/types.js +5 -0
  101. package/footer/Footer.d.ts +4 -0
  102. package/footer/Footer.js +50 -286
  103. package/footer/Footer.stories.tsx +130 -0
  104. package/footer/Footer.test.js +109 -0
  105. package/footer/Icons.d.ts +2 -0
  106. package/footer/Icons.js +16 -16
  107. package/footer/types.d.ts +65 -0
  108. package/footer/types.js +5 -0
  109. package/header/Header.d.ts +7 -0
  110. package/header/Header.js +82 -249
  111. package/header/Header.stories.tsx +172 -0
  112. package/header/Header.test.js +79 -0
  113. package/header/Icons.d.ts +2 -0
  114. package/header/Icons.js +7 -32
  115. package/header/types.d.ts +47 -0
  116. package/header/types.js +5 -0
  117. package/heading/Heading.d.ts +4 -0
  118. package/heading/Heading.js +25 -96
  119. package/heading/Heading.stories.tsx +54 -0
  120. package/heading/Heading.test.js +186 -0
  121. package/heading/types.d.ts +33 -0
  122. package/heading/types.js +5 -0
  123. package/inset/Inset.d.ts +3 -0
  124. package/inset/Inset.js +51 -0
  125. package/inset/Inset.stories.tsx +229 -0
  126. package/inset/types.d.ts +37 -0
  127. package/inset/types.js +5 -0
  128. package/layout/ApplicationLayout.d.ts +20 -0
  129. package/layout/ApplicationLayout.js +76 -232
  130. package/layout/ApplicationLayout.stories.tsx +161 -0
  131. package/layout/Icons.d.ts +5 -0
  132. package/layout/Icons.js +19 -8
  133. package/layout/SidenavContext.d.ts +5 -0
  134. package/layout/SidenavContext.js +19 -0
  135. package/layout/types.d.ts +42 -0
  136. package/layout/types.js +5 -0
  137. package/link/Link.d.ts +4 -0
  138. package/link/Link.js +64 -165
  139. package/link/Link.stories.tsx +186 -0
  140. package/link/Link.test.js +83 -0
  141. package/link/types.d.ts +54 -0
  142. package/link/types.js +5 -0
  143. package/main.d.ts +44 -40
  144. package/main.js +114 -104
  145. package/number-input/NumberInput.d.ts +4 -0
  146. package/number-input/NumberInput.js +21 -81
  147. package/number-input/NumberInput.stories.tsx +115 -0
  148. package/number-input/NumberInput.test.js +506 -0
  149. package/number-input/NumberInputContext.d.ts +4 -0
  150. package/number-input/NumberInputContext.js +5 -2
  151. package/number-input/numberInputContextTypes.d.ts +19 -0
  152. package/number-input/numberInputContextTypes.js +5 -0
  153. package/number-input/types.d.ts +124 -0
  154. package/number-input/types.js +5 -0
  155. package/package.json +23 -16
  156. package/paginator/Icons.js +9 -9
  157. package/paginator/Paginator.d.ts +4 -0
  158. package/paginator/Paginator.js +32 -166
  159. package/paginator/Paginator.stories.tsx +63 -0
  160. package/paginator/Paginator.test.js +308 -0
  161. package/paginator/types.d.ts +38 -0
  162. package/paginator/types.js +5 -0
  163. package/paragraph/Paragraph.d.ts +6 -0
  164. package/paragraph/Paragraph.js +38 -0
  165. package/paragraph/Paragraph.stories.tsx +44 -0
  166. package/password-input/PasswordInput.d.ts +4 -0
  167. package/password-input/PasswordInput.js +40 -77
  168. package/password-input/PasswordInput.stories.tsx +131 -0
  169. package/password-input/PasswordInput.test.js +180 -0
  170. package/password-input/types.d.ts +110 -0
  171. package/password-input/types.js +5 -0
  172. package/progress-bar/ProgressBar.d.ts +4 -0
  173. package/progress-bar/ProgressBar.js +23 -95
  174. package/progress-bar/ProgressBar.stories.jsx +58 -0
  175. package/progress-bar/ProgressBar.test.js +65 -0
  176. package/progress-bar/types.d.ts +37 -0
  177. package/progress-bar/types.js +5 -0
  178. package/quick-nav/QuickNav.d.ts +4 -0
  179. package/quick-nav/QuickNav.js +118 -0
  180. package/quick-nav/QuickNav.stories.tsx +264 -0
  181. package/quick-nav/types.d.ts +21 -0
  182. package/quick-nav/types.js +5 -0
  183. package/radio-group/Radio.d.ts +4 -0
  184. package/radio-group/Radio.js +141 -0
  185. package/radio-group/RadioGroup.d.ts +4 -0
  186. package/radio-group/RadioGroup.js +283 -0
  187. package/radio-group/RadioGroup.stories.tsx +100 -0
  188. package/radio-group/RadioGroup.test.js +695 -0
  189. package/radio-group/types.d.ts +114 -0
  190. package/radio-group/types.js +5 -0
  191. package/resultsetTable/ResultsetTable.d.ts +4 -0
  192. package/resultsetTable/ResultsetTable.js +43 -147
  193. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  194. package/resultsetTable/ResultsetTable.test.js +348 -0
  195. package/resultsetTable/types.d.ts +67 -0
  196. package/resultsetTable/types.js +5 -0
  197. package/select/Icons.d.ts +10 -0
  198. package/select/Icons.js +93 -0
  199. package/select/Listbox.d.ts +4 -0
  200. package/select/Listbox.js +175 -0
  201. package/select/Option.d.ts +4 -0
  202. package/select/Option.js +110 -0
  203. package/select/Select.d.ts +4 -0
  204. package/select/Select.js +231 -709
  205. package/select/Select.stories.tsx +626 -0
  206. package/select/Select.test.js +2162 -0
  207. package/select/types.d.ts +212 -0
  208. package/select/types.js +5 -0
  209. package/sidenav/Sidenav.d.ts +10 -0
  210. package/sidenav/Sidenav.js +182 -105
  211. package/sidenav/Sidenav.stories.tsx +180 -0
  212. package/sidenav/Sidenav.test.js +44 -0
  213. package/sidenav/types.d.ts +73 -0
  214. package/sidenav/types.js +5 -0
  215. package/slider/Slider.d.ts +4 -0
  216. package/slider/Slider.js +76 -162
  217. package/slider/Slider.stories.tsx +177 -0
  218. package/slider/Slider.test.js +150 -0
  219. package/slider/types.d.ts +82 -0
  220. package/slider/types.js +5 -0
  221. package/spinner/Spinner.d.ts +4 -0
  222. package/spinner/Spinner.js +46 -177
  223. package/spinner/Spinner.stories.jsx +103 -0
  224. package/spinner/Spinner.test.js +64 -0
  225. package/spinner/types.d.ts +32 -0
  226. package/spinner/types.js +5 -0
  227. package/switch/Switch.d.ts +4 -0
  228. package/switch/Switch.js +55 -82
  229. package/switch/Switch.stories.tsx +160 -0
  230. package/switch/Switch.test.js +98 -0
  231. package/switch/types.d.ts +62 -0
  232. package/switch/types.js +5 -0
  233. package/table/Table.d.ts +4 -0
  234. package/table/Table.js +12 -26
  235. package/table/Table.stories.jsx +277 -0
  236. package/table/Table.test.js +26 -0
  237. package/table/types.d.ts +21 -0
  238. package/table/types.js +5 -0
  239. package/tabs/Tabs.d.ts +4 -0
  240. package/tabs/Tabs.js +43 -175
  241. package/tabs/Tabs.stories.tsx +112 -0
  242. package/tabs/Tabs.test.js +140 -0
  243. package/tabs/types.d.ts +82 -0
  244. package/tabs/types.js +5 -0
  245. package/tabs-nav/NavTabs.d.ts +8 -0
  246. package/tabs-nav/NavTabs.js +125 -0
  247. package/tabs-nav/NavTabs.stories.tsx +170 -0
  248. package/tabs-nav/NavTabs.test.js +82 -0
  249. package/tabs-nav/Tab.d.ts +4 -0
  250. package/tabs-nav/Tab.js +132 -0
  251. package/tabs-nav/types.d.ts +53 -0
  252. package/tabs-nav/types.js +5 -0
  253. package/tag/Tag.d.ts +4 -0
  254. package/tag/Tag.js +44 -143
  255. package/tag/Tag.stories.tsx +142 -0
  256. package/tag/Tag.test.js +60 -0
  257. package/tag/types.d.ts +69 -0
  258. package/tag/types.js +5 -0
  259. package/text-input/Suggestion.d.ts +4 -0
  260. package/text-input/Suggestion.js +55 -0
  261. package/text-input/TextInput.d.ts +4 -0
  262. package/text-input/TextInput.js +169 -391
  263. package/text-input/TextInput.stories.tsx +474 -0
  264. package/text-input/TextInput.test.js +1712 -0
  265. package/text-input/types.d.ts +178 -0
  266. package/text-input/types.js +5 -0
  267. package/textarea/Textarea.d.ts +4 -0
  268. package/textarea/Textarea.js +50 -142
  269. package/textarea/Textarea.stories.jsx +157 -0
  270. package/textarea/Textarea.test.js +437 -0
  271. package/textarea/types.d.ts +137 -0
  272. package/textarea/types.js +5 -0
  273. package/toggle-group/ToggleGroup.d.ts +4 -0
  274. package/toggle-group/ToggleGroup.js +36 -148
  275. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  276. package/toggle-group/ToggleGroup.test.js +156 -0
  277. package/toggle-group/types.d.ts +105 -0
  278. package/toggle-group/types.js +5 -0
  279. package/typography/Typography.d.ts +4 -0
  280. package/typography/Typography.js +131 -0
  281. package/typography/Typography.stories.tsx +198 -0
  282. package/typography/types.d.ts +18 -0
  283. package/typography/types.js +5 -0
  284. package/useTheme.d.ts +2 -0
  285. package/useTheme.js +2 -2
  286. package/useTranslatedLabels.d.ts +2 -0
  287. package/useTranslatedLabels.js +20 -0
  288. package/wizard/Wizard.d.ts +4 -0
  289. package/wizard/Wizard.js +132 -252
  290. package/wizard/Wizard.stories.tsx +233 -0
  291. package/wizard/Wizard.test.js +141 -0
  292. package/wizard/types.d.ts +65 -0
  293. package/wizard/types.js +5 -0
  294. package/ThemeContext.js +0 -250
  295. package/V3Select/V3Select.js +0 -549
  296. package/V3Select/index.d.ts +0 -27
  297. package/V3Textarea/V3Textarea.js +0 -264
  298. package/V3Textarea/index.d.ts +0 -27
  299. package/accordion/index.d.ts +0 -28
  300. package/accordion-group/index.d.ts +0 -16
  301. package/alert/index.d.ts +0 -51
  302. package/box/index.d.ts +0 -25
  303. package/button/Button.stories.js +0 -27
  304. package/button/index.d.ts +0 -24
  305. package/card/index.d.ts +0 -22
  306. package/checkbox/index.d.ts +0 -24
  307. package/chip/index.d.ts +0 -22
  308. package/date/Date.js +0 -379
  309. package/date/index.d.ts +0 -27
  310. package/date-input/index.d.ts +0 -95
  311. package/dialog/index.d.ts +0 -18
  312. package/dropdown/index.d.ts +0 -26
  313. package/file-input/index.d.ts +0 -81
  314. package/footer/index.d.ts +0 -25
  315. package/header/index.d.ts +0 -25
  316. package/heading/index.d.ts +0 -17
  317. package/input-text/Icons.js +0 -22
  318. package/input-text/InputText.js +0 -705
  319. package/input-text/index.d.ts +0 -36
  320. package/link/index.d.ts +0 -23
  321. package/number-input/index.d.ts +0 -113
  322. package/paginator/index.d.ts +0 -20
  323. package/password-input/index.d.ts +0 -94
  324. package/progress-bar/index.d.ts +0 -18
  325. package/radio/Radio.js +0 -209
  326. package/radio/index.d.ts +0 -23
  327. package/resultsetTable/index.d.ts +0 -19
  328. package/select/index.d.ts +0 -131
  329. package/sidenav/index.d.ts +0 -13
  330. package/slider/index.d.ts +0 -29
  331. package/spinner/index.d.ts +0 -17
  332. package/switch/index.d.ts +0 -24
  333. package/table/index.d.ts +0 -13
  334. package/tabs/index.d.ts +0 -19
  335. package/tag/index.d.ts +0 -24
  336. package/text-input/index.d.ts +0 -135
  337. package/textarea/index.d.ts +0 -117
  338. package/toggle/Toggle.js +0 -220
  339. package/toggle/index.d.ts +0 -21
  340. package/toggle-group/index.d.ts +0 -21
  341. package/upload/Upload.js +0 -205
  342. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  343. package/upload/buttons-upload/Icons.js +0 -40
  344. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  345. package/upload/dragAndDropArea/Icons.js +0 -39
  346. package/upload/file-upload/FileToUpload.js +0 -189
  347. package/upload/file-upload/Icons.js +0 -66
  348. package/upload/files-upload/FilesToUpload.js +0 -123
  349. package/upload/index.d.ts +0 -15
  350. package/upload/transaction/Icons.js +0 -160
  351. package/upload/transaction/Transaction.js +0 -148
  352. package/upload/transactions/Transactions.js +0 -138
  353. package/wizard/Icons.js +0 -65
  354. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import DateInputPropsType from "./types";
3
+ declare const DxcDateInput: React.ForwardRefExoticComponent<DateInputPropsType & React.RefAttributes<HTMLDivElement>>;
4
+ export default DxcDateInput;
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
13
 
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
@@ -25,61 +25,55 @@ var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/Click
25
25
 
26
26
  var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
27
27
 
28
- var _moment = _interopRequireDefault(require("moment"));
28
+ var _dayjs = _interopRequireDefault(require("dayjs"));
29
29
 
30
- var _dateFns = _interopRequireDefault(require("@date-io/date-fns"));
30
+ var _dayjs2 = _interopRequireDefault(require("@date-io/dayjs"));
31
31
 
32
32
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
33
33
 
34
- var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
- var _variables = require("../common/variables.js");
34
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
37
35
 
38
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
36
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
39
37
 
40
38
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
41
39
 
42
- function _templateObject() {
43
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
40
+ var _templateObject;
44
41
 
45
- _templateObject = function _templateObject() {
46
- return data;
47
- };
42
+ 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); }
43
+
44
+ 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; }
48
45
 
49
- return data;
50
- }
46
+ 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; }
51
47
 
52
- var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
53
- var _ref$label = _ref.label,
54
- label = _ref$label === void 0 ? "" : _ref$label,
55
- _ref$name = _ref.name,
56
- name = _ref$name === void 0 ? "" : _ref$name,
48
+ 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; }
49
+
50
+ var getValueForPicker = function getValueForPicker(value, format) {
51
+ return (0, _dayjs["default"])(value, format.toUpperCase(), true).format();
52
+ };
53
+
54
+ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
55
+ var label = _ref.label,
56
+ name = _ref.name,
57
+ _ref$defaultValue = _ref.defaultValue,
58
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
57
59
  value = _ref.value,
58
60
  _ref$format = _ref.format,
59
61
  format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
60
- _ref$helperText = _ref.helperText,
61
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
62
+ helperText = _ref.helperText,
62
63
  _ref$placeholder = _ref.placeholder,
63
64
  placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
64
- _ref$clearable = _ref.clearable,
65
- clearable = _ref$clearable === void 0 ? false : _ref$clearable,
66
- _ref$disabled = _ref.disabled,
67
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
68
- _ref$optional = _ref.optional,
69
- optional = _ref$optional === void 0 ? false : _ref$optional,
65
+ clearable = _ref.clearable,
66
+ disabled = _ref.disabled,
67
+ optional = _ref.optional,
70
68
  onChange = _ref.onChange,
71
69
  onBlur = _ref.onBlur,
72
- _ref$error = _ref.error,
73
- error = _ref$error === void 0 ? "" : _ref$error,
74
- _ref$autocomplete = _ref.autocomplete,
75
- autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
70
+ error = _ref.error,
71
+ autocomplete = _ref.autocomplete,
76
72
  margin = _ref.margin,
77
- _ref$size = _ref.size,
78
- size = _ref$size === void 0 ? "medium" : _ref$size,
79
- _ref$tabIndex = _ref.tabIndex,
80
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
73
+ size = _ref.size,
74
+ tabIndex = _ref.tabIndex;
81
75
 
82
- var _useState = (0, _react.useState)(""),
76
+ var _useState = (0, _react.useState)(defaultValue),
83
77
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
84
78
  innerValue = _useState2[0],
85
79
  setInnerValue = _useState2[1];
@@ -95,6 +89,8 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
95
89
  setAnchorEl = _useState6[1];
96
90
 
97
91
  var colorsTheme = (0, _useTheme["default"])();
92
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
93
+ var refDate = ref || (0, _react.useRef)(null);
98
94
 
99
95
  var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
100
96
  switch (event.keyCode) {
@@ -107,12 +103,13 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
107
103
  };
108
104
 
109
105
  var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
110
- var newValue = (0, _moment["default"])(newDate).format(format.toUpperCase());
106
+ var newValue = (0, _dayjs["default"])(newDate).format(format.toUpperCase());
111
107
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
112
- onChange === null || onChange === void 0 ? void 0 : onChange({
108
+ newDate !== null && newDate !== void 0 && newDate.toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
113
109
  value: newValue,
114
- error: null,
115
- date: newDate && newDate.toJSON() ? newDate : null
110
+ date: newDate
111
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
112
+ value: newValue
116
113
  });
117
114
  };
118
115
 
@@ -120,36 +117,39 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
120
117
  var newValue = _ref2.value,
121
118
  inputError = _ref2.error;
122
119
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
123
- var momentDate = (0, _moment["default"])(newValue, format.toUpperCase(), true);
124
- var invalidDateMessage = newValue !== "" && !momentDate.isValid() ? "Invalid date." : null;
125
- onChange === null || onChange === void 0 ? void 0 : onChange({
120
+ var dayjsDate = (0, _dayjs["default"])(newValue, format.toUpperCase(), true);
121
+ var invalidDateMessage = newValue !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
122
+ var callbackParams = inputError || invalidDateMessage ? {
126
123
  value: newValue,
127
- error: inputError || invalidDateMessage,
128
- date: momentDate.isValid() ? momentDate._d : null
129
- });
124
+ error: inputError || invalidDateMessage
125
+ } : {
126
+ value: newValue
127
+ };
128
+ dayjsDate.isValid() ? onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
129
+ date: dayjsDate.toDate()
130
+ })) : onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
130
131
  };
131
132
 
132
133
  var handleIOnBlur = function handleIOnBlur(_ref3) {
133
134
  var value = _ref3.value,
134
135
  inputError = _ref3.error;
135
- var momentDate = (0, _moment["default"])(value, format.toUpperCase(), true);
136
- var invalidDateMessage = value !== "" && !momentDate.isValid() ? "Invalid date." : null;
137
- onBlur === null || onBlur === void 0 ? void 0 : onBlur({
136
+ var dayjsDate = (0, _dayjs["default"])(value, format.toUpperCase(), true);
137
+ var invalidDateMessage = value !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
138
+ var callbackParams = inputError || invalidDateMessage ? {
138
139
  value: value,
139
- error: inputError || invalidDateMessage,
140
- date: momentDate.isValid() ? momentDate._d : null
141
- });
142
- };
143
-
144
- var getValueForPicker = function getValueForPicker() {
145
- return (0, _moment["default"])(value !== null && value !== void 0 ? value : innerValue, format.toUpperCase(), true).format();
140
+ error: inputError || invalidDateMessage
141
+ } : {
142
+ value: value
143
+ };
144
+ dayjsDate.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
145
+ date: dayjsDate.toDate()
146
+ })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
146
147
  };
147
148
 
148
- var openCalendar = function openCalendar(event) {
149
- if (event) {
150
- setIsOpen(!isOpen);
151
- setAnchorEl(event.currentTarget);
152
- }
149
+ var openCalendar = function openCalendar() {
150
+ var dateBtn = refDate.current.getElementsByTagName("button")[0];
151
+ setIsOpen(!isOpen);
152
+ setAnchorEl(dateBtn);
153
153
  };
154
154
 
155
155
  var closeCalendar = function closeCalendar() {
@@ -158,16 +158,16 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
158
158
 
159
159
  var calendarAction = {
160
160
  onClick: openCalendar,
161
- icon: _react["default"].createElement("svg", {
161
+ icon: /*#__PURE__*/_react["default"].createElement("svg", {
162
162
  xmlns: "http://www.w3.org/2000/svg",
163
163
  height: "24",
164
164
  viewBox: "0 0 24 24",
165
165
  width: "24",
166
166
  fill: "currentColor"
167
- }, _react["default"].createElement("path", {
167
+ }, /*#__PURE__*/_react["default"].createElement("path", {
168
168
  d: "M0 0h24v24H0z",
169
169
  fill: "none"
170
- }), _react["default"].createElement("path", {
170
+ }), /*#__PURE__*/_react["default"].createElement("path", {
171
171
  d: "M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"
172
172
  }))
173
173
  };
@@ -308,15 +308,16 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
308
308
  }
309
309
  }
310
310
  });
311
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
311
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
312
312
  theme: colorsTheme
313
- }, _react["default"].createElement(_core.MuiThemeProvider, {
313
+ }, /*#__PURE__*/_react["default"].createElement(_core.MuiThemeProvider, {
314
314
  theme: dateTheme
315
- }, _react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
316
- utils: _dateFns["default"]
317
- }, _react["default"].createElement(StyledDPicker, null, _react["default"].createElement(_TextInput["default"], {
315
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
316
+ utils: _dayjs2["default"]
317
+ }, /*#__PURE__*/_react["default"].createElement(StyledDPicker, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
318
318
  label: label,
319
319
  name: name,
320
+ defaultValue: defaultValue,
320
321
  value: value !== null && value !== void 0 ? value : innerValue,
321
322
  helperText: helperText,
322
323
  placeholder: placeholder ? format.toUpperCase() : null,
@@ -331,8 +332,8 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
331
332
  margin: margin,
332
333
  size: size,
333
334
  tabIndex: tabIndex,
334
- ref: ref
335
- }), _react["default"].createElement(_Popover["default"], {
335
+ ref: refDate
336
+ }), /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
336
337
  onKeyDown: handleCalendarOnKeyDown,
337
338
  open: isOpen,
338
339
  anchorEl: anchorEl,
@@ -349,14 +350,14 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
349
350
  marginTop: "10px"
350
351
  }
351
352
  }
352
- }, _react["default"].createElement(_ClickAwayListener["default"], {
353
+ }, /*#__PURE__*/_react["default"].createElement(_ClickAwayListener["default"], {
353
354
  onClickAway: closeCalendar
354
- }, _react["default"].createElement(_core.Paper, {
355
+ }, /*#__PURE__*/_react["default"].createElement(_core.Paper, {
355
356
  role: "dialog",
356
357
  "aria-modal": "true"
357
- }, _react["default"].createElement(_pickers.DatePicker, {
358
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.DatePicker, {
358
359
  variant: "static",
359
- value: getValueForPicker(),
360
+ value: getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format),
360
361
  onChange: function onChange(date) {
361
362
  return handleCalendarOnClick(date);
362
363
  },
@@ -365,36 +366,7 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
365
366
  }))))))));
366
367
  });
367
368
 
368
- var sizes = {
369
- medium: "360px",
370
- large: "480px",
371
- fillParent: "100%"
372
- };
369
+ var StyledDPicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
373
370
 
374
- var StyledDPicker = _styledComponents["default"].div(_templateObject());
375
-
376
- DxcDateInput.propTypes = {
377
- label: _propTypes["default"].string,
378
- name: _propTypes["default"].string,
379
- value: _propTypes["default"].string,
380
- format: _propTypes["default"].string,
381
- helperText: _propTypes["default"].string,
382
- placeholder: _propTypes["default"].bool,
383
- clearable: _propTypes["default"].bool,
384
- disabled: _propTypes["default"].bool,
385
- optional: _propTypes["default"].bool,
386
- onChange: _propTypes["default"].func,
387
- onBlur: _propTypes["default"].func,
388
- error: _propTypes["default"].string,
389
- autocomplete: _propTypes["default"].string,
390
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
391
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
392
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
393
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
394
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
395
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
396
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
397
- tabIndex: _propTypes["default"].number
398
- };
399
371
  var _default = DxcDateInput;
400
372
  exports["default"] = _default;
@@ -0,0 +1,138 @@
1
+ import React from "react";
2
+ import { userEvent, within, fireEvent, screen } from "@storybook/testing-library";
3
+ import DxcDateInput from "./DateInput";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
7
+ import DarkContainer from "../../.storybook/components/DarkSection";
8
+
9
+ export default {
10
+ title: "Date input",
11
+ component: DxcDateInput,
12
+ };
13
+
14
+ export const Chromatic = () => (
15
+ <>
16
+ <ExampleContainer>
17
+ <Title title="Complete date input" theme="light" level={4} />
18
+ <DxcDateInput label="Date input" helperText="Help message" format="dd/mm/yy" placeholder optional />
19
+ </ExampleContainer>
20
+ <ExampleContainer>
21
+ <Title title="Disabled" theme="light" level={4} />
22
+ <DxcDateInput label="Disabled date input" helperText="Help message" defaultValue="06-04-2027" clearable disabled />
23
+ </ExampleContainer>
24
+ <ExampleContainer>
25
+ <Title title="Invalid" theme="light" level={4} />
26
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
27
+ </ExampleContainer>
28
+ <ExampleContainer>
29
+ <Title title="Relation between icons" theme="light" level={4} />
30
+ <DxcDateInput label="Error date input" error="Error message." defaultValue="06-04-2027" clearable />
31
+ </ExampleContainer>
32
+ <BackgroundColorProvider color="#333333">
33
+ <DarkContainer>
34
+ <Title title="Dark" theme="dark" level={2} />
35
+ <ExampleContainer>
36
+ <Title title="Complete date input" theme="dark" level={4} />
37
+ <DxcDateInput label="Date input" helperText="Help message" format="yyyy/dd/mm" placeholder optional />
38
+ </ExampleContainer>
39
+ <ExampleContainer>
40
+ <Title title="Disabled" theme="dark" level={4} />
41
+ <DxcDateInput label="Disabled Date input" helperText="Help message" defaultValue="06-04-2027" clearable disabled />
42
+ </ExampleContainer>
43
+ <ExampleContainer>
44
+ <Title title="Invalid" theme="dark" level={4} />
45
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
46
+ </ExampleContainer>
47
+ <ExampleContainer>
48
+ <Title title="Relation between icons" theme="dark" level={4} />
49
+ <DxcDateInput label="Error date input" defaultValue="06-04-2027" error="Error message." clearable />
50
+ </ExampleContainer>
51
+ </DarkContainer>
52
+ </BackgroundColorProvider>
53
+ <Title title="Margins" theme="light" level={2} />
54
+ <ExampleContainer>
55
+ <Title title="Xxsmall" theme="light" level={4} />
56
+ <DxcDateInput label="Xxsmall" margin="xxsmall" />
57
+ </ExampleContainer>
58
+ <ExampleContainer>
59
+ <Title title="Xsmall" theme="light" level={4} />
60
+ <DxcDateInput label="Xsmall" margin="xsmall" />
61
+ </ExampleContainer>
62
+ <ExampleContainer>
63
+ <Title title="Small" theme="light" level={4} />
64
+ <DxcDateInput label="Small" margin="small" />
65
+ </ExampleContainer>
66
+ <ExampleContainer>
67
+ <Title title="Medium" theme="light" level={4} />
68
+ <DxcDateInput label="Medium" margin="medium" />
69
+ </ExampleContainer>
70
+ <ExampleContainer>
71
+ <Title title="Large" theme="light" level={4} />
72
+ <DxcDateInput label="Large" margin="large" />
73
+ </ExampleContainer>
74
+ <ExampleContainer>
75
+ <Title title="Xlarge" theme="light" level={4} />
76
+ <DxcDateInput label="Xlarge" margin="xlarge" />
77
+ </ExampleContainer>
78
+ <ExampleContainer>
79
+ <Title title="Xxlarge" theme="light" level={4} />
80
+ <DxcDateInput label="Xxlarge" margin="xxlarge" />
81
+ </ExampleContainer>
82
+ <Title title="Sizes" theme="light" level={2} />
83
+ <ExampleContainer>
84
+ <Title title="Medium size" theme="light" level={4} />
85
+ <DxcDateInput label="Medium" size="medium" />
86
+ </ExampleContainer>
87
+ <ExampleContainer>
88
+ <Title title="Large size" theme="light" level={4} />
89
+ <DxcDateInput label="Large" size="large" />
90
+ </ExampleContainer>
91
+ <ExampleContainer>
92
+ <Title title="FillParent size" theme="light" level={4} />
93
+ <DxcDateInput label="FillParent" size="fillParent" />
94
+ </ExampleContainer>
95
+ </>
96
+ );
97
+
98
+ const DatePicker = () => (
99
+ <ExampleContainer expanded>
100
+ <Title title="Show date input" theme="light" level={4} />
101
+ <DxcDateInput label="Date input" defaultValue="10-06-2023" />
102
+ </ExampleContainer>
103
+ );
104
+
105
+ export const ShowDatePicker = DatePicker.bind({});
106
+ ShowDatePicker.play = async ({ canvasElement }) => {
107
+ const canvas = within(canvasElement);
108
+ const dateBtn = canvas.getByRole("button");
109
+ await userEvent.click(dateBtn);
110
+ await userEvent.tab();
111
+ };
112
+
113
+ const YearPicker = () => (
114
+ <ExampleContainer expanded>
115
+ <Title title="Show date input" theme="light" level={4} />
116
+ <DxcDateInput label="Date input" defaultValue="10-06-2023" />
117
+ </ExampleContainer>
118
+ );
119
+
120
+ export const ShowYearPicker = YearPicker.bind({});
121
+ ShowYearPicker.play = async () => {
122
+ await fireEvent.click(screen.getByRole("button"));
123
+ await fireEvent.click(screen.getByText("2023"));
124
+ };
125
+
126
+ const YearPickerFocus = () => (
127
+ <ExampleContainer expanded>
128
+ <Title title="Show date input" theme="light" level={4} />
129
+ <DxcDateInput label="Date input" defaultValue="10-06-2023" />
130
+ </ExampleContainer>
131
+ );
132
+
133
+ export const ShowYearPickerFocus = YearPickerFocus.bind({});
134
+ ShowYearPickerFocus.play = async () => {
135
+ await fireEvent.click(screen.getByRole("button"));
136
+ await fireEvent.click(screen.getByText("2023"));
137
+ await screen.getByText("2021").focus();
138
+ };