@dxc-technology/halstack-react 4.0.1 → 5.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 (344) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -6
  3. package/HalstackContext.d.ts +10 -0
  4. package/HalstackContext.js +243 -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 +67 -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 +40 -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 +10 -14
  25. package/badge/types.d.ts +4 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +84 -0
  29. package/bleed/Bleed.stories.tsx +342 -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 +15 -45
  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/button/Button.d.ts +4 -0
  39. package/button/Button.js +33 -99
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/Button.test.js +35 -0
  42. package/button/types.d.ts +53 -0
  43. package/button/types.js +5 -0
  44. package/card/Card.d.ts +4 -0
  45. package/card/Card.js +53 -144
  46. package/card/Card.stories.tsx +201 -0
  47. package/card/Card.test.js +50 -0
  48. package/card/ice-cream.jpg +0 -0
  49. package/card/types.d.ts +67 -0
  50. package/card/types.js +5 -0
  51. package/checkbox/Checkbox.d.ts +4 -0
  52. package/checkbox/Checkbox.js +50 -95
  53. package/checkbox/Checkbox.stories.tsx +188 -0
  54. package/checkbox/Checkbox.test.js +78 -0
  55. package/checkbox/types.d.ts +64 -0
  56. package/checkbox/types.js +5 -0
  57. package/chip/Chip.d.ts +4 -0
  58. package/chip/Chip.js +26 -130
  59. package/chip/Chip.stories.tsx +119 -0
  60. package/chip/Chip.test.js +56 -0
  61. package/chip/types.d.ts +45 -0
  62. package/chip/types.js +5 -0
  63. package/common/RequiredComponent.js +3 -11
  64. package/common/variables.js +94 -289
  65. package/date-input/DateInput.d.ts +4 -0
  66. package/date-input/DateInput.js +77 -108
  67. package/date-input/DateInput.stories.tsx +138 -0
  68. package/date-input/DateInput.test.js +479 -0
  69. package/date-input/types.d.ts +107 -0
  70. package/date-input/types.js +5 -0
  71. package/dialog/Dialog.d.ts +4 -0
  72. package/dialog/Dialog.js +25 -105
  73. package/dialog/Dialog.stories.tsx +212 -0
  74. package/dialog/Dialog.test.js +40 -0
  75. package/dialog/types.d.ts +43 -0
  76. package/dialog/types.js +5 -0
  77. package/dropdown/Dropdown.d.ts +4 -0
  78. package/dropdown/Dropdown.js +54 -207
  79. package/dropdown/Dropdown.stories.tsx +249 -0
  80. package/dropdown/Dropdown.test.js +189 -0
  81. package/dropdown/types.d.ts +80 -0
  82. package/dropdown/types.js +5 -0
  83. package/file-input/FileInput.d.ts +4 -0
  84. package/file-input/FileInput.js +195 -249
  85. package/file-input/FileInput.stories.tsx +507 -0
  86. package/file-input/FileInput.test.js +457 -0
  87. package/file-input/FileItem.d.ts +14 -0
  88. package/file-input/FileItem.js +40 -143
  89. package/file-input/types.d.ts +112 -0
  90. package/file-input/types.js +5 -0
  91. package/footer/Footer.d.ts +4 -0
  92. package/footer/Footer.js +47 -285
  93. package/footer/Footer.stories.tsx +130 -0
  94. package/footer/Footer.test.js +109 -0
  95. package/footer/Icons.d.ts +2 -0
  96. package/footer/Icons.js +15 -15
  97. package/footer/types.d.ts +65 -0
  98. package/footer/types.js +5 -0
  99. package/header/Header.d.ts +7 -0
  100. package/header/Header.js +76 -246
  101. package/header/Header.stories.tsx +172 -0
  102. package/header/Header.test.js +79 -0
  103. package/header/Icons.d.ts +2 -0
  104. package/header/Icons.js +7 -32
  105. package/header/types.d.ts +47 -0
  106. package/header/types.js +5 -0
  107. package/heading/Heading.d.ts +4 -0
  108. package/heading/Heading.js +25 -96
  109. package/heading/Heading.stories.tsx +54 -0
  110. package/heading/Heading.test.js +186 -0
  111. package/heading/types.d.ts +33 -0
  112. package/heading/types.js +5 -0
  113. package/inset/Inset.d.ts +3 -0
  114. package/inset/Inset.js +84 -0
  115. package/inset/Inset.stories.tsx +229 -0
  116. package/inset/types.d.ts +37 -0
  117. package/inset/types.js +5 -0
  118. package/layout/ApplicationLayout.d.ts +10 -0
  119. package/layout/ApplicationLayout.js +44 -153
  120. package/layout/ApplicationLayout.stories.tsx +171 -0
  121. package/layout/Icons.js +7 -7
  122. package/layout/types.d.ts +57 -0
  123. package/layout/types.js +5 -0
  124. package/link/Link.d.ts +3 -0
  125. package/link/Link.js +22 -110
  126. package/link/Link.stories.tsx +151 -0
  127. package/link/Link.test.js +91 -0
  128. package/link/types.d.ts +70 -0
  129. package/link/types.js +5 -0
  130. package/list/List.d.ts +4 -0
  131. package/list/List.js +47 -0
  132. package/list/List.stories.tsx +95 -0
  133. package/list/types.d.ts +7 -0
  134. package/list/types.js +5 -0
  135. package/main.d.ts +47 -40
  136. package/main.js +124 -96
  137. package/number-input/NumberInput.d.ts +4 -0
  138. package/number-input/NumberInput.js +21 -81
  139. package/number-input/NumberInput.stories.tsx +115 -0
  140. package/number-input/NumberInput.test.js +506 -0
  141. package/number-input/NumberInputContext.d.ts +4 -0
  142. package/number-input/NumberInputContext.js +5 -2
  143. package/number-input/numberInputContextTypes.d.ts +19 -0
  144. package/number-input/numberInputContextTypes.js +5 -0
  145. package/number-input/types.d.ts +124 -0
  146. package/number-input/types.js +5 -0
  147. package/package.json +21 -16
  148. package/paginator/Icons.js +9 -9
  149. package/paginator/Paginator.d.ts +4 -0
  150. package/paginator/Paginator.js +26 -139
  151. package/paginator/Paginator.stories.tsx +63 -0
  152. package/paginator/Paginator.test.js +266 -0
  153. package/paginator/types.d.ts +38 -0
  154. package/paginator/types.js +5 -0
  155. package/password-input/PasswordInput.d.ts +4 -0
  156. package/password-input/PasswordInput.js +37 -77
  157. package/password-input/PasswordInput.stories.tsx +131 -0
  158. package/password-input/PasswordInput.test.js +181 -0
  159. package/password-input/types.d.ts +110 -0
  160. package/password-input/types.js +5 -0
  161. package/progress-bar/ProgressBar.d.ts +4 -0
  162. package/progress-bar/ProgressBar.js +22 -94
  163. package/progress-bar/ProgressBar.stories.jsx +58 -0
  164. package/progress-bar/ProgressBar.test.js +65 -0
  165. package/progress-bar/types.d.ts +37 -0
  166. package/progress-bar/types.js +5 -0
  167. package/quick-nav/QuickNav.d.ts +4 -0
  168. package/quick-nav/QuickNav.js +64 -0
  169. package/quick-nav/QuickNav.stories.tsx +237 -0
  170. package/quick-nav/types.d.ts +21 -0
  171. package/quick-nav/types.js +5 -0
  172. package/radio/Radio.d.ts +4 -0
  173. package/radio/Radio.js +23 -59
  174. package/radio/Radio.stories.tsx +192 -0
  175. package/radio/Radio.test.js +71 -0
  176. package/radio/types.d.ts +54 -0
  177. package/radio/types.js +5 -0
  178. package/radio-group/Radio.d.ts +4 -0
  179. package/radio-group/Radio.js +141 -0
  180. package/radio-group/RadioGroup.d.ts +4 -0
  181. package/radio-group/RadioGroup.js +280 -0
  182. package/radio-group/RadioGroup.stories.tsx +100 -0
  183. package/radio-group/RadioGroup.test.js +695 -0
  184. package/radio-group/types.d.ts +114 -0
  185. package/radio-group/types.js +5 -0
  186. package/resultsetTable/ResultsetTable.d.ts +4 -0
  187. package/resultsetTable/ResultsetTable.js +43 -147
  188. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  189. package/resultsetTable/ResultsetTable.test.js +306 -0
  190. package/resultsetTable/types.d.ts +67 -0
  191. package/resultsetTable/types.js +5 -0
  192. package/row/Row.d.ts +3 -0
  193. package/row/Row.js +127 -0
  194. package/row/Row.stories.tsx +237 -0
  195. package/row/types.d.ts +28 -0
  196. package/row/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 +148 -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 +181 -664
  205. package/select/Select.stories.tsx +582 -0
  206. package/select/Select.test.js +2057 -0
  207. package/select/types.d.ts +213 -0
  208. package/select/types.js +5 -0
  209. package/sidenav/Sidenav.d.ts +9 -0
  210. package/sidenav/Sidenav.js +21 -64
  211. package/sidenav/Sidenav.stories.tsx +182 -0
  212. package/sidenav/Sidenav.test.js +56 -0
  213. package/sidenav/types.d.ts +50 -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 +45 -176
  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/stack/Stack.d.ts +3 -0
  228. package/stack/Stack.js +97 -0
  229. package/stack/Stack.stories.tsx +164 -0
  230. package/stack/types.d.ts +24 -0
  231. package/stack/types.js +5 -0
  232. package/switch/Switch.d.ts +4 -0
  233. package/switch/Switch.js +53 -83
  234. package/switch/Switch.stories.tsx +160 -0
  235. package/switch/Switch.test.js +98 -0
  236. package/switch/types.d.ts +62 -0
  237. package/switch/types.js +5 -0
  238. package/table/Table.d.ts +4 -0
  239. package/table/Table.js +12 -26
  240. package/table/Table.stories.jsx +277 -0
  241. package/table/Table.test.js +26 -0
  242. package/table/types.d.ts +21 -0
  243. package/table/types.js +5 -0
  244. package/tabs/Tabs.d.ts +4 -0
  245. package/tabs/Tabs.js +43 -175
  246. package/tabs/Tabs.stories.tsx +118 -0
  247. package/tabs/Tabs.test.js +140 -0
  248. package/tabs/types.d.ts +82 -0
  249. package/tabs/types.js +5 -0
  250. package/tag/Tag.d.ts +4 -0
  251. package/tag/Tag.js +44 -143
  252. package/tag/Tag.stories.tsx +142 -0
  253. package/tag/Tag.test.js +60 -0
  254. package/tag/types.d.ts +69 -0
  255. package/tag/types.js +5 -0
  256. package/text/Text.d.ts +7 -0
  257. package/text/Text.js +30 -0
  258. package/text/Text.stories.tsx +19 -0
  259. package/text-input/TextInput.d.ts +4 -0
  260. package/text-input/TextInput.js +156 -352
  261. package/text-input/TextInput.stories.tsx +474 -0
  262. package/text-input/TextInput.test.js +1712 -0
  263. package/text-input/types.d.ts +166 -0
  264. package/text-input/types.js +5 -0
  265. package/textarea/Textarea.d.ts +4 -0
  266. package/textarea/Textarea.js +48 -131
  267. package/textarea/Textarea.stories.jsx +157 -0
  268. package/textarea/Textarea.test.js +437 -0
  269. package/textarea/types.d.ts +137 -0
  270. package/textarea/types.js +5 -0
  271. package/toggle-group/ToggleGroup.d.ts +4 -0
  272. package/toggle-group/ToggleGroup.js +36 -148
  273. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  274. package/toggle-group/ToggleGroup.test.js +156 -0
  275. package/toggle-group/types.d.ts +105 -0
  276. package/toggle-group/types.js +5 -0
  277. package/useTheme.d.ts +2 -0
  278. package/useTheme.js +2 -2
  279. package/wizard/Wizard.d.ts +4 -0
  280. package/wizard/Wizard.js +106 -221
  281. package/wizard/Wizard.stories.tsx +214 -0
  282. package/wizard/Wizard.test.js +141 -0
  283. package/wizard/types.d.ts +64 -0
  284. package/wizard/types.js +5 -0
  285. package/ThemeContext.js +0 -250
  286. package/V3Select/V3Select.js +0 -549
  287. package/V3Select/index.d.ts +0 -27
  288. package/V3Textarea/V3Textarea.js +0 -264
  289. package/V3Textarea/index.d.ts +0 -27
  290. package/accordion/index.d.ts +0 -28
  291. package/accordion-group/index.d.ts +0 -16
  292. package/alert/index.d.ts +0 -51
  293. package/box/index.d.ts +0 -25
  294. package/button/Button.stories.js +0 -27
  295. package/button/index.d.ts +0 -24
  296. package/card/index.d.ts +0 -22
  297. package/checkbox/index.d.ts +0 -24
  298. package/chip/index.d.ts +0 -22
  299. package/date/Date.js +0 -379
  300. package/date/index.d.ts +0 -27
  301. package/date-input/index.d.ts +0 -95
  302. package/dialog/index.d.ts +0 -18
  303. package/dropdown/index.d.ts +0 -26
  304. package/file-input/index.d.ts +0 -81
  305. package/footer/index.d.ts +0 -25
  306. package/header/index.d.ts +0 -25
  307. package/heading/index.d.ts +0 -17
  308. package/input-text/Icons.js +0 -22
  309. package/input-text/InputText.js +0 -705
  310. package/input-text/index.d.ts +0 -36
  311. package/link/index.d.ts +0 -23
  312. package/number-input/index.d.ts +0 -113
  313. package/paginator/index.d.ts +0 -20
  314. package/password-input/index.d.ts +0 -94
  315. package/progress-bar/index.d.ts +0 -18
  316. package/radio/index.d.ts +0 -23
  317. package/resultsetTable/index.d.ts +0 -19
  318. package/select/index.d.ts +0 -131
  319. package/sidenav/index.d.ts +0 -13
  320. package/slider/index.d.ts +0 -29
  321. package/spinner/index.d.ts +0 -17
  322. package/switch/index.d.ts +0 -24
  323. package/table/index.d.ts +0 -13
  324. package/tabs/index.d.ts +0 -19
  325. package/tag/index.d.ts +0 -24
  326. package/text-input/index.d.ts +0 -135
  327. package/textarea/index.d.ts +0 -117
  328. package/toggle/Toggle.js +0 -220
  329. package/toggle/index.d.ts +0 -21
  330. package/toggle-group/index.d.ts +0 -21
  331. package/upload/Upload.js +0 -205
  332. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  333. package/upload/buttons-upload/Icons.js +0 -40
  334. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  335. package/upload/dragAndDropArea/Icons.js +0 -39
  336. package/upload/file-upload/FileToUpload.js +0 -189
  337. package/upload/file-upload/Icons.js +0 -66
  338. package/upload/files-upload/FilesToUpload.js +0 -123
  339. package/upload/index.d.ts +0 -15
  340. package/upload/transaction/Icons.js +0 -160
  341. package/upload/transaction/Transaction.js +0 -148
  342. package/upload/transactions/Transactions.js +0 -138
  343. package/wizard/Icons.js +0 -65
  344. package/wizard/index.d.ts +0 -18
