@dxc-technology/halstack-react 0.0.0-6a36022 → 0.0.0-6b2072d

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 (309) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +110 -146
  7. package/accordion/Accordion.stories.tsx +108 -118
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +7 -18
  10. package/accordion-group/AccordionGroup.d.ts +5 -4
  11. package/accordion-group/AccordionGroup.js +34 -76
  12. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  13. package/accordion-group/AccordionGroup.test.js +116 -0
  14. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  15. package/accordion-group/AccordionGroupAccordion.js +43 -0
  16. package/accordion-group/types.d.ts +13 -18
  17. package/alert/Alert.js +9 -10
  18. package/alert/Alert.stories.tsx +28 -0
  19. package/alert/Alert.test.js +92 -0
  20. package/badge/Badge.d.ts +4 -0
  21. package/badge/Badge.js +5 -3
  22. package/badge/types.d.ts +5 -0
  23. package/bleed/Bleed.d.ts +3 -0
  24. package/bleed/Bleed.js +51 -0
  25. package/bleed/Bleed.stories.tsx +342 -0
  26. package/bleed/types.d.ts +37 -0
  27. package/bleed/types.js +5 -0
  28. package/box/Box.d.ts +1 -1
  29. package/box/Box.js +19 -48
  30. package/box/Box.stories.tsx +38 -51
  31. package/box/Box.test.js +18 -0
  32. package/box/types.d.ts +0 -11
  33. package/bulleted-list/BulletedList.d.ts +7 -0
  34. package/bulleted-list/BulletedList.js +125 -0
  35. package/bulleted-list/BulletedList.stories.tsx +206 -0
  36. package/bulleted-list/types.d.ts +38 -0
  37. package/bulleted-list/types.js +5 -0
  38. package/button/Button.d.ts +1 -1
  39. package/button/Button.js +46 -81
  40. package/button/Button.stories.tsx +163 -14
  41. package/button/Button.test.js +46 -0
  42. package/button/types.d.ts +9 -9
  43. package/card/Card.d.ts +1 -1
  44. package/card/Card.js +37 -58
  45. package/card/Card.stories.tsx +12 -42
  46. package/card/Card.test.js +50 -0
  47. package/card/types.d.ts +1 -6
  48. package/checkbox/Checkbox.d.ts +2 -2
  49. package/checkbox/Checkbox.js +107 -110
  50. package/checkbox/Checkbox.stories.tsx +198 -130
  51. package/checkbox/Checkbox.test.js +155 -0
  52. package/checkbox/types.d.ts +11 -3
  53. package/chip/Chip.d.ts +1 -1
  54. package/chip/Chip.js +36 -95
  55. package/chip/Chip.stories.tsx +123 -30
  56. package/chip/Chip.test.js +54 -0
  57. package/chip/types.d.ts +5 -13
  58. package/common/OpenSans.css +68 -80
  59. package/common/coreTokens.d.ts +146 -0
  60. package/common/coreTokens.js +167 -0
  61. package/common/utils.d.ts +1 -0
  62. package/common/utils.js +4 -4
  63. package/common/variables.d.ts +1482 -0
  64. package/common/variables.js +1097 -1348
  65. package/date-input/Calendar.d.ts +4 -0
  66. package/date-input/Calendar.js +258 -0
  67. package/date-input/DateInput.js +169 -258
  68. package/date-input/DateInput.stories.tsx +199 -33
  69. package/date-input/DateInput.test.js +835 -0
  70. package/date-input/DatePicker.d.ts +4 -0
  71. package/date-input/DatePicker.js +146 -0
  72. package/date-input/Icons.d.ts +6 -0
  73. package/date-input/Icons.js +75 -0
  74. package/date-input/YearPicker.d.ts +4 -0
  75. package/date-input/YearPicker.js +126 -0
  76. package/date-input/types.d.ts +67 -9
  77. package/dialog/Dialog.d.ts +1 -1
  78. package/dialog/Dialog.js +68 -103
  79. package/dialog/Dialog.stories.tsx +154 -171
  80. package/dialog/Dialog.test.js +369 -0
  81. package/dialog/types.d.ts +0 -12
  82. package/dropdown/Dropdown.d.ts +1 -1
  83. package/dropdown/Dropdown.js +248 -277
  84. package/dropdown/Dropdown.stories.tsx +255 -64
  85. package/dropdown/Dropdown.test.js +586 -0
  86. package/dropdown/DropdownMenu.d.ts +4 -0
  87. package/dropdown/DropdownMenu.js +74 -0
  88. package/dropdown/DropdownMenuItem.d.ts +4 -0
  89. package/dropdown/DropdownMenuItem.js +79 -0
  90. package/dropdown/types.d.ts +27 -16
  91. package/file-input/FileInput.d.ts +2 -2
  92. package/file-input/FileInput.js +180 -223
  93. package/file-input/FileInput.stories.tsx +122 -11
  94. package/file-input/FileInput.test.js +457 -0
  95. package/file-input/FileItem.d.ts +4 -14
  96. package/file-input/FileItem.js +44 -66
  97. package/file-input/types.d.ts +18 -1
  98. package/flex/Flex.d.ts +4 -0
  99. package/flex/Flex.js +71 -0
  100. package/flex/Flex.stories.tsx +112 -0
  101. package/flex/types.d.ts +97 -0
  102. package/flex/types.js +5 -0
  103. package/footer/Footer.d.ts +1 -1
  104. package/footer/Footer.js +49 -144
  105. package/footer/Footer.stories.tsx +37 -16
  106. package/footer/Footer.test.js +99 -0
  107. package/footer/Icons.js +1 -1
  108. package/footer/types.d.ts +11 -12
  109. package/grid/Grid.d.ts +7 -0
  110. package/grid/Grid.js +91 -0
  111. package/grid/Grid.stories.tsx +219 -0
  112. package/grid/types.d.ts +115 -0
  113. package/grid/types.js +5 -0
  114. package/header/Header.d.ts +4 -3
  115. package/header/Header.js +102 -150
  116. package/header/Header.stories.tsx +152 -63
  117. package/header/Header.test.js +79 -0
  118. package/header/Icons.js +2 -2
  119. package/header/types.d.ts +0 -13
  120. package/heading/Heading.js +1 -1
  121. package/heading/Heading.test.js +186 -0
  122. package/inset/Inset.js +1 -34
  123. package/inset/Inset.stories.tsx +37 -36
  124. package/inset/types.d.ts +25 -1
  125. package/layout/ApplicationLayout.d.ts +16 -6
  126. package/layout/ApplicationLayout.js +78 -129
  127. package/layout/ApplicationLayout.stories.tsx +84 -93
  128. package/layout/Icons.d.ts +5 -0
  129. package/layout/Icons.js +13 -2
  130. package/layout/SidenavContext.d.ts +5 -0
  131. package/layout/SidenavContext.js +19 -0
  132. package/layout/types.d.ts +19 -35
  133. package/link/Link.d.ts +3 -2
  134. package/link/Link.js +63 -88
  135. package/link/Link.stories.tsx +159 -52
  136. package/link/Link.test.js +81 -0
  137. package/link/types.d.ts +7 -27
  138. package/main.d.ts +12 -15
  139. package/main.js +57 -75
  140. package/nav-tabs/NavTabs.d.ts +8 -0
  141. package/nav-tabs/NavTabs.js +122 -0
  142. package/nav-tabs/NavTabs.stories.tsx +274 -0
  143. package/nav-tabs/NavTabs.test.js +82 -0
  144. package/nav-tabs/Tab.d.ts +4 -0
  145. package/nav-tabs/Tab.js +146 -0
  146. package/nav-tabs/types.d.ts +52 -0
  147. package/nav-tabs/types.js +5 -0
  148. package/number-input/NumberInput.js +11 -18
  149. package/number-input/NumberInput.stories.tsx +5 -5
  150. package/number-input/NumberInput.test.js +542 -0
  151. package/number-input/types.d.ts +17 -10
  152. package/package.json +20 -23
  153. package/paginator/Icons.d.ts +5 -0
  154. package/paginator/Icons.js +16 -28
  155. package/paginator/Paginator.js +20 -49
  156. package/paginator/Paginator.stories.tsx +24 -0
  157. package/paginator/Paginator.test.js +318 -0
  158. package/paragraph/Paragraph.d.ts +5 -0
  159. package/paragraph/Paragraph.js +38 -0
  160. package/paragraph/Paragraph.stories.tsx +44 -0
  161. package/password-input/PasswordInput.js +7 -4
  162. package/password-input/PasswordInput.test.js +181 -0
  163. package/password-input/types.d.ts +14 -11
  164. package/progress-bar/ProgressBar.js +61 -55
  165. package/progress-bar/ProgressBar.stories.jsx +47 -12
  166. package/progress-bar/ProgressBar.test.js +110 -0
  167. package/quick-nav/QuickNav.d.ts +4 -0
  168. package/quick-nav/QuickNav.js +117 -0
  169. package/quick-nav/QuickNav.stories.tsx +356 -0
  170. package/quick-nav/types.d.ts +21 -0
  171. package/quick-nav/types.js +5 -0
  172. package/radio-group/Radio.d.ts +1 -1
  173. package/radio-group/Radio.js +60 -34
  174. package/radio-group/RadioGroup.js +81 -68
  175. package/radio-group/RadioGroup.stories.tsx +171 -36
  176. package/radio-group/RadioGroup.test.js +722 -0
  177. package/radio-group/types.d.ts +81 -3
  178. package/resultsetTable/Icons.d.ts +7 -0
  179. package/resultsetTable/Icons.js +51 -0
  180. package/resultsetTable/ResultsetTable.js +50 -106
  181. package/resultsetTable/ResultsetTable.stories.tsx +56 -33
  182. package/resultsetTable/ResultsetTable.test.js +325 -0
  183. package/resultsetTable/types.d.ts +1 -1
  184. package/select/Icons.d.ts +10 -0
  185. package/select/Icons.js +93 -0
  186. package/select/Listbox.d.ts +4 -0
  187. package/select/Listbox.js +169 -0
  188. package/select/Option.d.ts +4 -0
  189. package/select/Option.js +97 -0
  190. package/select/Select.js +189 -386
  191. package/select/Select.stories.tsx +600 -201
  192. package/select/Select.test.js +2228 -0
  193. package/select/types.d.ts +53 -13
  194. package/sidenav/Icons.d.ts +7 -0
  195. package/sidenav/Icons.js +51 -0
  196. package/sidenav/Sidenav.d.ts +6 -5
  197. package/sidenav/Sidenav.js +146 -44
  198. package/sidenav/Sidenav.stories.tsx +251 -151
  199. package/sidenav/Sidenav.test.js +44 -0
  200. package/sidenav/types.d.ts +52 -26
  201. package/slider/Slider.d.ts +2 -2
  202. package/slider/Slider.js +123 -98
  203. package/slider/Slider.stories.tsx +72 -9
  204. package/slider/Slider.test.js +250 -0
  205. package/slider/types.d.ts +8 -0
  206. package/spinner/Spinner.js +18 -24
  207. package/spinner/Spinner.stories.jsx +53 -27
  208. package/spinner/Spinner.test.js +64 -0
  209. package/switch/Switch.d.ts +2 -2
  210. package/switch/Switch.js +152 -69
  211. package/switch/Switch.stories.tsx +53 -42
  212. package/switch/Switch.test.js +225 -0
  213. package/switch/types.d.ts +10 -2
  214. package/table/Table.js +3 -3
  215. package/table/Table.stories.jsx +80 -1
  216. package/table/Table.test.js +26 -0
  217. package/tabs/Tab.d.ts +4 -0
  218. package/tabs/Tab.js +132 -0
  219. package/tabs/Tabs.d.ts +1 -1
  220. package/tabs/Tabs.js +362 -114
  221. package/tabs/Tabs.stories.tsx +122 -18
  222. package/tabs/Tabs.test.js +350 -0
  223. package/tabs/types.d.ts +37 -15
  224. package/tag/Tag.d.ts +1 -1
  225. package/tag/Tag.js +24 -36
  226. package/tag/Tag.stories.tsx +37 -27
  227. package/tag/Tag.test.js +60 -0
  228. package/tag/types.d.ts +23 -14
  229. package/text-input/Icons.d.ts +8 -0
  230. package/text-input/Icons.js +60 -0
  231. package/text-input/Suggestion.d.ts +4 -0
  232. package/text-input/Suggestion.js +84 -0
  233. package/text-input/Suggestions.d.ts +4 -0
  234. package/text-input/Suggestions.js +134 -0
  235. package/text-input/TextInput.js +225 -346
  236. package/text-input/TextInput.stories.tsx +310 -197
  237. package/text-input/TextInput.test.js +1723 -0
  238. package/text-input/types.d.ts +50 -12
  239. package/textarea/Textarea.js +22 -30
  240. package/textarea/Textarea.stories.jsx +93 -13
  241. package/textarea/Textarea.test.js +435 -0
  242. package/textarea/types.d.ts +18 -11
  243. package/toggle-group/ToggleGroup.d.ts +2 -2
  244. package/toggle-group/ToggleGroup.js +86 -59
  245. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  246. package/toggle-group/ToggleGroup.test.js +170 -0
  247. package/toggle-group/types.d.ts +31 -14
  248. package/typography/Typography.d.ts +4 -0
  249. package/typography/Typography.js +32 -0
  250. package/typography/Typography.stories.tsx +198 -0
  251. package/typography/types.d.ts +18 -0
  252. package/typography/types.js +5 -0
  253. package/useTheme.d.ts +1234 -1
  254. package/useTheme.js +3 -3
  255. package/useTranslatedLabels.d.ts +85 -0
  256. package/useTranslatedLabels.js +20 -0
  257. package/utils/BaseTypography.d.ts +21 -0
  258. package/utils/BaseTypography.js +108 -0
  259. package/utils/FocusLock.d.ts +13 -0
  260. package/utils/FocusLock.js +138 -0
  261. package/wizard/Wizard.d.ts +1 -1
  262. package/wizard/Wizard.js +59 -55
  263. package/wizard/Wizard.stories.tsx +48 -19
  264. package/wizard/Wizard.test.js +141 -0
  265. package/wizard/types.d.ts +8 -4
  266. package/ThemeContext.d.ts +0 -15
  267. package/ThemeContext.js +0 -243
  268. package/V3Select/V3Select.js +0 -455
  269. package/V3Select/index.d.ts +0 -27
  270. package/V3Textarea/V3Textarea.js +0 -260
  271. package/V3Textarea/index.d.ts +0 -27
  272. package/card/ice-cream.jpg +0 -0
  273. package/common/RequiredComponent.js +0 -32
  274. package/date/Date.js +0 -373
  275. package/date/index.d.ts +0 -27
  276. package/input-text/Icons.js +0 -22
  277. package/input-text/InputText.js +0 -611
  278. package/input-text/index.d.ts +0 -36
  279. package/list/List.d.ts +0 -8
  280. package/list/List.js +0 -47
  281. package/list/List.stories.tsx +0 -95
  282. package/radio/Radio.d.ts +0 -4
  283. package/radio/Radio.js +0 -174
  284. package/radio/Radio.stories.tsx +0 -192
  285. package/radio/types.d.ts +0 -54
  286. package/row/Row.d.ts +0 -11
  287. package/row/Row.js +0 -127
  288. package/row/Row.stories.tsx +0 -239
  289. package/stack/Stack.d.ts +0 -10
  290. package/stack/Stack.js +0 -97
  291. package/stack/Stack.stories.tsx +0 -166
  292. package/text/Text.d.ts +0 -7
  293. package/text/Text.js +0 -30
  294. package/text/Text.stories.tsx +0 -19
  295. package/toggle/Toggle.js +0 -186
  296. package/toggle/index.d.ts +0 -21
  297. package/upload/Upload.js +0 -201
  298. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  299. package/upload/buttons-upload/Icons.js +0 -40
  300. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  301. package/upload/dragAndDropArea/Icons.js +0 -39
  302. package/upload/file-upload/FileToUpload.js +0 -115
  303. package/upload/file-upload/Icons.js +0 -66
  304. package/upload/files-upload/FilesToUpload.js +0 -109
  305. package/upload/index.d.ts +0 -15
  306. package/upload/transaction/Icons.js +0 -160
  307. package/upload/transaction/Transaction.js +0 -104
  308. package/upload/transactions/Transactions.js +0 -94
  309. /package/{radio → badge}/types.js +0 -0
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DatePickerPropsType } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ date, onDateSelect, id }: DatePickerPropsType) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _dayjs = _interopRequireDefault(require("dayjs"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
21
+
22
+ var _Calendar = _interopRequireDefault(require("./Calendar"));
23
+
24
+ var _YearPicker = _interopRequireDefault(require("./YearPicker"));
25
+
26
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
+
28
+ var _Icons = require("./Icons");
29
+
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
31
+
32
+ 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); }
33
+
34
+ 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; }
35
+
36
+ var today = (0, _dayjs["default"])();
37
+
38
+ var DxcDatePicker = function DxcDatePicker(_ref) {
39
+ var date = _ref.date,
40
+ onDateSelect = _ref.onDateSelect,
41
+ id = _ref.id;
42
+
43
+ var _useState = (0, _react.useState)(date !== null && date !== void 0 && date.isValid() ? date : (0, _dayjs["default"])()),
44
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
45
+ innerDate = _useState2[0],
46
+ setInnerDate = _useState2[1];
47
+
48
+ var _useState3 = (0, _react.useState)("calendar"),
49
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
50
+ content = _useState4[0],
51
+ setContent = _useState4[1];
52
+
53
+ var selectedDate = date !== null && date !== void 0 && date.isValid() ? date : null;
54
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
55
+
56
+ var handleDateSelect = function handleDateSelect(date) {
57
+ setInnerDate(date);
58
+ onDateSelect(date);
59
+ };
60
+
61
+ var handleOnYearSelect = function handleOnYearSelect(year) {
62
+ setInnerDate(innerDate.set("year", year));
63
+ setContent("calendar");
64
+ };
65
+
66
+ var handleMonthChange = function handleMonthChange(date) {
67
+ setInnerDate(date);
68
+ };
69
+
70
+ return /*#__PURE__*/_react["default"].createElement(DatePicker, {
71
+ id: id
72
+ }, /*#__PURE__*/_react["default"].createElement(PickerHeader, null, /*#__PURE__*/_react["default"].createElement(HeaderButton, {
73
+ "aria-label": translatedLabels.calendar.previousMonthTitle,
74
+ title: translatedLabels.calendar.previousMonthTitle,
75
+ onClick: function onClick() {
76
+ return handleMonthChange(innerDate.set("month", innerDate.get("month") - 1));
77
+ }
78
+ }, _Icons.leftCaret), /*#__PURE__*/_react["default"].createElement(HeaderYearTrigger, {
79
+ "aria-live": "polite",
80
+ onClick: function onClick() {
81
+ return setContent(function (content) {
82
+ return content === "yearPicker" ? "calendar" : "yearPicker";
83
+ });
84
+ }
85
+ }, /*#__PURE__*/_react["default"].createElement(HeaderYearTriggerLabel, null, translatedLabels.calendar.months[innerDate.get("month")], " ", innerDate.format("YYYY")), content === "yearPicker" ? _Icons.upCaret : _Icons.downCaret), /*#__PURE__*/_react["default"].createElement(HeaderButton, {
86
+ "aria-label": translatedLabels.calendar.nextMonthTitle,
87
+ title: translatedLabels.calendar.nextMonthTitle,
88
+ onClick: function onClick() {
89
+ return handleMonthChange(innerDate.set("month", innerDate.get("month") + 1));
90
+ }
91
+ }, _Icons.rightCaret)), content === "calendar" && /*#__PURE__*/_react["default"].createElement(_Calendar["default"], {
92
+ innerDate: innerDate,
93
+ selectedDate: selectedDate,
94
+ onInnerDateChange: setInnerDate,
95
+ onDaySelect: handleDateSelect,
96
+ today: today
97
+ }), content === "yearPicker" && /*#__PURE__*/_react["default"].createElement(_YearPicker["default"], {
98
+ selectedDate: selectedDate,
99
+ onYearSelect: handleOnYearSelect,
100
+ today: today
101
+ }));
102
+ };
103
+
104
+ var DatePicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: 16px;\n background-color: ", ";\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n border: ", ";\n border-radius: 4px;\n width: fit-content;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n"])), function (props) {
105
+ return props.theme.dateInput.pickerBackgroundColor;
106
+ }, function (props) {
107
+ return "".concat(props.theme.dateInput.pickerBorderWidth, " ").concat(props.theme.dateInput.pickerBorderStyle, "\n ").concat(props.theme.dateInput.pickerBorderColor);
108
+ }, function (props) {
109
+ return props.theme.dateInput.pickerFontFamily;
110
+ }, function (props) {
111
+ return props.theme.dateInput.pickerFontSize;
112
+ }, function (props) {
113
+ return props.theme.dateInput.pickerFontColor;
114
+ }, function (props) {
115
+ return props.theme.dateInput.pickerFontWeight;
116
+ });
117
+
118
+ var PickerHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n padding: 0px 16px;\n"])));
119
+
120
+ var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0px;\n color: ", ";\n background-color: ", ";\n border-radius: 4px;\n border: none;\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", ";\n }\n svg {\n width: 24px;\n height: 24px;\n }\n"])), function (props) {
121
+ return props.theme.dateInput.pickerHeaderFontColor;
122
+ }, function (props) {
123
+ return props.theme.dateInput.pickerHeaderBackgroundColor;
124
+ }, function (props) {
125
+ return props.theme.dateInput.pickerHeaderHoverFontColor;
126
+ }, function (props) {
127
+ return props.theme.dateInput.pickerHeaderHoverBackgroundColor;
128
+ }, function (props) {
129
+ return "".concat(props.theme.dateInput.pickerFocusColor, " solid\n ").concat(props.theme.dateInput.pickerFocusWidth);
130
+ }, function (props) {
131
+ return props.theme.dateInput.pickerHeaderActiveFontColor;
132
+ }, function (props) {
133
+ return props.theme.dateInput.pickerHeaderActiveBackgroundColor;
134
+ });
135
+
136
+ var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n"])));
137
+
138
+ var HeaderYearTriggerLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: ", ";\n font-size: ", ";\n"])), function (props) {
139
+ return props.theme.dateInput.pickerFontFamily;
140
+ }, function (props) {
141
+ return props.theme.dateInput.pickerHeaderFontSize;
142
+ });
143
+
144
+ var _default = /*#__PURE__*/_react["default"].memo(DxcDatePicker);
145
+
146
+ exports["default"] = _default;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare const calendarIcon: JSX.Element;
3
+ export declare const leftCaret: JSX.Element;
4
+ export declare const rightCaret: JSX.Element;
5
+ export declare const downCaret: JSX.Element;
6
+ export declare const upCaret: JSX.Element;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.upCaret = exports.rightCaret = exports.leftCaret = exports.downCaret = exports.calendarIcon = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var calendarIcon = /*#__PURE__*/_react["default"].createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ height: "24",
15
+ viewBox: "0 0 24 24",
16
+ width: "24",
17
+ fill: "currentColor"
18
+ }, /*#__PURE__*/_react["default"].createElement("path", {
19
+ d: "M0 0h24v24H0z",
20
+ fill: "none"
21
+ }), /*#__PURE__*/_react["default"].createElement("path", {
22
+ 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"
23
+ }));
24
+
25
+ exports.calendarIcon = calendarIcon;
26
+
27
+ var leftCaret = /*#__PURE__*/_react["default"].createElement("svg", {
28
+ fill: "currentColor",
29
+ focusable: "false",
30
+ viewBox: "0 0 24 24"
31
+ }, /*#__PURE__*/_react["default"].createElement("path", {
32
+ d: "M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"
33
+ }), /*#__PURE__*/_react["default"].createElement("path", {
34
+ fill: "none",
35
+ d: "M0 0h24v24H0V0z"
36
+ }));
37
+
38
+ exports.leftCaret = leftCaret;
39
+
40
+ var rightCaret = /*#__PURE__*/_react["default"].createElement("svg", {
41
+ fill: "currentColor",
42
+ focusable: "false",
43
+ viewBox: "0 0 24 24"
44
+ }, /*#__PURE__*/_react["default"].createElement("path", {
45
+ d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"
46
+ }), /*#__PURE__*/_react["default"].createElement("path", {
47
+ fill: "none",
48
+ d: "M0 0h24v24H0V0z"
49
+ }));
50
+
51
+ exports.rightCaret = rightCaret;
52
+
53
+ var downCaret = /*#__PURE__*/_react["default"].createElement("svg", {
54
+ xmlns: "http://www.w3.org/2000/svg",
55
+ width: "24",
56
+ height: "24",
57
+ viewBox: "0 0 24 24"
58
+ }, /*#__PURE__*/_react["default"].createElement("path", {
59
+ d: "M7.5 10L12.5 15L17.5 10H7.5Z",
60
+ fill: "currentColor"
61
+ }));
62
+
63
+ exports.downCaret = downCaret;
64
+
65
+ var upCaret = /*#__PURE__*/_react["default"].createElement("svg", {
66
+ xmlns: "http://www.w3.org/2000/svg",
67
+ height: "24",
68
+ width: "24",
69
+ viewBox: "0 0 24 24"
70
+ }, /*#__PURE__*/_react["default"].createElement("path", {
71
+ d: "m7 14 5-5 5 5Z",
72
+ fill: "currentColor"
73
+ }));
74
+
75
+ exports.upCaret = upCaret;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { YearPickerPropsType } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ onYearSelect, selectedDate, today }: YearPickerPropsType) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _dayjs = _interopRequireDefault(require("dayjs"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
21
+
22
+ var _templateObject, _templateObject2;
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ var getYearsArray = function getYearsArray() {
29
+ var yearList = [];
30
+
31
+ for (var i = 1899; i <= 2100; i++) {
32
+ yearList.push(i);
33
+ }
34
+
35
+ return yearList;
36
+ };
37
+
38
+ var yearList = getYearsArray();
39
+
40
+ var YearPicker = function YearPicker(_ref) {
41
+ var onYearSelect = _ref.onYearSelect,
42
+ selectedDate = _ref.selectedDate,
43
+ today = _ref.today;
44
+
45
+ var _useState = (0, _react.useState)(selectedDate ? selectedDate.get("year") : (0, _dayjs["default"])().get("year")),
46
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
47
+ yearToFocus = _useState2[0],
48
+ setYearToFocus = _useState2[1];
49
+
50
+ (0, _react.useEffect)(function () {
51
+ var _yearToFocusEl$scroll;
52
+
53
+ var yearToFocusEl = document.getElementById("year_".concat(yearToFocus));
54
+ yearToFocusEl === null || yearToFocusEl === void 0 ? void 0 : (_yearToFocusEl$scroll = yearToFocusEl.scrollIntoView) === null || _yearToFocusEl$scroll === void 0 ? void 0 : _yearToFocusEl$scroll.call(yearToFocusEl, {
55
+ block: "nearest",
56
+ inline: "start"
57
+ });
58
+ yearToFocusEl === null || yearToFocusEl === void 0 ? void 0 : yearToFocusEl.focus();
59
+ }, [yearToFocus]);
60
+
61
+ var handleDayKeyboardEvent = function handleDayKeyboardEvent(event) {
62
+ switch (event.key) {
63
+ case "ArrowUp":
64
+ setYearToFocus(function (prev) {
65
+ return prev > 1899 ? prev - 1 : prev;
66
+ });
67
+ break;
68
+
69
+ case "ArrowDown":
70
+ setYearToFocus(function (prev) {
71
+ return prev < 2100 ? prev + 1 : prev;
72
+ });
73
+ break;
74
+ }
75
+ };
76
+
77
+ return /*#__PURE__*/_react["default"].createElement(YearPickerContainer, null, yearList.map(function (year) {
78
+ return /*#__PURE__*/_react["default"].createElement(YearPickerButton, {
79
+ "aria-label": year,
80
+ key: year,
81
+ selected: (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("year")) === year,
82
+ "aria-selected": (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("year")) === year,
83
+ tabIndex: yearToFocus === year ? 0 : -1,
84
+ isCurrentYear: today.get("year") === year,
85
+ onKeyDown: function onKeyDown(event) {
86
+ return handleDayKeyboardEvent(event);
87
+ },
88
+ id: "year_".concat(year),
89
+ onClick: function onClick() {
90
+ onYearSelect(year);
91
+ }
92
+ }, year);
93
+ }));
94
+ };
95
+
96
+ var YearPickerContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 4px;\n align-items: center;\n overflow-y: scroll;\n width: 292px;\n height: 312px;\n padding: 2px 8px 8px 8px;\n"])));
97
+
98
+ var YearPickerButton = _styledComponents["default"].button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n min-height: 40px;\n line-height: 21px;\n background-color: transparent;\n border: none;\n border-radius: 50px;\n cursor: pointer;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n\n ", "\n\n &:hover, &:focus, &:active {\n font-size: ", ";\n line-height: 36px;\n }\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n color: ", ";\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", " !important;\n }\n"])), function (props) {
99
+ return props.theme.dateInput.pickerFontFamily;
100
+ }, function (props) {
101
+ return props.theme.dateInput.pickerFontSize;
102
+ }, function (props) {
103
+ return props.theme.dateInput.pickerFontColor;
104
+ }, function (props) {
105
+ return props.theme.dateInput.pickerFontWeight;
106
+ }, function (props) {
107
+ return props.selected ? "font-size: ".concat(props.theme.dateInput.pickerInteractedYearFontSize, ";\n line-height: 36px;\n color: ").concat(props.theme.dateInput.pickerSelectedFontColor, " !important;\n background-color: ").concat(props.theme.dateInput.pickerSelectedBackgroundColor, " !important;") : props.isCurrentYear ? "border: 1px solid ".concat(props.theme.dateInput.pickerCurrentDateBorderColor, "; \n color: ").concat(props.theme.dateInput.pickerCurrentYearFontColor, ";") : "";
108
+ }, function (props) {
109
+ return props.theme.dateInput.pickerInteractedYearFontSize;
110
+ }, function (props) {
111
+ return props.theme.dateInput.pickerHoverFontColor;
112
+ }, function (props) {
113
+ return props.theme.dateInput.pickerHoverBackgroundColor;
114
+ }, function (props) {
115
+ return props.theme.dateInput.pickerHoverFontColor;
116
+ }, function (props) {
117
+ return "".concat(props.theme.dateInput.pickerFocusColor, " solid\n ").concat(props.theme.dateInput.pickerFocusWidth);
118
+ }, function (props) {
119
+ return props.theme.dateInput.pickerActiveFontColor;
120
+ }, function (props) {
121
+ return props.theme.dateInput.pickerActiveBackgroundColor;
122
+ });
123
+
124
+ var _default = /*#__PURE__*/_react["default"].memo(YearPicker);
125
+
126
+ exports["default"] = _default;
@@ -1,3 +1,4 @@
1
+ import { Dayjs } from "dayjs";
1
2
  declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
