@dxc-technology/halstack-react 0.0.0-64f5836 → 0.0.0-64fdce7

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 (364) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +294 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +121 -171
  7. package/accordion/Accordion.stories.tsx +346 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +61 -96
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +8 -24
  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 +6 -4
  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 +29 -65
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -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 +1 -1
  44. package/button/Button.js +58 -86
  45. package/button/Button.stories.tsx +316 -282
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +14 -18
  48. package/card/Card.d.ts +4 -0
  49. package/card/Card.js +38 -77
  50. package/card/Card.stories.tsx +201 -0
  51. package/card/Card.test.js +50 -0
  52. package/card/ice-cream.jpg +0 -0
  53. package/card/types.d.ts +68 -0
  54. package/card/types.js +5 -0
  55. package/checkbox/Checkbox.d.ts +2 -2
  56. package/checkbox/Checkbox.js +108 -111
  57. package/checkbox/Checkbox.stories.tsx +208 -0
  58. package/checkbox/Checkbox.test.js +155 -0
  59. package/checkbox/types.d.ts +15 -8
  60. package/chip/Chip.d.ts +4 -0
  61. package/chip/Chip.js +19 -91
  62. package/chip/Chip.stories.tsx +151 -0
  63. package/chip/Chip.test.js +56 -0
  64. package/chip/types.d.ts +45 -0
  65. package/chip/types.js +5 -0
  66. package/common/variables.js +449 -496
  67. package/date-input/Calendar.d.ts +4 -0
  68. package/date-input/Calendar.js +258 -0
  69. package/date-input/DateInput.d.ts +4 -0
  70. package/date-input/DateInput.js +173 -300
  71. package/date-input/DateInput.stories.tsx +237 -0
  72. package/date-input/DateInput.test.js +835 -0
  73. package/date-input/DatePicker.d.ts +4 -0
  74. package/date-input/DatePicker.js +146 -0
  75. package/date-input/Icons.d.ts +6 -0
  76. package/date-input/Icons.js +75 -0
  77. package/date-input/YearPicker.d.ts +4 -0
  78. package/date-input/YearPicker.js +126 -0
  79. package/date-input/types.d.ts +158 -0
  80. package/date-input/types.js +5 -0
  81. package/dialog/Dialog.d.ts +4 -0
  82. package/dialog/Dialog.js +52 -74
  83. package/dialog/Dialog.stories.tsx +267 -0
  84. package/dialog/Dialog.test.js +70 -0
  85. package/dialog/types.d.ts +44 -0
  86. package/dialog/types.js +5 -0
  87. package/dropdown/Dropdown.d.ts +4 -0
  88. package/dropdown/Dropdown.js +244 -306
  89. package/dropdown/Dropdown.stories.tsx +393 -0
  90. package/dropdown/Dropdown.test.js +585 -0
  91. package/dropdown/DropdownMenu.d.ts +4 -0
  92. package/dropdown/DropdownMenu.js +70 -0
  93. package/dropdown/DropdownMenuItem.d.ts +4 -0
  94. package/dropdown/DropdownMenuItem.js +81 -0
  95. package/dropdown/types.d.ts +100 -0
  96. package/dropdown/types.js +5 -0
  97. package/file-input/FileInput.d.ts +4 -0
  98. package/file-input/FileInput.js +185 -166
  99. package/file-input/FileInput.stories.tsx +535 -0
  100. package/file-input/FileInput.test.js +498 -0
  101. package/file-input/FileItem.d.ts +4 -0
  102. package/file-input/FileItem.js +49 -81
  103. package/file-input/types.d.ts +129 -0
  104. package/file-input/types.js +5 -0
  105. package/flex/Flex.d.ts +4 -0
  106. package/flex/Flex.js +69 -0
  107. package/flex/Flex.stories.tsx +103 -0
  108. package/flex/types.d.ts +32 -0
  109. package/flex/types.js +5 -0
  110. package/footer/Footer.d.ts +4 -0
  111. package/footer/Footer.js +36 -148
  112. package/footer/Footer.stories.tsx +137 -0
  113. package/footer/Footer.test.js +109 -0
  114. package/footer/Icons.d.ts +2 -0
  115. package/footer/Icons.js +4 -4
  116. package/footer/types.d.ts +66 -0
  117. package/footer/types.js +5 -0
  118. package/header/Header.d.ts +7 -0
  119. package/header/Header.js +126 -149
  120. package/header/Header.stories.tsx +205 -0
  121. package/header/Header.test.js +79 -0
  122. package/header/Icons.d.ts +2 -0
  123. package/header/Icons.js +4 -29
  124. package/header/types.d.ts +48 -0
  125. package/header/types.js +5 -0
  126. package/heading/Heading.d.ts +4 -0
  127. package/heading/Heading.js +7 -24
  128. package/heading/Heading.stories.tsx +54 -0
  129. package/heading/Heading.test.js +186 -0
  130. package/heading/types.d.ts +33 -0
  131. package/heading/types.js +5 -0
  132. package/inset/Inset.d.ts +3 -0
  133. package/inset/Inset.js +51 -0
  134. package/inset/Inset.stories.tsx +229 -0
  135. package/inset/types.d.ts +37 -0
  136. package/inset/types.js +5 -0
  137. package/layout/ApplicationLayout.d.ts +20 -0
  138. package/layout/ApplicationLayout.js +71 -135
  139. package/layout/ApplicationLayout.stories.tsx +162 -0
  140. package/layout/Icons.d.ts +5 -0
  141. package/layout/Icons.js +13 -2
  142. package/layout/SidenavContext.d.ts +5 -0
  143. package/layout/SidenavContext.js +19 -0
  144. package/layout/types.d.ts +42 -0
  145. package/layout/types.js +5 -0
  146. package/link/Link.d.ts +4 -0
  147. package/link/Link.js +61 -108
  148. package/link/Link.stories.tsx +193 -0
  149. package/link/Link.test.js +83 -0
  150. package/link/types.d.ts +54 -0
  151. package/link/types.js +5 -0
  152. package/main.d.ts +12 -12
  153. package/main.js +64 -58
  154. package/number-input/NumberInput.d.ts +4 -0
  155. package/number-input/NumberInput.js +16 -68
  156. package/number-input/NumberInput.stories.tsx +115 -0
  157. package/number-input/NumberInput.test.js +542 -0
  158. package/number-input/NumberInputContext.d.ts +4 -0
  159. package/number-input/NumberInputContext.js +5 -2
  160. package/number-input/numberInputContextTypes.d.ts +19 -0
  161. package/number-input/numberInputContextTypes.js +5 -0
  162. package/number-input/types.d.ts +124 -0
  163. package/number-input/types.js +5 -0
  164. package/package.json +21 -22
  165. package/paginator/Icons.d.ts +5 -0
  166. package/paginator/Icons.js +16 -28
  167. package/paginator/Paginator.js +21 -54
  168. package/paginator/Paginator.stories.tsx +63 -0
  169. package/paginator/Paginator.test.js +315 -0
  170. package/paragraph/Paragraph.d.ts +6 -0
  171. package/paragraph/Paragraph.js +38 -0
  172. package/paragraph/Paragraph.stories.tsx +44 -0
  173. package/password-input/PasswordInput.d.ts +4 -0
  174. package/password-input/PasswordInput.js +24 -57
  175. package/password-input/PasswordInput.stories.tsx +131 -0
  176. package/password-input/PasswordInput.test.js +181 -0
  177. package/password-input/types.d.ts +110 -0
  178. package/password-input/types.js +5 -0
  179. package/progress-bar/ProgressBar.d.ts +4 -0
  180. package/progress-bar/ProgressBar.js +60 -72
  181. package/progress-bar/ProgressBar.stories.jsx +60 -0
  182. package/progress-bar/ProgressBar.test.js +110 -0
  183. package/progress-bar/types.d.ts +36 -0
  184. package/progress-bar/types.js +5 -0
  185. package/quick-nav/QuickNav.d.ts +4 -0
  186. package/quick-nav/QuickNav.js +117 -0
  187. package/quick-nav/QuickNav.stories.tsx +342 -0
  188. package/quick-nav/types.d.ts +21 -0
  189. package/quick-nav/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +156 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +283 -0
  194. package/radio-group/RadioGroup.stories.tsx +101 -0
  195. package/radio-group/RadioGroup.test.js +722 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/Icons.d.ts +7 -0
  199. package/resultsetTable/Icons.js +51 -0
  200. package/resultsetTable/ResultsetTable.d.ts +4 -0
  201. package/resultsetTable/ResultsetTable.js +53 -132
  202. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  203. package/resultsetTable/ResultsetTable.test.js +325 -0
  204. package/resultsetTable/types.d.ts +67 -0
  205. package/resultsetTable/types.js +5 -0
  206. package/select/Icons.d.ts +10 -0
  207. package/select/Icons.js +93 -0
  208. package/select/Listbox.d.ts +4 -0
  209. package/select/Listbox.js +169 -0
  210. package/select/Option.d.ts +4 -0
  211. package/select/Option.js +97 -0
  212. package/select/Select.d.ts +4 -0
  213. package/select/Select.js +196 -397
  214. package/select/Select.stories.tsx +669 -0
  215. package/select/Select.test.js +2228 -0
  216. package/select/types.d.ts +210 -0
  217. package/select/types.js +5 -0
  218. package/sidenav/Sidenav.d.ts +10 -0
  219. package/sidenav/Sidenav.js +184 -63
  220. package/sidenav/Sidenav.stories.tsx +189 -0
  221. package/sidenav/Sidenav.test.js +44 -0
  222. package/sidenav/types.d.ts +73 -0
  223. package/sidenav/types.js +5 -0
  224. package/slider/Slider.d.ts +4 -0
  225. package/slider/Slider.js +159 -156
  226. package/slider/Slider.stories.tsx +183 -0
  227. package/slider/Slider.test.js +250 -0
  228. package/slider/types.d.ts +86 -0
  229. package/slider/types.js +5 -0
  230. package/spinner/Spinner.d.ts +4 -0
  231. package/spinner/Spinner.js +11 -28
  232. package/spinner/Spinner.stories.jsx +103 -0
  233. package/spinner/Spinner.test.js +64 -0
  234. package/spinner/types.d.ts +32 -0
  235. package/spinner/types.js +5 -0
  236. package/switch/Switch.d.ts +2 -2
  237. package/switch/Switch.js +152 -69
  238. package/switch/Switch.stories.tsx +138 -0
  239. package/switch/Switch.test.js +225 -0
  240. package/switch/types.d.ts +12 -4
  241. package/table/Table.d.ts +4 -0
  242. package/table/Table.js +4 -4
  243. package/table/Table.stories.jsx +277 -0
  244. package/table/Table.test.js +26 -0
  245. package/table/types.d.ts +21 -0
  246. package/table/types.js +5 -0
  247. package/tabs/Tab.d.ts +4 -0
  248. package/tabs/Tab.js +133 -0
  249. package/tabs/Tabs.d.ts +4 -0
  250. package/tabs/Tabs.js +364 -156
  251. package/tabs/Tabs.stories.tsx +188 -0
  252. package/tabs/Tabs.test.js +351 -0
  253. package/tabs/types.d.ts +92 -0
  254. package/tabs/types.js +5 -0
  255. package/tabs-nav/NavTabs.d.ts +8 -0
  256. package/tabs-nav/NavTabs.js +125 -0
  257. package/tabs-nav/NavTabs.stories.tsx +172 -0
  258. package/tabs-nav/NavTabs.test.js +82 -0
  259. package/tabs-nav/Tab.d.ts +4 -0
  260. package/tabs-nav/Tab.js +128 -0
  261. package/tabs-nav/types.d.ts +53 -0
  262. package/tabs-nav/types.js +5 -0
  263. package/tag/Tag.d.ts +4 -0
  264. package/tag/Tag.js +35 -60
  265. package/tag/Tag.stories.tsx +142 -0
  266. package/tag/Tag.test.js +60 -0
  267. package/tag/types.d.ts +69 -0
  268. package/tag/types.js +5 -0
  269. package/text-input/Icons.d.ts +8 -0
  270. package/text-input/Icons.js +60 -0
  271. package/text-input/Suggestion.d.ts +4 -0
  272. package/text-input/Suggestion.js +84 -0
  273. package/text-input/Suggestions.d.ts +4 -0
  274. package/text-input/Suggestions.js +134 -0
  275. package/text-input/TextInput.d.ts +4 -0
  276. package/text-input/TextInput.js +233 -385
  277. package/text-input/TextInput.stories.tsx +501 -0
  278. package/text-input/TextInput.test.js +1724 -0
  279. package/text-input/types.d.ts +197 -0
  280. package/text-input/types.js +5 -0
  281. package/textarea/Textarea.d.ts +4 -0
  282. package/textarea/Textarea.js +39 -79
  283. package/textarea/Textarea.stories.jsx +157 -0
  284. package/textarea/Textarea.test.js +437 -0
  285. package/textarea/types.d.ts +137 -0
  286. package/textarea/types.js +5 -0
  287. package/toggle-group/ToggleGroup.d.ts +4 -0
  288. package/toggle-group/ToggleGroup.js +18 -46
  289. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  290. package/toggle-group/ToggleGroup.test.js +156 -0
  291. package/toggle-group/types.d.ts +105 -0
  292. package/toggle-group/types.js +5 -0
  293. package/typography/Typography.d.ts +4 -0
  294. package/typography/Typography.js +131 -0
  295. package/typography/Typography.stories.tsx +198 -0
  296. package/typography/types.d.ts +18 -0
  297. package/typography/types.js +5 -0
  298. package/useTheme.d.ts +2 -0
  299. package/useTheme.js +2 -2
  300. package/useTranslatedLabels.d.ts +2 -0
  301. package/useTranslatedLabels.js +20 -0
  302. package/wizard/Wizard.d.ts +4 -0
  303. package/wizard/Wizard.js +118 -104
  304. package/wizard/Wizard.stories.tsx +233 -0
  305. package/wizard/Wizard.test.js +141 -0
  306. package/wizard/types.d.ts +65 -0
  307. package/wizard/types.js +5 -0
  308. package/ThemeContext.js +0 -246
  309. package/V3Select/V3Select.js +0 -455
  310. package/V3Select/index.d.ts +0 -27
  311. package/V3Textarea/V3Textarea.js +0 -260
  312. package/V3Textarea/index.d.ts +0 -27
  313. package/accordion/index.d.ts +0 -28
  314. package/accordion-group/index.d.ts +0 -16
  315. package/alert/index.d.ts +0 -51
  316. package/box/index.d.ts +0 -25
  317. package/card/index.d.ts +0 -22
  318. package/chip/index.d.ts +0 -22
  319. package/common/RequiredComponent.js +0 -32
  320. package/date/Date.js +0 -373
  321. package/date/index.d.ts +0 -27
  322. package/date-input/index.d.ts +0 -95
  323. package/dialog/index.d.ts +0 -18
  324. package/dropdown/index.d.ts +0 -26
  325. package/file-input/index.d.ts +0 -81
  326. package/footer/index.d.ts +0 -25
  327. package/header/index.d.ts +0 -25
  328. package/heading/index.d.ts +0 -17
  329. package/input-text/Icons.js +0 -22
  330. package/input-text/InputText.js +0 -611
  331. package/input-text/index.d.ts +0 -36
  332. package/link/index.d.ts +0 -23
  333. package/number-input/index.d.ts +0 -113
  334. package/password-input/index.d.ts +0 -94
  335. package/progress-bar/index.d.ts +0 -18
  336. package/radio/Radio.js +0 -195
  337. package/radio/index.d.ts +0 -23
  338. package/resultsetTable/index.d.ts +0 -19
  339. package/select/index.d.ts +0 -131
  340. package/sidenav/index.d.ts +0 -13
  341. package/slider/index.d.ts +0 -29
  342. package/spinner/index.d.ts +0 -17
  343. package/table/index.d.ts +0 -13
  344. package/tabs/index.d.ts +0 -19
  345. package/tag/index.d.ts +0 -24
  346. package/text-input/index.d.ts +0 -135
  347. package/textarea/index.d.ts +0 -117
  348. package/toggle/Toggle.js +0 -186
  349. package/toggle/index.d.ts +0 -21
  350. package/toggle-group/index.d.ts +0 -21
  351. package/upload/Upload.js +0 -201
  352. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  353. package/upload/buttons-upload/Icons.js +0 -40
  354. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  355. package/upload/dragAndDropArea/Icons.js +0 -39
  356. package/upload/file-upload/FileToUpload.js +0 -115
  357. package/upload/file-upload/Icons.js +0 -66
  358. package/upload/files-upload/FilesToUpload.js +0 -109
  359. package/upload/index.d.ts +0 -15
  360. package/upload/transaction/Icons.js +0 -160
  361. package/upload/transaction/Transaction.js +0 -104
  362. package/upload/transactions/Transactions.js +0 -94
  363. package/wizard/Icons.js +0 -65
  364. package/wizard/index.d.ts +0 -18