@@ -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,53 @@ 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"));
34
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
35
35
 
36
- var _variables = require("../common/variables.js");
36
+ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
37
37
 
38
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
38
+ var _templateObject;
39
39
 
40
- var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
40
+ 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
41
 
42
- function _templateObject() {
43
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
42
+ 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; }
44
43
 
45
- _templateObject = function _templateObject() {
46
- return data;
47
- };
44
+ 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; }
45
+
46
+ 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; }
48
47
 
49
- return data;
50
- }
48
+ var getValueForPicker = function getValueForPicker(value, format) {
49
+ return (0, _dayjs["default"])(value, format.toUpperCase(), true).format();
50
+ };
51
51
 
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,
52
+ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
53
+ var label = _ref.label,
54
+ name = _ref.name,
55
+ _ref$defaultValue = _ref.defaultValue,
56
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
57
57
  value = _ref.value,
58
58
  _ref$format = _ref.format,
59
59
  format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
60
- _ref$helperText = _ref.helperText,
61
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
60
+ helperText = _ref.helperText,
62
61
  _ref$placeholder = _ref.placeholder,
63
62
  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,
63
+ clearable = _ref.clearable,
64
+ disabled = _ref.disabled,
65
+ optional = _ref.optional,
70
66
  onChange = _ref.onChange,