3
  declare type Margin = {
3
4
  top?: Space;
@@ -14,6 +15,10 @@ declare type Props = {
14
15
  * Name attribute of the input element.
15
16
  */
16
17
  name?: string;
18
+ /**
19
+ * Initial value of the input element, only when it is uncontrolled.
20
+ */
21
+ defaultValue?: string;
17
22
  /**
18
23
  * Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
19
24
  */
@@ -50,28 +55,31 @@ declare type Props = {
50
55
  * element of the component. An object including the string value, the
51
56
  * error and the date value will be passed to this function.
52
57
  * If the string value is a valid date, error will
53
- * be null. Also, if the string value is not a valid date, date will be null.
58
+ * be undefined. Also, if the string value is not a valid date, date will be undefined.
54
59
  */
55
60
  onChange?: (val: {
56
61
  value: string;
57
- error: string | null;
58
- date: Date | null;
62
+ error?: string;
63
+ date?: Date;
59
64
  }) => void;
60
65
  /**
61
66
  * This function will be called when the input element loses the focus.
62
67
  * An object including the string value, the error and the date value
63
68
  * will be passed to this function. If the string value is a valid date, error will
64
- * be null. Also, if the string value is not a valid date, date will be null.
69
+ * be undefined. Also, if the string value is not a valid date, date will be undefined.
65
70
  */
66
71
  onBlur?: (val: {
67
72
  value: string;
68
- error: string | null;
69
- date: Date | null;
73
+ error?: string;
74
+ date?: Date;
70
75
  }) => void;
71
76
  /**
72
- * If it is defined, the component will change its appearance, showing
73
- * the error below the date input component. If it is not defined, the error
74
- * messages will be managed internally, but never displayed on its own.
77
+ * If it is a defined value and also a truthy string, the component will
78
+ * change its appearance, showing the error below the date input
79
+ * component. If the defined value is an empty string, it will reserve a
80
+ * space below the component for a future error, but it would not change
81
+ * its look. In case of being undefined or null, both the appearance and
82
+ * the space for the error message would not be modified.
75
83
  */
76
84
  error?: string;
77
85
  /**
@@ -93,6 +101,56 @@ declare type Props = {
93
101
  */
94
102
  tabIndex?: number;
95
103
  };
104
+ export declare type DatePickerPropsType = {
105
+ /**
106
+ * Initial selected date value. If invalid the actual date will be used instead.
107
+ */
108
+ date: Dayjs;
109
+ /**
110
+ * Function called when a date is selected.
111
+ */
112
+ onDateSelect: (date: Dayjs) => void;
113
+ /**
114
+ * Id assigned to the date picker.
115
+ */
116
+ id: string;
117
+ };
118
+ export declare type CalendarPropsType = {
119
+ /**
120
+ * Initial selected date value. If invalid the actual date will be used instead.
121
+ */
122
+ selectedDate: Dayjs;
123
+ /**
124
+ * Date showed by the calendar.
125
+ */
126
+ innerDate: Dayjs;
127
+ /**
128
+ * Function called when the date showned needs to be updated
129
+ */
130
+ onInnerDateChange: (date: Dayjs) => void;
131
+ /**
132
+ * Function called when a date is selected.
133
+ */
134
+ onDaySelect: (date: Dayjs) => void;
135
+ /**
136
+ * Current date
137
+ */
138
+ today: Dayjs;
139
+ };
140
+ export declare type YearPickerPropsType = {
141
+ /**
142
+ * Initial selected date value. If invalid the actual date will be used instead.
143
+ */
144
+ selectedDate: Dayjs;
145
+ /**
146
+ * Function called when a year is selected.
147
+ */
148
+ onYearSelect: (year: number) => void;
149
+ /**
150
+ * Current date
151
+ */
152
+ today: Dayjs;
153
+ };
96
154
  /**
97
155
  * Reference to the component.
98
156
  */
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import DialogPropsType from "./types";
3
- declare const DxcDialog: ({ isCloseVisible, onCloseClick, children, overlay, onBackgroundClick, padding, tabIndex, }: DialogPropsType) => JSX.Element;
3
+ declare const DxcDialog: ({ isCloseVisible, onCloseClick, children, overlay, onBackgroundClick, tabIndex, }: DialogPropsType) => JSX.Element;
4
4
  export default DxcDialog;