@@ -9,35 +9,33 @@ Object.defineProperty(exports, "__esModule", {
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"));
19
19
 
20
- var _pickers = require("@material-ui/pickers");
20
+ var _dayjs = _interopRequireDefault(require("dayjs"));
21
21
 
22
- var _core = require("@material-ui/core");
23
-
24
- var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/ClickAwayListener"));
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
23
 
26
- var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
25
 
28
- var _moment = _interopRequireDefault(require("moment"));
26
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
29
27
 
30
- var _dateFns = _interopRequireDefault(require("@date-io/date-fns"));
28
+ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
31
29
 
32
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
30
+ var _DatePicker = _interopRequireDefault(require("./DatePicker"));
33
31
 
34
- var _propTypes = _interopRequireDefault(require("prop-types"));
32
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
35
33
 
36
- var _variables = require("../common/variables.js");
34
+ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
37
35
 
38
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
36
+ var _uuid = require("uuid");
39
37
 
40
- var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
38
+ var _Icons = require("./Icons");
41
39
 
42
40
  var _templateObject;
43
41
 
@@ -45,37 +43,61 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
45
43
 
46
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; }
47
45
 
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; }
47
+
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
+ _dayjs["default"].extend(_customParseFormat["default"]);
51
+
52
+ var getValueForPicker = function getValueForPicker(value, format) {
53
+ return (0, _dayjs["default"])(value, format.toUpperCase(), true);
54
+ };
55
+
56
+ var getDate = function getDate(value, format, lastValidYear, setLastValidYear) {
57
+ if ((value || value === "") && format.toUpperCase().includes("YYYY")) return getValueForPicker(value, format);else {
58
+ var newDate = getValueForPicker(value, format);
59
+
60
+ if (!lastValidYear) {
61
+ if (+newDate.format("YY") < 68) {
62
+ setLastValidYear(2000 + +newDate.format("YY"));
63
+ newDate = newDate.set("year", 2000 + +newDate.format("YY"));
64
+ } else {
65
+ setLastValidYear(1900 + +newDate.format("YY"));
66
+ newDate = newDate.set("year", 1900 + +newDate.format("YY"));
67
+ }
68
+ } else {
69
+ newDate = newDate.set("year", (lastValidYear <= 1999 ? 1900 : 2000) + +newDate.format("YY"));
70
+ }
71
+
72
+ return newDate;
73
+ }
74
+ };
75
+
48
76
  var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
