@dxc-technology/halstack-react 0.0.0-b39a1d2 → 0.0.0-b3b8a35

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