@dxc-technology/halstack-react 0.0.0-2c3a5e1 → 0.0.0-2d43940

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