49
- var _ref$label = _ref.label,
50
- label = _ref$label === void 0 ? "" : _ref$label,
51
- _ref$name = _ref.name,
52
- name = _ref$name === void 0 ? "" : _ref$name,
77
+ var _ref2;
78
+
79
+ var label = _ref.label,
80
+ name = _ref.name,
81
+ _ref$defaultValue = _ref.defaultValue,
82
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
53
83
  value = _ref.value,
54
84
  _ref$format = _ref.format,
55
85
  format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
56
- _ref$helperText = _ref.helperText,
57
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
86
+ helperText = _ref.helperText,
58
87
  _ref$placeholder = _ref.placeholder,
59
88
  placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
60
- _ref$clearable = _ref.clearable,
61
- clearable = _ref$clearable === void 0 ? false : _ref$clearable,
62
- _ref$disabled = _ref.disabled,
63
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
64
- _ref$optional = _ref.optional,
65
- optional = _ref$optional === void 0 ? false : _ref$optional,
89
+ clearable = _ref.clearable,
90
+ disabled = _ref.disabled,
91
+ optional = _ref.optional,
66
92
  onChange = _ref.onChange,
67
93
  onBlur = _ref.onBlur,
68
- _ref$error = _ref.error,
69
- error = _ref$error === void 0 ? "" : _ref$error,
70
- _ref$autocomplete = _ref.autocomplete,
71
- autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
94
+ error = _ref.error,
95
+ autocomplete = _ref.autocomplete,
72
96
  margin = _ref.margin,
