@dxc-technology/halstack-react 0.0.0-b39a2d8 → 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 (346) 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 +252 -0
  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/bleed/types.js +5 -0
  30. package/box/Box.d.ts +1 -1
  31. package/box/Box.js +31 -79
  32. package/box/Box.stories.tsx +38 -51
  33. package/box/Box.test.js +13 -0
  34. package/box/types.d.ts +3 -14
  35. package/bulleted-list/BulletedList.d.ts +7 -0
  36. package/bulleted-list/BulletedList.js +99 -0
  37. package/bulleted-list/BulletedList.stories.tsx +116 -0
  38. package/bulleted-list/types.d.ts +38 -0
  39. package/bulleted-list/types.js +5 -0
  40. package/button/Button.d.ts +1 -1
  41. package/button/Button.js +64 -120
  42. package/button/Button.stories.tsx +164 -96
  43. package/button/Button.test.js +36 -0
  44. package/button/types.d.ts +14 -14
  45. package/card/Card.d.ts +1 -1
  46. package/card/Card.js +59 -103
  47. package/card/Card.stories.tsx +13 -43
  48. package/card/Card.test.js +39 -0
  49. package/card/types.d.ts +6 -11
  50. package/checkbox/Checkbox.d.ts +2 -2
  51. package/checkbox/Checkbox.js +147 -180
  52. package/checkbox/Checkbox.stories.tsx +166 -136
  53. package/checkbox/Checkbox.test.js +199 -0
  54. package/checkbox/types.d.ts +19 -7
  55. package/chip/Chip.d.ts +4 -0
  56. package/chip/Chip.js +48 -148
  57. package/chip/Chip.stories.tsx +123 -30
  58. package/chip/Chip.test.js +41 -0
  59. package/chip/types.d.ts +45 -0
  60. package/chip/types.js +5 -0
  61. package/common/OpenSans.css +68 -80
  62. package/common/coreTokens.d.ts +237 -0
  63. package/common/coreTokens.js +184 -0
  64. package/common/utils.d.ts +1 -0
  65. package/common/utils.js +6 -12
  66. package/common/variables.d.ts +1499 -0
  67. package/common/variables.js +1119 -1325
  68. package/container/Container.d.ts +4 -0
  69. package/container/Container.js +187 -0
  70. package/container/Container.stories.tsx +214 -0
  71. package/container/types.d.ts +74 -0
  72. package/container/types.js +5 -0
  73. package/date-input/Calendar.d.ts +4 -0
  74. package/date-input/Calendar.js +214 -0
  75. package/date-input/DateInput.js +175 -313
  76. package/date-input/DateInput.stories.tsx +203 -56
  77. package/date-input/DateInput.test.js +808 -0
  78. package/date-input/DatePicker.d.ts +4 -0
  79. package/date-input/DatePicker.js +115 -0
  80. package/date-input/Icons.d.ts +6 -0
  81. package/date-input/Icons.js +58 -0
  82. package/date-input/YearPicker.d.ts +4 -0
  83. package/date-input/YearPicker.js +100 -0
  84. package/date-input/types.d.ts +86 -22
  85. package/dialog/Dialog.d.ts +1 -1
  86. package/dialog/Dialog.js +72 -130
  87. package/dialog/Dialog.stories.tsx +154 -171
  88. package/dialog/Dialog.test.js +307 -0
  89. package/dialog/types.d.ts +18 -25
  90. package/dropdown/Dropdown.d.ts +1 -1
  91. package/dropdown/Dropdown.js +245 -328
  92. package/dropdown/Dropdown.stories.tsx +438 -0
  93. package/dropdown/Dropdown.test.js +599 -0
  94. package/dropdown/DropdownMenu.d.ts +4 -0
  95. package/dropdown/DropdownMenu.js +63 -0
  96. package/dropdown/DropdownMenuItem.d.ts +4 -0
  97. package/dropdown/DropdownMenuItem.js +67 -0
  98. package/dropdown/types.d.ts +37 -28
  99. package/file-input/FileInput.d.ts +2 -2
  100. package/file-input/FileInput.js +236 -289
  101. package/file-input/FileInput.stories.tsx +618 -0
  102. package/file-input/FileInput.test.js +408 -0
  103. package/file-input/FileItem.d.ts +4 -14
  104. package/file-input/FileItem.js +53 -100
  105. package/file-input/types.d.ts +53 -11
  106. package/flex/Flex.d.ts +4 -0
  107. package/flex/Flex.js +57 -0
  108. package/flex/Flex.stories.tsx +112 -0
  109. package/flex/types.d.ts +97 -0
  110. package/flex/types.js +5 -0
  111. package/footer/Footer.d.ts +1 -1
  112. package/footer/Footer.js +61 -192
  113. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +38 -37
  114. package/footer/Footer.test.js +85 -0
  115. package/footer/Icons.d.ts +2 -0
  116. package/footer/Icons.js +4 -9
  117. package/footer/types.d.ts +36 -33
  118. package/grid/Grid.d.ts +7 -0
  119. package/grid/Grid.js +76 -0
  120. package/grid/Grid.stories.tsx +219 -0
  121. package/grid/types.d.ts +115 -0
  122. package/grid/types.js +5 -0
  123. package/header/Header.d.ts +4 -3
  124. package/header/Header.js +106 -199
  125. package/header/Header.stories.tsx +152 -63
  126. package/header/Header.test.js +66 -0
  127. package/header/Icons.d.ts +2 -0
  128. package/header/Icons.js +4 -9
  129. package/header/types.d.ts +5 -20
  130. package/heading/Heading.js +11 -33
  131. package/heading/Heading.stories.tsx +54 -0
  132. package/heading/Heading.test.js +169 -0
  133. package/heading/types.d.ts +7 -7
  134. package/image/Image.d.ts +4 -0
  135. package/image/Image.js +70 -0
  136. package/image/Image.stories.tsx +127 -0
  137. package/image/types.d.ts +72 -0
  138. package/image/types.js +5 -0
  139. package/inset/Inset.d.ts +3 -0
  140. package/inset/Inset.js +43 -0
  141. package/inset/Inset.stories.tsx +230 -0
  142. package/inset/types.d.ts +37 -0
  143. package/inset/types.js +5 -0
  144. package/layout/ApplicationLayout.d.ts +20 -0
  145. package/layout/ApplicationLayout.js +83 -184
  146. package/layout/ApplicationLayout.stories.tsx +162 -0
  147. package/layout/Icons.d.ts +8 -0
  148. package/layout/Icons.js +51 -48
  149. package/layout/SidenavContext.d.ts +5 -0
  150. package/layout/SidenavContext.js +13 -0
  151. package/layout/types.d.ts +41 -0
  152. package/layout/types.js +5 -0
  153. package/link/Link.d.ts +3 -2
  154. package/link/Link.js +65 -111
  155. package/link/Link.stories.tsx +159 -52
  156. package/link/Link.test.js +63 -0
  157. package/link/types.d.ts +15 -35
  158. package/main.d.ts +16 -13
  159. package/main.js +71 -91
  160. package/nav-tabs/NavTabs.d.ts +8 -0
  161. package/nav-tabs/NavTabs.js +90 -0
  162. package/nav-tabs/NavTabs.stories.tsx +274 -0
  163. package/nav-tabs/NavTabs.test.js +75 -0
  164. package/nav-tabs/Tab.d.ts +4 -0
  165. package/nav-tabs/Tab.js +117 -0
  166. package/nav-tabs/types.d.ts +52 -0
  167. package/nav-tabs/types.js +5 -0
  168. package/number-input/NumberInput.d.ts +7 -0
  169. package/number-input/NumberInput.js +28 -47
  170. package/number-input/NumberInput.stories.tsx +44 -28
  171. package/number-input/NumberInput.test.js +830 -0
  172. package/number-input/types.d.ts +28 -15
  173. package/package.json +45 -44
  174. package/paginator/Icons.d.ts +5 -0
  175. package/paginator/Icons.js +21 -47
  176. package/paginator/Paginator.js +35 -95
  177. package/paginator/Paginator.stories.tsx +24 -0
  178. package/paginator/Paginator.test.js +335 -0
  179. package/paginator/types.d.ts +3 -3
  180. package/paragraph/Paragraph.d.ts +5 -0
  181. package/paragraph/Paragraph.js +27 -0
  182. package/paragraph/Paragraph.stories.tsx +27 -0
  183. package/password-input/Icons.d.ts +6 -0
  184. package/password-input/Icons.js +35 -0
  185. package/password-input/PasswordInput.js +60 -125
  186. package/password-input/PasswordInput.stories.tsx +3 -34
  187. package/password-input/PasswordInput.test.js +198 -0
  188. package/password-input/types.d.ts +35 -24
  189. package/progress-bar/ProgressBar.js +69 -89
  190. package/progress-bar/ProgressBar.stories.tsx +93 -0
  191. package/progress-bar/ProgressBar.test.js +93 -0
  192. package/progress-bar/types.d.ts +3 -3
  193. package/quick-nav/QuickNav.d.ts +4 -0
  194. package/quick-nav/QuickNav.js +94 -0
  195. package/quick-nav/QuickNav.stories.tsx +356 -0
  196. package/quick-nav/types.d.ts +21 -0
  197. package/quick-nav/types.js +5 -0
  198. package/radio-group/Radio.d.ts +4 -0
  199. package/radio-group/Radio.js +124 -0
  200. package/radio-group/RadioGroup.d.ts +4 -0
  201. package/radio-group/RadioGroup.js +235 -0
  202. package/radio-group/RadioGroup.stories.tsx +214 -0
  203. package/radio-group/RadioGroup.test.js +756 -0
  204. package/radio-group/types.d.ts +114 -0
  205. package/radio-group/types.js +5 -0
  206. package/resultset-table/Icons.d.ts +7 -0
  207. package/resultset-table/Icons.js +47 -0
  208. package/resultset-table/ResultsetTable.d.ts +4 -0
  209. package/resultset-table/ResultsetTable.js +159 -0
  210. package/resultset-table/ResultsetTable.stories.tsx +300 -0
  211. package/resultset-table/ResultsetTable.test.js +305 -0
  212. package/resultset-table/types.d.ts +67 -0
  213. package/resultset-table/types.js +5 -0
  214. package/select/Icons.d.ts +10 -0
  215. package/select/Icons.js +89 -0
  216. package/select/Listbox.d.ts +4 -0
  217. package/select/Listbox.js +143 -0
  218. package/select/Option.d.ts +4 -0
  219. package/select/Option.js +80 -0
  220. package/select/Select.d.ts +4 -0
  221. package/select/Select.js +221 -504
  222. package/select/Select.stories.tsx +603 -204
  223. package/select/Select.test.js +2334 -0
  224. package/select/types.d.ts +209 -0
  225. package/select/types.js +5 -0
  226. package/sidenav/Icons.d.ts +7 -0
  227. package/sidenav/Icons.js +47 -0
  228. package/sidenav/Sidenav.d.ts +6 -5
  229. package/sidenav/Sidenav.js +135 -72
  230. package/sidenav/Sidenav.stories.tsx +282 -0
  231. package/sidenav/Sidenav.test.js +37 -0
  232. package/sidenav/types.d.ts +52 -26
  233. package/slider/Slider.d.ts +2 -2
  234. package/slider/Slider.js +146 -169
  235. package/slider/Slider.test.js +254 -0
  236. package/slider/types.d.ts +11 -3
  237. package/spinner/Spinner.js +30 -66
  238. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  239. package/spinner/Spinner.test.js +55 -0
  240. package/spinner/types.d.ts +3 -3
  241. package/switch/Switch.d.ts +2 -2
  242. package/switch/Switch.js +154 -114
  243. package/switch/Switch.stories.tsx +45 -68
  244. package/switch/Switch.test.js +180 -0
  245. package/switch/types.d.ts +13 -5
  246. package/table/Table.js +10 -29
  247. package/table/{Table.stories.jsx → Table.stories.tsx} +81 -1
  248. package/table/Table.test.js +21 -0
  249. package/table/types.d.ts +8 -8
  250. package/tabs/Tab.d.ts +4 -0
  251. package/tabs/Tab.js +113 -0
  252. package/tabs/Tabs.d.ts +1 -1
  253. package/tabs/Tabs.js +319 -145
  254. package/tabs/Tabs.stories.tsx +226 -0
  255. package/tabs/Tabs.test.js +294 -0
  256. package/tabs/types.d.ts +46 -24
  257. package/tag/Tag.d.ts +1 -1
  258. package/tag/Tag.js +44 -86
  259. package/tag/Tag.stories.tsx +38 -28
  260. package/tag/Tag.test.js +49 -0
  261. package/tag/types.d.ts +25 -16
  262. package/text-input/Icons.d.ts +8 -0
  263. package/text-input/Icons.js +56 -0
  264. package/text-input/Suggestion.d.ts +4 -0
  265. package/text-input/Suggestion.js +67 -0
  266. package/text-input/Suggestions.d.ts +4 -0
  267. package/text-input/Suggestions.js +89 -0
  268. package/text-input/TextInput.d.ts +4 -0
  269. package/text-input/TextInput.js +310 -543
  270. package/text-input/TextInput.stories.tsx +465 -0
  271. package/text-input/TextInput.test.js +1739 -0
  272. package/text-input/types.d.ts +205 -0
  273. package/text-input/types.js +5 -0
  274. package/textarea/Textarea.d.ts +4 -0
  275. package/textarea/Textarea.js +94 -171
  276. package/textarea/Textarea.stories.tsx +175 -0
  277. package/textarea/Textarea.test.js +406 -0
  278. package/textarea/types.d.ts +141 -0
  279. package/textarea/types.js +5 -0
  280. package/toggle-group/ToggleGroup.d.ts +4 -0
  281. package/toggle-group/ToggleGroup.js +103 -142
  282. package/toggle-group/ToggleGroup.stories.tsx +76 -36
  283. package/toggle-group/ToggleGroup.test.js +137 -0
  284. package/toggle-group/types.d.ts +114 -0
  285. package/toggle-group/types.js +5 -0
  286. package/typography/Typography.d.ts +4 -0
  287. package/typography/Typography.js +23 -0
  288. package/typography/Typography.stories.tsx +198 -0
  289. package/typography/types.d.ts +18 -0
  290. package/typography/types.js +5 -0
  291. package/useTheme.d.ts +1252 -0
  292. package/useTheme.js +4 -11
  293. package/useTranslatedLabels.d.ts +85 -0
  294. package/useTranslatedLabels.js +14 -0
  295. package/utils/BaseTypography.d.ts +21 -0
  296. package/utils/BaseTypography.js +94 -0
  297. package/utils/FocusLock.d.ts +13 -0
  298. package/utils/FocusLock.js +114 -0
  299. package/wizard/Wizard.d.ts +1 -1
  300. package/wizard/Wizard.js +123 -104
  301. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  302. package/wizard/Wizard.test.js +114 -0
  303. package/wizard/types.d.ts +14 -14
  304. package/ThemeContext.js +0 -246
  305. package/V3Select/V3Select.js +0 -455
  306. package/V3Select/index.d.ts +0 -27
  307. package/V3Textarea/V3Textarea.js +0 -260
  308. package/V3Textarea/index.d.ts +0 -27
  309. package/card/ice-cream.jpg +0 -0
  310. package/chip/index.d.ts +0 -22
  311. package/common/RequiredComponent.js +0 -32
  312. package/date/Date.js +0 -373
  313. package/date/index.d.ts +0 -27
  314. package/input-text/Icons.js +0 -22
  315. package/input-text/InputText.js +0 -611
  316. package/input-text/index.d.ts +0 -36
  317. package/number-input/NumberInputContext.js +0 -16
  318. package/progress-bar/ProgressBar.stories.jsx +0 -58
  319. package/radio/Radio.d.ts +0 -4
  320. package/radio/Radio.js +0 -174
  321. package/radio/Radio.stories.tsx +0 -192
  322. package/radio/types.d.ts +0 -54
  323. package/resultsetTable/ResultsetTable.js +0 -274
  324. package/resultsetTable/index.d.ts +0 -19
  325. package/select/index.d.ts +0 -131
  326. package/slider/Slider.stories.tsx +0 -177
  327. package/text-input/index.d.ts +0 -135
  328. package/textarea/Textarea.stories.jsx +0 -135
  329. package/textarea/index.d.ts +0 -117
  330. package/toggle/Toggle.js +0 -186
  331. package/toggle/index.d.ts +0 -21
  332. package/toggle-group/index.d.ts +0 -21
  333. package/upload/Upload.js +0 -201
  334. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  335. package/upload/buttons-upload/Icons.js +0 -40
  336. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  337. package/upload/dragAndDropArea/Icons.js +0 -39
  338. package/upload/file-upload/FileToUpload.js +0 -115
  339. package/upload/file-upload/Icons.js +0 -66
  340. package/upload/files-upload/FilesToUpload.js +0 -109
  341. package/upload/index.d.ts +0 -15
  342. package/upload/transaction/Icons.js +0 -160
  343. package/upload/transaction/Transaction.js +0 -104
  344. package/upload/transactions/Transactions.js +0 -94
  345. package/wizard/Icons.js +0 -65
  346. /package/{radio → badge}/types.js +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;