@dxc-technology/halstack-react 0.0.0-f0d662d → 0.0.0-f18281d

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