73
- _ref$size = _ref.size,
74
- size = _ref$size === void 0 ? "medium" : _ref$size,
75
- _ref$tabIndex = _ref.tabIndex,
76
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
97
+ size = _ref.size,
98
+ tabIndex = _ref.tabIndex;
77
99
 
78
- var _useState = (0, _react.useState)(""),
100
+ var _useState = (0, _react.useState)(defaultValue),
79
101
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
80
102
  innerValue = _useState2[0],
81
103
  setInnerValue = _useState2[1];
@@ -85,238 +107,138 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
85
107
  isOpen = _useState4[0],
86
108
  setIsOpen = _useState4[1];
87
109
 
88
- var _useState5 = (0, _react.useState)(null),
89
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
90
- anchorEl = _useState6[0],
91
- setAnchorEl = _useState6[1];
110
+ var _useState5 = (0, _react.useState)("date-picker-".concat((0, _uuid.v4)())),
111
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
112
+ calendarId = _useState6[0];
92
113
 
93
- var colorsTheme = (0, _useTheme["default"])();
114
+ var _useState7 = (0, _react.useState)(getValueForPicker((_ref2 = value !== null && value !== void 0 ? value : defaultValue) !== null && _ref2 !== void 0 ? _ref2 : "", format)),
115
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
116
+ dayjsDate = _useState8[0],
117
+ setDayjsDate = _useState8[1];
94
118
 