71
67
  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,
68
+ error = _ref.error,
69
+ autocomplete = _ref.autocomplete,
76
70
  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;
71
+ size = _ref.size,
72
+ tabIndex = _ref.tabIndex;
81
73
 
82
- var _useState = (0, _react.useState)(""),
74
+ var _useState = (0, _react.useState)(defaultValue),
83
75
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
84
76
  innerValue = _useState2[0],
85
77
  setInnerValue = _useState2[1];
@@ -95,6 +87,7 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
95
87
  setAnchorEl = _useState6[1];
96
88
 
97
89
  var colorsTheme = (0, _useTheme["default"])();
90
+ var refDate = ref || (0, _react.useRef)(null);
98
91
 
99
92
  var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
100
93
  switch (event.keyCode) {
@@ -107,12 +100,13 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
107
100
  };
108
101
 
109
102
  var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
110
- var newValue = (0, _moment["default"])(newDate).format(format.toUpperCase());
103
+ var newValue = (0, _dayjs["default"])(newDate).format(format.toUpperCase());
111
104
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
112
- onChange === null || onChange === void 0 ? void 0 : onChange({
105
+ newDate !== null && newDate !== void 0 && newDate.toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
113
106
  value: newValue,
114
- error: null,
115
- date: newDate && newDate.toJSON() ? newDate : null
107
+ date: newDate
108
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
109
+ value: newValue
116
110
  });
