@dxc-technology/halstack-react 0.0.0-74ba970 → 0.0.0-74c93cf

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