95
- var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
96
- switch (event.keyCode) {
97
- case 27:
98
- // Esc
99
- event.preventDefault();
100
- setIsOpen(false);
101
- break;
119
+ var _useState9 = (0, _react.useState)(innerValue || value ? !format.toUpperCase().includes("YYYY") && +getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format).format("YY") < 68 ? 2000 : 1900 : undefined),
120
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
121
+ lastValidYear = _useState10[0],
122
+ setLastValidYear = _useState10[1];
123
+
124
+ var colorsTheme = (0, _useTheme["default"])();
125
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
126
+ var dateRef = (0, _react.useRef)(null);
127
+ (0, _react.useEffect)(function () {
128
+ if (value || value === "") setDayjsDate(getDate(value, format, lastValidYear, setLastValidYear));
129
+ }, [value, format, lastValidYear]);
130
+ (0, _react.useLayoutEffect)(function () {
131
+ if (!disabled) {
132
+ var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Open calendar']");
133
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
134
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("role", "combobox");
135
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-expanded", isOpen);
136
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-controls", calendarId);
137
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
102
138
  }
103
- };
139
+ }, [isOpen, disabled, calendarId]);
104
140
 
105
141
  var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
106
- var newValue = (0, _moment["default"])(newDate).format(format.toUpperCase());
107
- value !== null && value !== void 0 ? value : setInnerValue(newValue);
108
- onChange === null || onChange === void 0 ? void 0 : onChange({
142
+ var newValue = newDate.format(format.toUpperCase());
143
+
144
+ if (!value) {
145
+ setDayjsDate(newDate);
146
+ setInnerValue(newValue);
147
+ }
148
+
149
+ setLastValidYear(newDate.get("year"));
150
+ newDate !== null && newDate !== void 0 && newDate.set("day", newDate.get("date")).toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
109
151
  value: newValue,
110
- error: null,
111
- date: newDate && newDate.toJSON() ? newDate : null
152
+ date: newDate.toDate()
153
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
154
+ value: newValue
112
155
  });