117
111
  };
118
112
 
@@ -120,36 +114,39 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
120
114
  var newValue = _ref2.value,
121
115
  inputError = _ref2.error;
122
116
  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({
117
+ var dayjsDate = (0, _dayjs["default"])(newValue, format.toUpperCase(), true);
118
+ var invalidDateMessage = newValue !== "" && !dayjsDate.isValid() && "Invalid date.";
119
+ var callbackParams = inputError || invalidDateMessage ? {
126
120
  value: newValue,
127
- error: inputError || invalidDateMessage,
128
- date: momentDate.isValid() ? momentDate._d : null
129
- });
121
+ error: inputError || invalidDateMessage
122
+ } : {
123
+ value: newValue
124
+ };
125
+ dayjsDate.isValid() ? onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
126
+ date: dayjsDate.toDate()
127
+ })) : onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
130
128
  };
131
129
 
132
130
  var handleIOnBlur = function handleIOnBlur(_ref3) {
133
131
  var value = _ref3.value,
134
132
  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({
133
+ var dayjsDate = (0, _dayjs["default"])(value, format.toUpperCase(), true);
134
+ var invalidDateMessage = value !== "" && !dayjsDate.isValid() && "Invalid date.";
135
+ var callbackParams = inputError || invalidDateMessage ? {
138
136
  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();
137
+ error: inputError || invalidDateMessage
138
+ } : {
139
+ value: value
140
+ };
141
+ dayjsDate.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
142
+ date: dayjsDate.toDate()
143
+ })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
146
144
  };
147
145
 
148
- var openCalendar = function openCalendar(event) {
149
- if (event) {
150
- setIsOpen(!isOpen);
151
- setAnchorEl(event.currentTarget);
152
- }
146
+ var openCalendar = function openCalendar() {
147
+ var dateBtn = refDate.current.getElementsByTagName("button")[0];
148
+ setIsOpen(!isOpen);
149
+ setAnchorEl(dateBtn);
153
150
  };
154
151
 
155
152
  var closeCalendar = function closeCalendar() {
@@ -158,16 +155,16 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
158
155
 
159
156
  var calendarAction = {
160
157
  onClick: openCalendar,
161
- icon: _react["default"].createElement("svg", {
158
+ icon: /*#__PURE__*/_react["default"].createElement("svg", {
162
159
  xmlns: "http://www.w3.org/2000/svg",
163
160
  height: "24",
164
161
  viewBox: "0 0 24 24",
165
162
  width: "24",
166
163
  fill: "currentColor"
167
- }, _react["default"].createElement("path", {
164
+ }, /*#__PURE__*/_react["default"].createElement("path", {
168
165
  d: "M0 0h24v24H0z",
169
166
  fill: "none"
170
- }), _react["default"].createElement("path", {
167
+ }), /*#__PURE__*/_react["default"].createElement("path", {
171
168
  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
169
  }))
173
170
  };
@@ -308,15 +305,16 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
308
305
  }
309
306
  }
310
307
  });
311
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
308
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
312
309
  theme: colorsTheme
313
- }, _react["default"].createElement(_core.MuiThemeProvider, {
310
+ }, /*#__PURE__*/_react["default"].createElement(_core.MuiThemeProvider, {
314
311
  theme: dateTheme
315
- }, _react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
316
- utils: _dateFns["default"]
317
- }, _react["default"].createElement(StyledDPicker, null, _react["default"].createElement(_TextInput["default"], {
312
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
313
+ utils: _dayjs2["default"]
314
+ }, /*#__PURE__*/_react["default"].createElement(StyledDPicker, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
318
315
  label: label,
319
316
  name: name,
317
+ defaultValue: defaultValue,
320
318
  value: value !== null && value !== void 0 ? value : innerValue,
321
319
  helperText: helperText,
322
320
  placeholder: placeholder ? format.toUpperCase() : null,
@@ -331,8 +329,8 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
331
329
  margin: margin,
332
330
  size: size,
333
331
  tabIndex: tabIndex,
334
- ref: ref
335
- }), _react["default"].createElement(_Popover["default"], {
332
+ ref: refDate
333
+ }), /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
336
334
  onKeyDown: handleCalendarOnKeyDown,
337
335
  open: isOpen,
338
336
  anchorEl: anchorEl,
@@ -349,14 +347,14 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
349
347
  marginTop: "10px"
350
348
  }
351
349
  }
352
- }, _react["default"].createElement(_ClickAwayListener["default"], {
350
+ }, /*#__PURE__*/_react["default"].createElement(_ClickAwayListener["default"], {
353
351
  onClickAway: closeCalendar
354
- }, _react["default"].createElement(_core.Paper, {
352
+ }, /*#__PURE__*/_react["default"].createElement(_core.Paper, {
355
353
  role: "dialog",
356
354
  "aria-modal": "true"
357
- }, _react["default"].createElement(_pickers.DatePicker, {
355
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.DatePicker, {
358
356
  variant: "static",
359
- value: getValueForPicker(),
357
+ value: getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format),
360
358
  onChange: function onChange(date) {
361
359
  return handleCalendarOnClick(date);
362
360
  },
@@ -365,36 +363,7 @@ var DxcDateInput = _react["default"].forwardRef(function (_ref, ref) {
365
363
  }))))))));
366
364
  });
367
365
 
368
- var sizes = {
369
- medium: "360px",
370
- large: "480px",
371
- fillParent: "100%"
372
- };
366
+ var StyledDPicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
373
367
 
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
368
  var _default = DxcDateInput;
400
369
  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
+ };