113
156
  };
114
157
 
115
- var handleIOnChange = function handleIOnChange(_ref2) {
116
- var newValue = _ref2.value,
117
- inputError = _ref2.error;
158
+ var handleIOnChange = function handleIOnChange(_ref3) {
159
+ var newValue = _ref3.value,
160
+ inputError = _ref3.error;
118
161
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
119
- var momentDate = (0, _moment["default"])(newValue, format.toUpperCase(), true);
120
- var invalidDateMessage = newValue !== "" && !momentDate.isValid() ? "Invalid date." : null;
121
- onChange === null || onChange === void 0 ? void 0 : onChange({
162
+ var newDate = getDate(newValue, format, lastValidYear, setLastValidYear);
163
+ var invalidDateMessage = newValue !== "" && !newDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
164
+ var callbackParams = inputError || invalidDateMessage ? {
122
165
  value: newValue,
123
- error: inputError || invalidDateMessage,
124
- date: momentDate.isValid() ? momentDate._d : null
125
- });
166
+ error: inputError || invalidDateMessage
167
+ } : {
168
+ value: newValue
169
+ };
170
+
171
+ if (newDate.isValid()) {
172
+ setDayjsDate(newDate);
173
+ onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
174
+ date: newDate.toDate()
175
+ }));
176
+ } else {
177
+ onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
178
+ setLastValidYear(function (validYear) {
179
+ var _dayjsDate$get;
180
+
181
+ return (_dayjsDate$get = dayjsDate === null || dayjsDate === void 0 ? void 0 : dayjsDate.get("year")) !== null && _dayjsDate$get !== void 0 ? _dayjsDate$get : validYear;
182
+ });
183
+ setDayjsDate(null);
184
+ }
126
185
  };
127
186
 
128
- var handleIOnBlur = function handleIOnBlur(_ref3) {
129
- var value = _ref3.value,
130
- inputError = _ref3.error;
131
- var momentDate = (0, _moment["default"])(value, format.toUpperCase(), true);
132
- var invalidDateMessage = value !== "" && !momentDate.isValid() ? "Invalid date." : null;
133
- onBlur === null || onBlur === void 0 ? void 0 : onBlur({
187
+ var handleIOnBlur = function handleIOnBlur(_ref4) {
188
+ var value = _ref4.value,
189
+ inputError = _ref4.error;
190
+ var date = getDate(value, format, lastValidYear, setLastValidYear);
191
+ var invalidDateMessage = value !== "" && !date.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
192
+ var callbackParams = inputError || invalidDateMessage ? {
134
193
  value: value,
135
- error: inputError || invalidDateMessage,
136
- date: momentDate.isValid() ? momentDate._d : null
137
- });
194
+ error: inputError || invalidDateMessage
195
+ } : {
196
+ value: value
197
+ };
198
+ date.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
199
+ date: date.toDate()
200
+ })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
138
201
  };
139
202
 
140
- var getValueForPicker = function getValueForPicker() {
141
- return (0, _moment["default"])(value !== null && value !== void 0 ? value : innerValue, format.toUpperCase(), true).format();
142
- };
143
-
144
- var openCalendar = function openCalendar(event) {
145
- if (event) {
146
- setIsOpen(!isOpen);
147
- setAnchorEl(event.currentTarget);
148
- }
203
+ var openCalendar = function openCalendar() {
204
+ setIsOpen(!isOpen);
149
205
  };
150
206
 
151
207
  var closeCalendar = function closeCalendar() {
152
208
  setIsOpen(false);
153
209
  };
154
210
 
155
- var calendarAction = {
156
- onClick: openCalendar,
157
- icon: /*#__PURE__*/_react["default"].createElement("svg", {
158
- xmlns: "http://www.w3.org/2000/svg",
159
- height: "24",
160
- viewBox: "0 0 24 24",
161
- width: "24",
162
- fill: "currentColor"
163
- }, /*#__PURE__*/_react["default"].createElement("path", {
164
- d: "M0 0h24v24H0z",
165
- fill: "none"
166
- }), /*#__PURE__*/_react["default"].createElement("path", {
167
- 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"
168
- }))
211
+ var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
212
+ event.preventDefault();
213
+ closeCalendar();
214
+ dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
169
215
  };
170
- var dateTheme = (0, _core.createMuiTheme)({
171
- overrides: {
172
- MuiTypography: {
173
- root: {
174
- fontFamily: "".concat(colorsTheme.dateInput.pickerFontFamily, " !important")
175
- }
176
- },
177
- MuiPickersYearSelection: {
178
- container: {
179
- color: colorsTheme.dateInput.pickerYearFontColor,
180
- "&::-webkit-scrollbar": {
181
- width: "3px"
182
- },
183
- "&::-webkit-scrollbar-track": {
184
- backgroundColor: "#D9D9D9",
185
- borderRadius: "3px"
186
- },
187
- "&::-webkit-scrollbar-thumb": {
188
- backgroundColor: "#666666",
189
- borderRadius: "3px"
190
- }
191
- }
192
- },
193
- MuiPickersToolbar: {
194
- toolbar: {
195
- backgroundColor: colorsTheme.dateInput.pickerBackgroundColor,
196
- color: colorsTheme.dateInput.pickerDayFontColor
197
- }
198
- },
199
- MuiIconButton: {
200
- root: {
201
- height: "36px",
202
- width: "36px",
203
- padding: "0px"
204
- }
205
- },
206
- MuiTouchRipple: {
207
- child: {
208
- opacity: "0"
209
- }
210
- },
211
- MuiButtonBase: {
212
- root: {
213
- "&:focus": {
214
- outline: colorsTheme.dateInput.pickerFocusColor + " solid 2px"
215
- }
216
- }
217
- },
218
- MuiPickersBasePicker: {
219
- pickerView: {
220
- minWidth: "unset",
221
- maxWidth: "unset",
222
- minHeight: "unset",
223
- padding: "0px 10px",
224
- height: colorsTheme.dateInput.pickerHeight,
225
- width: colorsTheme.dateInput.pickerWidth,
226
- backgroundColor: colorsTheme.dateInput.pickerBackgroundColor,
227
- fontFamily: colorsTheme.dateInput.pickerFontFamily
228
- }
229
- },
230
- MuiPickersToolbarText: {
231
- toolbarTxt: {
232
- color: colorsTheme.dateInput.pickerActualDateFontColor,
233
- fontFamily: colorsTheme.dateInput.pickerFontFamily,
234
- fontSize: "2rem"
235
- },
236
- toolbarBtnSelected: {
237
- color: colorsTheme.dateInput.pickerActualDateFontColor
238
- }
239
- },
240
- MuiPickersCalendarHeader: {
241
- transitionContainer: {
242
- color: colorsTheme.dateInput.pickerMonthFontColor
243
- },
244
- dayLabel: {
245
- color: colorsTheme.dateInput.pickerWeekFontColor,
246
- fontFamily: colorsTheme.dateInput.pickerFontFamily
247
- },
248
- switchHeader: {
249
- backgroundColor: "#ffffff",
250
- color: colorsTheme.dateInput.pickerDayFontColor
251
- },
252
- iconButton: {
253
- backgroundColor: colorsTheme.dateInput.pickerMonthArrowsBackgroundColor,
254
- "&:hover": {
255
- backgroundColor: colorsTheme.dateInput.pickerMonthArrowsBackgroundColor
256
- }
257
- }
258
- },
259
- MuiPickersCalendar: {
260
- week: {
261
- marginBottom: "2px"
262
- }
263
- },
264
- MuiPickersDay: {
265
- current: {
266
- color: colorsTheme.dateInput.pickerDayFontColor
267
- },
268
- day: {
269
- fontFamily: colorsTheme.dateInput.pickerFontFamily,
270
- color: colorsTheme.dateInput.pickerDayFontColor,
271
- "&:hover": {
272
- backgroundColor: colorsTheme.dateInput.pickerHoverDateBackgroundColor,
273
- color: colorsTheme.dateInput.pickerHoverDateFontColor
274
- }
275
- },
276
- daySelected: {
277
- backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
278
- color: colorsTheme.dateInput.pickerSelectedDateColor,
279
- "&:hover": {
280
- backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
281
- color: colorsTheme.dateInput.pickerSelectedDateColor,
282
- opacity: "1"
283
- }
284
- }
285
- },
286
- MuiPickersYear: {
287
- yearSelected: {
288
- color: colorsTheme.dateInput.pickerSelectedDateColor,
289
- backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
290
- margin: "0px 100px",
291
- borderRadius: "20px"
292
- },
293
- root: {
294
- "&:focus": {
295
- color: colorsTheme.dateInput.pickerHoverDateFontColor,
296
- backgroundColor: colorsTheme.dateInput.pickerHoverDateBackgroundColor
297
- }
298
- }
299
- },
300
- MuiPickersModal: {
301
- dialogAction: {
302
- color: "pink"
303
- }
304
- }
305
- }
306
- });
216
+
217
+ var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
218
+ if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
219
+ };
220
+
307
221
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
308
222
  theme: colorsTheme
309
- }, /*#__PURE__*/_react["default"].createElement(_core.MuiThemeProvider, {
310
- theme: dateTheme
311
- }, /*#__PURE__*/_react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
312
- utils: _dateFns["default"]
313
- }, /*#__PURE__*/_react["default"].createElement(StyledDPicker, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
223
+ }, /*#__PURE__*/_react["default"].createElement("div", {
224
+ ref: ref
225
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
226
+ open: isOpen
227
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
228
+ asChild: true,
229
+ "aria-controls": undefined
230
+ }, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
314
231
  label: label,
315
232
  name: name,
233
+ defaultValue: defaultValue,
316
234
  value: value !== null && value !== void 0 ? value : innerValue,
317
235
  helperText: helperText,
318
236
  placeholder: placeholder ? format.toUpperCase() : null,
319
- action: calendarAction,
237
+ action: {
238
+ onClick: openCalendar,
239
+ icon: _Icons.calendarIcon,
240
+ title: "Open calendar"
241
+ },
320
242
  clearable: clearable,
321
243
  disabled: disabled,
322
244
  optional: optional,
@@ -327,70 +249,21 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
327
249
  margin: margin,
328
250
  size: size,
329
251
  tabIndex: tabIndex,
330
- ref: ref
331
- }), /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
332
- onKeyDown: handleCalendarOnKeyDown,
333
- open: isOpen,
334
- anchorEl: anchorEl,
335
- anchorOrigin: {
336
- vertical: "bottom",
337
- horizontal: "left"
338
- },
339
- transformOrigin: {
340
- vertical: "top",
341
- horizontal: "center"
342
- },
343
- PaperProps: {
344
- style: {
345
- marginTop: "10px"
346
- }
347
- }
348
- }, /*#__PURE__*/_react["default"].createElement(_ClickAwayListener["default"], {
349
- onClickAway: closeCalendar
350
- }, /*#__PURE__*/_react["default"].createElement(_core.Paper, {
351
- role: "dialog",
352
- "aria-modal": "true"
353
- }, /*#__PURE__*/_react["default"].createElement(_pickers.DatePicker, {
354
- variant: "static",
355
- value: getValueForPicker(),
356
- onChange: function onChange(date) {
357
- return handleCalendarOnClick(date);
358
- },
359
- format: format,
360
- disabled: disabled
361
- }))))))));
252
+ ref: dateRef
253
+ })), /*#__PURE__*/_react["default"].createElement(StyledContent, {
254
+ sideOffset: error ? -18 : 2,
255
+ align: "end",
256
+ "aria-modal": true,
257
+ onBlur: handleDatePickerOnBlur,
258
+ onEscapeKeyDown: handleDatePickerEscKeydown,
259
+ avoidCollisions: false
260
+ }, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], {
261
+ id: calendarId,
262
+ onDateSelect: handleCalendarOnClick,
263
+ date: dayjsDate
264
+ })))));
362
265
  });
363
266
 
364
- var sizes = {
365
- medium: "360px",
366
- large: "480px",
367
- fillParent: "100%"
368
- };
369
-
370
- var StyledDPicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
371
-
372
- DxcDateInput.propTypes = {
373
- label: _propTypes["default"].string,
374
- name: _propTypes["default"].string,
375
- value: _propTypes["default"].string,
376
- format: _propTypes["default"].string,
377
- helperText: _propTypes["default"].string,
378
- placeholder: _propTypes["default"].bool,
379
- clearable: _propTypes["default"].bool,
380
- disabled: _propTypes["default"].bool,
381
- optional: _propTypes["default"].bool,
382
- onChange: _propTypes["default"].func,
383
- onBlur: _propTypes["default"].func,
384
- error: _propTypes["default"].string,
385
- autocomplete: _propTypes["default"].string,
386
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
387
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
388
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
389
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
390
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
391
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
392
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
393
- tabIndex: _propTypes["default"].number
394
- };
267
+ var StyledContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n &:focus-visible {\n outline: none;\n }\n"])));
395
268
  var _default = DxcDateInput;
396
269
  exports["default"] = _default;