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

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 (302) 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 +118 -142
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +8 -7
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +17 -38
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +14 -7
  15. package/alert/Alert.js +8 -7
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +5 -3
  20. package/badge/types.d.ts +5 -0
  21. package/bleed/Bleed.js +1 -34
  22. package/bleed/Bleed.stories.tsx +95 -95
  23. package/bleed/types.d.ts +25 -1
  24. package/box/Box.js +25 -37
  25. package/box/Box.stories.tsx +15 -0
  26. package/box/Box.test.js +18 -0
  27. package/box/types.d.ts +1 -0
  28. package/bulleted-list/BulletedList.d.ts +7 -0
  29. package/bulleted-list/BulletedList.js +125 -0
  30. package/bulleted-list/BulletedList.stories.tsx +206 -0
  31. package/bulleted-list/types.d.ts +38 -0
  32. package/button/Button.js +52 -70
  33. package/button/Button.stories.tsx +159 -8
  34. package/button/Button.test.js +35 -0
  35. package/button/types.d.ts +5 -5
  36. package/card/Card.js +33 -37
  37. package/card/Card.stories.tsx +12 -13
  38. package/card/Card.test.js +50 -0
  39. package/card/types.d.ts +1 -0
  40. package/checkbox/Checkbox.d.ts +2 -2
  41. package/checkbox/Checkbox.js +107 -110
  42. package/checkbox/Checkbox.stories.tsx +198 -130
  43. package/checkbox/Checkbox.test.js +155 -0
  44. package/checkbox/types.d.ts +11 -3
  45. package/chip/Chip.d.ts +1 -1
  46. package/chip/Chip.js +22 -68
  47. package/chip/Chip.stories.tsx +98 -13
  48. package/chip/Chip.test.js +54 -0
  49. package/chip/types.d.ts +5 -13
  50. package/common/OpenSans.css +68 -80
  51. package/common/coreTokens.d.ts +146 -0
  52. package/common/coreTokens.js +167 -0
  53. package/common/utils.d.ts +1 -0
  54. package/common/utils.js +4 -4
  55. package/common/variables.d.ts +1482 -0
  56. package/common/variables.js +1097 -1348
  57. package/date-input/Calendar.d.ts +4 -0
  58. package/date-input/Calendar.js +258 -0
  59. package/date-input/DateInput.js +169 -258
  60. package/date-input/DateInput.stories.tsx +199 -33
  61. package/date-input/DateInput.test.js +835 -0
  62. package/date-input/DatePicker.d.ts +4 -0
  63. package/date-input/DatePicker.js +146 -0
  64. package/date-input/Icons.d.ts +6 -0
  65. package/date-input/Icons.js +75 -0
  66. package/date-input/YearPicker.d.ts +4 -0
  67. package/date-input/YearPicker.js +126 -0
  68. package/date-input/types.d.ts +67 -9
  69. package/dialog/Dialog.js +76 -93
  70. package/dialog/Dialog.stories.tsx +230 -123
  71. package/dialog/Dialog.test.js +369 -0
  72. package/dialog/types.d.ts +1 -0
  73. package/dropdown/Dropdown.d.ts +1 -1
  74. package/dropdown/Dropdown.js +248 -277
  75. package/dropdown/Dropdown.stories.tsx +255 -64
  76. package/dropdown/Dropdown.test.js +586 -0
  77. package/dropdown/DropdownMenu.d.ts +4 -0
  78. package/dropdown/DropdownMenu.js +74 -0
  79. package/dropdown/DropdownMenuItem.d.ts +4 -0
  80. package/dropdown/DropdownMenuItem.js +79 -0
  81. package/dropdown/types.d.ts +27 -16
  82. package/file-input/FileInput.d.ts +2 -2
  83. package/file-input/FileInput.js +180 -223
  84. package/file-input/FileInput.stories.tsx +122 -11
  85. package/file-input/FileInput.test.js +457 -0
  86. package/file-input/FileItem.d.ts +4 -14
  87. package/file-input/FileItem.js +44 -66
  88. package/file-input/types.d.ts +17 -0
  89. package/flex/Flex.d.ts +4 -0
  90. package/flex/Flex.js +71 -0
  91. package/flex/Flex.stories.tsx +112 -0
  92. package/flex/types.d.ts +97 -0
  93. package/footer/Footer.js +17 -92
  94. package/footer/Footer.stories.tsx +99 -1
  95. package/footer/Footer.test.js +97 -0
  96. package/footer/Icons.js +1 -1
  97. package/footer/types.d.ts +2 -1
  98. package/grid/Grid.d.ts +7 -0
  99. package/grid/Grid.js +91 -0
  100. package/grid/Grid.stories.tsx +219 -0
  101. package/grid/types.d.ts +115 -0
  102. package/header/Header.d.ts +3 -2
  103. package/header/Header.js +108 -129
  104. package/header/Header.stories.tsx +189 -36
  105. package/header/Header.test.js +79 -0
  106. package/header/Icons.js +2 -2
  107. package/header/types.d.ts +1 -0
  108. package/heading/Heading.js +1 -1
  109. package/heading/Heading.test.js +186 -0
  110. package/inset/Inset.js +1 -34
  111. package/inset/Inset.stories.tsx +37 -36
  112. package/inset/types.d.ts +25 -1
  113. package/layout/ApplicationLayout.d.ts +16 -6
  114. package/layout/ApplicationLayout.js +72 -126
  115. package/layout/ApplicationLayout.stories.tsx +84 -93
  116. package/layout/Icons.d.ts +5 -0
  117. package/layout/Icons.js +13 -2
  118. package/layout/SidenavContext.d.ts +5 -0
  119. package/layout/SidenavContext.js +19 -0
  120. package/layout/types.d.ts +19 -35
  121. package/link/Link.d.ts +3 -2
  122. package/link/Link.js +63 -88
  123. package/link/Link.stories.tsx +159 -52
  124. package/link/Link.test.js +81 -0
  125. package/link/types.d.ts +7 -27
  126. package/main.d.ts +12 -15
  127. package/main.js +57 -75
  128. package/nav-tabs/NavTabs.d.ts +8 -0
  129. package/nav-tabs/NavTabs.js +125 -0
  130. package/nav-tabs/NavTabs.stories.tsx +260 -0
  131. package/nav-tabs/NavTabs.test.js +82 -0
  132. package/nav-tabs/Tab.d.ts +4 -0
  133. package/nav-tabs/Tab.js +150 -0
  134. package/nav-tabs/types.d.ts +53 -0
  135. package/nav-tabs/types.js +5 -0
  136. package/number-input/NumberInput.js +11 -18
  137. package/number-input/NumberInput.stories.tsx +5 -5
  138. package/number-input/NumberInput.test.js +542 -0
  139. package/number-input/types.d.ts +17 -10
  140. package/package.json +20 -23
  141. package/paginator/Icons.d.ts +5 -0
  142. package/paginator/Icons.js +16 -28
  143. package/paginator/Paginator.js +19 -48
  144. package/paginator/Paginator.stories.tsx +24 -0
  145. package/paginator/Paginator.test.js +305 -0
  146. package/paragraph/Paragraph.d.ts +5 -0
  147. package/paragraph/Paragraph.js +38 -0
  148. package/paragraph/Paragraph.stories.tsx +44 -0
  149. package/password-input/PasswordInput.js +7 -4
  150. package/password-input/PasswordInput.test.js +181 -0
  151. package/password-input/types.d.ts +14 -11
  152. package/progress-bar/ProgressBar.js +61 -55
  153. package/progress-bar/ProgressBar.stories.jsx +47 -12
  154. package/progress-bar/ProgressBar.test.js +110 -0
  155. package/quick-nav/QuickNav.d.ts +4 -0
  156. package/quick-nav/QuickNav.js +117 -0
  157. package/quick-nav/QuickNav.stories.tsx +356 -0
  158. package/quick-nav/types.d.ts +21 -0
  159. package/quick-nav/types.js +5 -0
  160. package/radio-group/Radio.d.ts +1 -1
  161. package/radio-group/Radio.js +53 -37
  162. package/radio-group/RadioGroup.js +67 -57
  163. package/radio-group/RadioGroup.stories.tsx +171 -36
  164. package/radio-group/RadioGroup.test.js +563 -89
  165. package/radio-group/types.d.ts +82 -4
  166. package/resultsetTable/Icons.d.ts +7 -0
  167. package/resultsetTable/Icons.js +51 -0
  168. package/resultsetTable/ResultsetTable.js +50 -106
  169. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  170. package/resultsetTable/ResultsetTable.test.js +325 -0
  171. package/resultsetTable/types.d.ts +1 -1
  172. package/select/Icons.d.ts +10 -0
  173. package/select/Icons.js +93 -0
  174. package/select/Listbox.d.ts +4 -0
  175. package/select/Listbox.js +169 -0
  176. package/select/Option.d.ts +4 -0
  177. package/select/Option.js +97 -0
  178. package/select/Select.js +189 -386
  179. package/select/Select.stories.tsx +600 -201
  180. package/select/Select.test.js +2228 -0
  181. package/select/types.d.ts +53 -13
  182. package/sidenav/Icons.d.ts +7 -0
  183. package/sidenav/Icons.js +51 -0
  184. package/sidenav/Sidenav.d.ts +6 -5
  185. package/sidenav/Sidenav.js +146 -44
  186. package/sidenav/Sidenav.stories.tsx +251 -151
  187. package/sidenav/Sidenav.test.js +44 -0
  188. package/sidenav/types.d.ts +52 -26
  189. package/slider/Slider.d.ts +2 -2
  190. package/slider/Slider.js +123 -98
  191. package/slider/Slider.stories.tsx +72 -9
  192. package/slider/Slider.test.js +250 -0
  193. package/slider/types.d.ts +8 -0
  194. package/spinner/Spinner.js +18 -24
  195. package/spinner/Spinner.stories.jsx +53 -27
  196. package/spinner/Spinner.test.js +64 -0
  197. package/switch/Switch.d.ts +2 -2
  198. package/switch/Switch.js +152 -69
  199. package/switch/Switch.stories.tsx +53 -42
  200. package/switch/Switch.test.js +225 -0
  201. package/switch/types.d.ts +10 -2
  202. package/table/Table.js +3 -3
  203. package/table/Table.stories.jsx +80 -1
  204. package/table/Table.test.js +26 -0
  205. package/tabs/Tab.d.ts +4 -0
  206. package/tabs/Tab.js +132 -0
  207. package/tabs/Tabs.d.ts +1 -1
  208. package/tabs/Tabs.js +360 -112
  209. package/tabs/Tabs.stories.tsx +119 -13
  210. package/tabs/Tabs.test.js +350 -0
  211. package/tabs/types.d.ts +17 -3
  212. package/tag/Tag.d.ts +1 -1
  213. package/tag/Tag.js +24 -36
  214. package/tag/Tag.stories.tsx +37 -27
  215. package/tag/Tag.test.js +60 -0
  216. package/tag/types.d.ts +23 -14
  217. package/text-input/Icons.d.ts +8 -0
  218. package/text-input/Icons.js +60 -0
  219. package/text-input/Suggestion.d.ts +4 -0
  220. package/text-input/Suggestion.js +84 -0
  221. package/text-input/Suggestions.d.ts +4 -0
  222. package/text-input/Suggestions.js +134 -0
  223. package/text-input/TextInput.js +224 -345
  224. package/text-input/TextInput.stories.tsx +310 -197
  225. package/text-input/TextInput.test.js +1723 -0
  226. package/text-input/types.d.ts +50 -12
  227. package/textarea/Textarea.js +22 -30
  228. package/textarea/Textarea.stories.jsx +93 -13
  229. package/textarea/Textarea.test.js +435 -0
  230. package/textarea/types.d.ts +18 -11
  231. package/toggle-group/ToggleGroup.d.ts +1 -1
  232. package/toggle-group/ToggleGroup.js +12 -8
  233. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  234. package/toggle-group/ToggleGroup.test.js +156 -0
  235. package/toggle-group/types.d.ts +10 -2
  236. package/typography/Typography.d.ts +4 -0
  237. package/typography/Typography.js +32 -0
  238. package/typography/Typography.stories.tsx +198 -0
  239. package/typography/types.d.ts +18 -0
  240. package/typography/types.js +5 -0
  241. package/useTheme.d.ts +1234 -1
  242. package/useTheme.js +3 -3
  243. package/useTranslatedLabels.d.ts +85 -0
  244. package/useTranslatedLabels.js +20 -0
  245. package/utils/BaseTypography.d.ts +21 -0
  246. package/utils/BaseTypography.js +108 -0
  247. package/utils/FocusLock.d.ts +13 -0
  248. package/utils/FocusLock.js +139 -0
  249. package/wizard/Wizard.d.ts +1 -1
  250. package/wizard/Wizard.js +59 -55
  251. package/wizard/Wizard.stories.tsx +48 -19
  252. package/wizard/Wizard.test.js +141 -0
  253. package/wizard/types.d.ts +8 -4
  254. package/ThemeContext.d.ts +0 -15
  255. package/ThemeContext.js +0 -243
  256. package/V3Select/V3Select.js +0 -455
  257. package/V3Select/index.d.ts +0 -27
  258. package/V3Textarea/V3Textarea.js +0 -260
  259. package/V3Textarea/index.d.ts +0 -27
  260. package/common/RequiredComponent.js +0 -32
  261. package/date/Date.js +0 -373
  262. package/date/index.d.ts +0 -27
  263. package/input-text/Icons.js +0 -22
  264. package/input-text/InputText.js +0 -611
  265. package/input-text/index.d.ts +0 -36
  266. package/list/List.d.ts +0 -4
  267. package/list/List.js +0 -47
  268. package/list/List.stories.tsx +0 -95
  269. package/list/types.d.ts +0 -7
  270. package/radio/Radio.d.ts +0 -4
  271. package/radio/Radio.js +0 -174
  272. package/radio/Radio.stories.tsx +0 -192
  273. package/radio/types.d.ts +0 -54
  274. package/row/Row.d.ts +0 -3
  275. package/row/Row.js +0 -127
  276. package/row/Row.stories.tsx +0 -237
  277. package/row/types.d.ts +0 -10
  278. package/stack/Stack.d.ts +0 -3
  279. package/stack/Stack.js +0 -97
  280. package/stack/Stack.stories.tsx +0 -164
  281. package/stack/types.d.ts +0 -9
  282. package/text/Text.d.ts +0 -7
  283. package/text/Text.js +0 -30
  284. package/text/Text.stories.tsx +0 -19
  285. package/toggle/Toggle.js +0 -186
  286. package/toggle/index.d.ts +0 -21
  287. package/upload/Upload.js +0 -201
  288. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  289. package/upload/buttons-upload/Icons.js +0 -40
  290. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  291. package/upload/dragAndDropArea/Icons.js +0 -39
  292. package/upload/file-upload/FileToUpload.js +0 -115
  293. package/upload/file-upload/Icons.js +0 -66
  294. package/upload/files-upload/FilesToUpload.js +0 -109
  295. package/upload/index.d.ts +0 -15
  296. package/upload/transaction/Icons.js +0 -160
  297. package/upload/transaction/Transaction.js +0 -104
  298. package/upload/transactions/Transactions.js +0 -94
  299. /package/{list → badge}/types.js +0 -0
  300. /package/{radio → bulleted-list}/types.js +0 -0
  301. /package/{row → flex}/types.js +0 -0
  302. /package/{stack → grid}/types.js +0 -0
@@ -0,0 +1,835 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+
13
+ var _react = _interopRequireDefault(require("react"));
14
+
15
+ var _react2 = require("@testing-library/react");
16
+
17
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
18
+
19
+ var _dayjs = _interopRequireDefault(require("dayjs"));
20
+
21
+ var _DateInput = _interopRequireDefault(require("./DateInput.tsx"));
22
+
23
+ // Mocking DOMRect for Radix Primitive Popover
24
+ global.globalThis = global;
25
+
26
+ global.ResizeObserver = /*#__PURE__*/function () {
27
+ function ResizeObserver(cb) {
28
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
29
+ this.cb = cb;
30
+ }
31
+
32
+ (0, _createClass2["default"])(ResizeObserver, [{
33
+ key: "observe",
34
+ value: function observe() {
35
+ this.cb([{
36
+ borderBoxSize: {
37
+ inlineSize: 0,
38
+ blockSize: 0
39
+ }
40
+ }]);
41
+ }
42
+ }, {
43
+ key: "unobserve",
44
+ value: function unobserve() {}
45
+ }]);
46
+ return ResizeObserver;
47
+ }();
48
+
49
+ global.DOMRect = {
50
+ fromRect: function fromRect() {
51
+ return {
52
+ top: 0,
53
+ left: 0,
54
+ bottom: 0,
55
+ right: 0,
56
+ width: 0,
57
+ height: 0
58
+ };
59
+ }
60
+ };
61
+ describe("DateInput component tests", function () {
62
+ test("Renders with correct label, helper text, optional, placeholder and clearable action", function () {
63
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
64
+ label: "Example label",
65
+ helperText: "Example of helper text",
66
+ placeholder: true,
67
+ optional: true,
68
+ clearable: true
69
+ })),
70
+ getByText = _render.getByText,
71
+ getByRole = _render.getByRole,
72
+ getAllByRole = _render.getAllByRole;
73
+
74
+ var input = getByRole("textbox");
75
+ expect(getByText("Example label")).toBeTruthy();
76
+ expect(getByText("Example of helper text")).toBeTruthy();
77
+ expect(getByText("(Optional)")).toBeTruthy();
78
+ expect(input.getAttribute("placeholder")).toBe("DD-MM-YYYY");
79
+
80
+ _userEvent["default"].type(input, "10/10/2010");
81
+
82
+ var closeAction = getAllByRole("button")[0];
83
+
84
+ _userEvent["default"].click(closeAction);
85
+
86
+ expect(input.value).toBe("");
87
+ });
88
+ test("Renders with custom error", function () {
89
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
90
+ error: "Personalized error."
91
+ })),
92
+ getByText = _render2.getByText;
93
+
94
+ expect(getByText("Personalized error.")).toBeTruthy();
95
+ });
96
+ test("Renders with an initial value when it is uncontrolled", function () {
97
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
98
+ label: "Default label",
99
+ placeholder: "Placeholder",
100
+ defaultValue: "21-10-2015"
101
+ })),
102
+ getByText = _render3.getByText,
103
+ getByRole = _render3.getByRole;
104
+
105
+ var input = getByRole("textbox");
106
+ var calendarAction = getByRole("combobox");
107
+ expect(input.value).toBe("21-10-2015");
108
+
109
+ _userEvent["default"].click(calendarAction);
110
+
111
+ expect(getByText("21").getAttribute("aria-selected")).toBe("true");
112
+ expect(getByText("October 2015")).toBeTruthy();
113
+ });
114
+ test("Renders with correct format: user typed date but it's invalid, onBlur error", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
115
+ var onBlur, _render4, getByRole, input;
116
+
117
+ return _regenerator["default"].wrap(function _callee$(_context) {
118
+ while (1) {
119
+ switch (_context.prev = _context.next) {
120
+ case 0:
121
+ onBlur = jest.fn(function (_ref2) {
122
+ var value = _ref2.value,
123
+ error = _ref2.error;
124
+ expect(value).toBe("10/90/2010");
125
+ expect(error).toBe("Invalid date.");
126
+ });
127
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
128
+ label: "With format MM/dd/yyyy",
129
+ format: "MM/dd/yyyy",
130
+ onBlur: onBlur
131
+ })), getByRole = _render4.getByRole;
132
+ input = getByRole("textbox");
133
+
134
+ _userEvent["default"].click(input);
135
+
136
+ _context.next = 6;
137
+ return _userEvent["default"].keyboard("10");
138
+
139
+ case 6:
140
+ _context.next = 8;
141
+ return _userEvent["default"].keyboard("/");
142
+
143
+ case 8:
144
+ _context.next = 10;
145
+ return _userEvent["default"].keyboard("90");
146
+
147
+ case 10:
148
+ _context.next = 12;
149
+ return _userEvent["default"].keyboard("/");
150
+
151
+ case 12:
152
+ _context.next = 14;
153
+ return _userEvent["default"].keyboard("2010");
154
+
155
+ case 14:
156
+ _react2.fireEvent.blur(input);
157
+
158
+ case 15:
159
+ case "end":
160
+ return _context.stop();
161
+ }
162
+ }
163
+ }, _callee);
164
+ })));
165
+ test("Renders with correct format: user typed date but it's invalid, onChange error", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
166
+ var onChange, _render5, getByRole, input;
167
+
168
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
169
+ while (1) {
170
+ switch (_context2.prev = _context2.next) {
171
+ case 0:
172
+ onChange = jest.fn();
173
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
174
+ label: "With format MM/dd/yyyy",
175
+ format: "MM/dd/yyyy",
176
+ onChange: onChange
177
+ })), getByRole = _render5.getByRole;
178
+ input = getByRole("textbox");
179
+
180
+ _userEvent["default"].click(input);
181
+
182
+ _context2.next = 6;
183
+ return _userEvent["default"].keyboard("10");
184
+
185
+ case 6:
186
+ _context2.next = 8;
187
+ return _userEvent["default"].keyboard("/");
188
+
189
+ case 8:
190
+ _context2.next = 10;
191
+ return _userEvent["default"].keyboard("90");
192
+
193
+ case 10:
194
+ _context2.next = 12;
195
+ return _userEvent["default"].keyboard("/");
196
+
197
+ case 12:
198
+ _context2.next = 14;
199
+ return _userEvent["default"].keyboard("2010");
200
+
201
+ case 14:
202
+ expect(onChange).toHaveBeenCalledTimes(10);
203
+ expect(onChange).toHaveBeenCalledWith({
204
+ value: "10/90/2010",
205
+ error: "Invalid date."
206
+ });
207
+
208
+ case 16:
209
+ case "end":
210
+ return _context2.stop();
211
+ }
212
+ }
213
+ }, _callee2);
214
+ })));
215
+ test("Calendar renders with correct date: today's date", function () {
216
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
217
+ getByText = _render6.getByText,
218
+ getByRole = _render6.getByRole,
219
+ getAllByText = _render6.getAllByText;
220
+
221
+ var calendarAction = getByRole("combobox");
222
+ var d = (0, _dayjs["default"])();
223
+
224
+ _userEvent["default"].click(calendarAction);
225
+
226
+ expect(document.activeElement === getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0]).toBeTruthy();
227
+ expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
228
+ });
229
+ test("Calendar renders with correct date: value prop", function () {
230
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
231
+ value: "20-10-2019"
232
+ })),
233
+ getByText = _render7.getByText,
234
+ getByRole = _render7.getByRole,
235
+ getAllByText = _render7.getAllByText;
236
+
237
+ var calendarAction = getByRole("combobox");
238
+ var d = (0, _dayjs["default"])("2019-10-20");
239
+
240
+ _userEvent["default"].click(calendarAction);
241
+
242
+ expect(getAllByText(d.get("date"))[0].getAttribute("aria-selected")).toBe("true");
243
+ expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
244
+ });
245
+ test("Calendar renders with correct date: user typed value", function () {
246
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
247
+ getByText = _render8.getByText,
248
+ getByRole = _render8.getByRole,
249
+ getAllByText = _render8.getAllByText;
250
+
251
+ var calendarAction = getByRole("combobox");
252
+ var d = (0, _dayjs["default"])("2010-1-1");
253
+ var input = getByRole("textbox");
254
+
255
+ _userEvent["default"].type(input, "01-01-2010");
256
+
257
+ _userEvent["default"].click(calendarAction);
258
+
259
+ expect(getAllByText(d.get("date"))[0].getAttribute("aria-selected")).toBe("true");
260
+ expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
261
+ });
262
+ test("Calendar renders with correct date: invalid date, renders with today's date", function () {
263
+ var onBlur = jest.fn();
264
+
265
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
266
+ onBlur: onBlur
267
+ })),
268
+ getByText = _render9.getByText,
269
+ getByRole = _render9.getByRole,
270
+ getAllByText = _render9.getAllByText;
271
+
272
+ var calendarAction = getByRole("combobox");
273
+ var d = (0, _dayjs["default"])();
274
+ var input = getByRole("textbox");
275
+
276
+ _userEvent["default"].type(input, "01-01-xxxx");
277
+
278
+ _react2.fireEvent.blur(input);
279
+
280
+ expect(onBlur).toHaveBeenCalled();
281
+ expect(onBlur).toHaveBeenCalledWith({
282
+ value: "01-01-xxxx",
283
+ error: "Invalid date."
284
+ });
285
+
286
+ _userEvent["default"].click(calendarAction);
287
+
288
+ expect(document.activeElement === getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0]).toBeTruthy();
289
+ expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
290
+ });
291
+ test("Selecting a date from the calendar with an specific format", function () {
292
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
293
+ label: "With format M-dd-yyyy",
294
+ format: "M-dd-yyyy"
295
+ })),
296
+ getAllByText = _render10.getAllByText,
297
+ getByText = _render10.getByText,
298
+ getByRole = _render10.getByRole;
299
+
300
+ var input = getByRole("textbox");
301
+ var calendarAction = getByRole("combobox");
302
+
303
+ _userEvent["default"].click(calendarAction);
304
+
305
+ var dayButton = getAllByText("10")[0].closest("button");
306
+
307
+ _react2.fireEvent.click(dayButton);
308
+
309
+ var d = (0, _dayjs["default"])();
310
+ d = d.set("date", 10);
311
+ expect(getAllByText(d.get("date"))[0].getAttribute("aria-selected")).toBe("true");
312
+ expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
313
+
314
+ _react2.fireEvent.keyDown(document, {
315
+ key: "Escape",
316
+ code: "Escape",
317
+ keyCode: 27,
318
+ charCode: 27
319
+ });
320
+
321
+ expect(input.value).toBe(d.format("M-DD-YYYY"));
322
+ });
323
+ test("Changing months using the arrows", function () {
324
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
325
+ label: "label",
326
+ format: "dd-mm-yyyy",
327
+ defaultValue: "10-10-2000"
328
+ })),
329
+ getByText = _render11.getByText,
330
+ getByRole = _render11.getByRole,
331
+ getByTitle = _render11.getByTitle;
332
+
333
+ var calendarAction = getByRole("combobox");
334
+
335
+ _userEvent["default"].click(calendarAction);
336
+
337
+ var d = (0, _dayjs["default"])("10-10-2000", "DD-MM-YYYY", true);
338
+ d = d.set("date", 10);
339
+ expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
340
+ var previousMonth = getByTitle("Previous month");
341
+
342
+ _userEvent["default"].click(previousMonth);
343
+
344
+ expect(getByText(d.set("month", d.get("month") - 1).format("MMMM YYYY"))).toBeTruthy();
345
+ var nextMonth = getByTitle("Next month");
346
+
347
+ _userEvent["default"].click(nextMonth);
348
+
349
+ expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
350
+ });
351
+ test("Selecting a date from the calendar from another month", function () {
352
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
353
+ format: "dd-mm-yyyy",
354
+ defaultValue: "10-08-2021"
355
+ })),
356
+ getAllByText = _render12.getAllByText,
357
+ getByText = _render12.getByText,
358
+ getByRole = _render12.getByRole;
359
+
360
+ var input = getByRole("textbox");
361
+ var calendarAction = getByRole("combobox");
362
+
363
+ _userEvent["default"].click(calendarAction);
364
+
365
+ var dayButton = getAllByText("31")[0].closest("button");
366
+
367
+ _react2.fireEvent.click(dayButton);
368
+
369
+ var d = (0, _dayjs["default"])("10-08-2021", "DD-MM-YYYY", true);
370
+ d = d.set("date", 31).set("month", 6);
371
+ expect(getAllByText(d.get("date"))[0].getAttribute("aria-selected")).toBe("true");
372
+ expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
373
+
374
+ _react2.fireEvent.keyDown(document, {
375
+ key: "Escape",
376
+ code: "Escape",
377
+ keyCode: 27,
378
+ charCode: 27
379
+ });
380
+
381
+ expect(input.value).toBe(d.format("DD-MM-YYYY"));
382
+ });
383
+ test("Selecting a year from the calendar year picker", function () {
384
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
385
+ format: "dd-mm-yyyy",
386
+ defaultValue: "10-08-2021"
387
+ })),
388
+ getByText = _render13.getByText,
389
+ getByRole = _render13.getByRole;
390
+
391
+ var input = getByRole("textbox");
392
+ var calendarAction = getByRole("combobox");
393
+
394
+ _userEvent["default"].click(calendarAction);
395
+
396
+ var d = (0, _dayjs["default"])("10-08-2021", "DD-MM-YYYY", true);
397
+
398
+ _userEvent["default"].click(getByText(d.format("MMMM YYYY")));
399
+
400
+ expect(getByText("2024")).toBeTruthy();
401
+
402
+ _userEvent["default"].click(getByText("2024"));
403
+
404
+ _userEvent["default"].click(getByText(d.set("year", 2024).format("MMMM YYYY")));
405
+
406
+ _react2.fireEvent.keyDown(document, {
407
+ key: "Escape",
408
+ code: "Escape",
409
+ keyCode: 27,
410
+ charCode: 27
411
+ });
412
+
413
+ expect(input.value).toBe(d.format("DD-MM-YYYY"));
414
+ });
415
+ test("Selecting a date from the calendar (using keyboard presses)", function () {
416
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
417
+ getByRole = _render14.getByRole,
418
+ getAllByText = _render14.getAllByText,
419
+ getByText = _render14.getByText;
420
+
421
+ var calendarAction = getByRole("combobox");
422
+ var input = getByRole("textbox");
423
+
424
+ _userEvent["default"].type(input, "01-01-2010");
425
+
426
+ expect(input.value).toBe("01-01-2010");
427
+
428
+ _userEvent["default"].click(calendarAction);
429
+
430
+ expect(document.activeElement === getAllByText("1")[0].closest("button")).toBeTruthy();
431
+
432
+ _react2.fireEvent.keyDown(getAllByText("1")[0].closest("button"), {
433
+ key: "ArrowRight",
434
+ code: "ArrowRight",
435
+ keyCode: 39,
436
+ charCode: 39
437
+ });
438
+
439
+ expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
440
+
441
+ _react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
442
+ key: "PageUp",
443
+ code: "PageUp",
444
+ keyCode: 33,
445
+ charCode: 33
446
+ });
447
+
448
+ expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
449
+ expect(getByText("December 2009")).toBeTruthy();
450
+
451
+ _react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
452
+ key: "PageDown",
453
+ code: "PageDown",
454
+ keyCode: 34,
455
+ charCode: 34
456
+ });
457
+
458
+ expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
459
+ expect(getByText("January 2010")).toBeTruthy();
460
+
461
+ _react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
462
+ key: "PageDown",
463
+ code: "PageDown",
464
+ keyCode: 34,
465
+ charCode: 34,
466
+ shiftKey: true
467
+ });
468
+
469
+ expect(getByText("January 2011")).toBeTruthy();
470
+
471
+ _react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
472
+ key: "PageUp",
473
+ code: "PageUp",
474
+ keyCode: 33,
475
+ charCode: 33,
476
+ shiftKey: true
477
+ });
478
+
479
+ expect(getByText("January 2010")).toBeTruthy();
480
+ expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
481
+
482
+ _react2.fireEvent.click(getAllByText("2")[0].closest("button"), {
483
+ key: " ",
484
+ code: "Space",
485
+ keyCode: 32,
486
+ charCode: 32
487
+ });
488
+
489
+ expect(getAllByText("2")[0].closest("button").getAttribute("aria-selected")).toBe("true");
490
+
491
+ _react2.fireEvent.keyDown(document, {
492
+ key: "Escape",
493
+ code: "Escape",
494
+ keyCode: 27,
495
+ charCode: 27
496
+ });
497
+
498
+ expect(input.value).toBe("02-01-2010");
499
+ });
500
+ test("Selecting a date from the calendar (using keyboard presses) part II", function () {
501
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
502
+ getByRole = _render15.getByRole,
503
+ getAllByText = _render15.getAllByText;
504
+
505
+ var calendarAction = getByRole("combobox");
506
+ var input = getByRole("textbox");
507
+
508
+ _userEvent["default"].type(input, "01-01-2010");
509
+
510
+ expect(input.value).toBe("01-01-2010");
511
+
512
+ _userEvent["default"].click(calendarAction);
513
+
514
+ expect(document.activeElement === getAllByText("1")[0].closest("button")).toBeTruthy();
515
+
516
+ _react2.fireEvent.keyDown(getAllByText("1")[0].closest("button"), {
517
+ key: "ArrowDown",
518
+ code: "ArrowDown",
519
+ keyCode: 40,
520
+ charCode: 40
521
+ });
522
+
523
+ expect(document.activeElement === getAllByText("8")[0].closest("button")).toBeTruthy();
524
+
525
+ _react2.fireEvent.keyDown(getAllByText("8")[0].closest("button"), {
526
+ key: "ArrowDown",
527
+ code: "ArrowDown",
528
+ keyCode: 40,
529
+ charCode: 40
530
+ });
531
+
532
+ expect(document.activeElement === getAllByText("15")[0].closest("button")).toBeTruthy();
533
+
534
+ _react2.fireEvent.keyDown(getAllByText("15")[0].closest("button"), {
535
+ key: "ArrowUp",
536
+ code: "ArrowUp",
537
+ keyCode: 38,
538
+ charCode: 38
539
+ });
540
+
541
+ expect(document.activeElement === getAllByText("8")[0].closest("button")).toBeTruthy();
542
+
543
+ _react2.fireEvent.keyDown(getAllByText("8")[0].closest("button"), {
544
+ key: "End",
545
+ code: "End",
546
+ keyCode: 35,
547
+ charCode: 35
548
+ });
549
+
550
+ expect(document.activeElement === getAllByText("10")[0].closest("button")).toBeTruthy();
551
+
552
+ _react2.fireEvent.keyDown(getAllByText("10")[0].closest("button"), {
553
+ key: "Home",
554
+ code: "Home",
555
+ keyCode: 36,
556
+ charCode: 36
557
+ });
558
+
559
+ _react2.fireEvent.keyDown(getAllByText("10")[0].closest("button"), {
560
+ key: " ",
561
+ code: "Space",
562
+ keyCode: 32,
563
+ charCode: 32
564
+ });
565
+
566
+ expect(input.value).toBe("10-01-2010");
567
+ });
568
+ test("onChange & onBlur functions are called correctly", function () {
569
+ var onBlur = jest.fn();
570
+ var onChange = jest.fn();
571
+
572
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
573
+ onChange: onChange,
574
+ onBlur: onBlur
575
+ })),
576
+ getByRole = _render16.getByRole;
577
+
578
+ var input = getByRole("textbox");
579
+ var d = new Date(2011, 9, 10);
580
+
581
+ _userEvent["default"].type(input, "10-10-2011");
582
+
583
+ expect(input.value).toBe("10-10-2011");
584
+ expect(onChange).toHaveBeenCalledTimes(10);
585
+ expect(onChange).toHaveBeenCalledWith({
586
+ value: "10-10-2011",
587
+ date: d
588
+ });
589
+
590
+ _react2.fireEvent.blur(input);
591
+
592
+ expect(onBlur).toHaveBeenCalled();
593
+ expect(onBlur).toHaveBeenCalledWith({
594
+ value: "10-10-2011",
595
+ date: d
596
+ });
597
+ });
598
+ test("onChange & onBlur functions are called correctly, also with errors", function () {
599
+ var onBlur = jest.fn();
600
+ var onChange = jest.fn();
601
+
602
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
603
+ onChange: onChange,
604
+ onBlur: onBlur
605
+ })),
606
+ getByRole = _render17.getByRole;
607
+
608
+ var input = getByRole("textbox");
609
+
610
+ _userEvent["default"].type(input, "10-10-");
611
+
612
+ expect(input.value).toBe("10-10-");
613
+ expect(onChange).toHaveBeenCalledTimes(6);
614
+ expect(onChange).toHaveBeenCalledWith({
615
+ value: "10-10-",
616
+ error: "Invalid date."
617
+ });
618
+
619
+ _react2.fireEvent.blur(input);
620
+
621
+ expect(onBlur).toHaveBeenCalled();
622
+ expect(onBlur).toHaveBeenCalledWith({
623
+ value: "10-10-",
624
+ error: "Invalid date."
625
+ });
626
+ });
627
+ test("onBlur function removes the error when it is fixed", function () {
628
+ var onBlur = jest.fn();
629
+
630
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
631
+ onBlur: onBlur
632
+ })),
633
+ getByRole = _render18.getByRole;
634
+
635
+ var input = getByRole("textbox");
636
+ var d = new Date(2002, 1, 20);
637
+
638
+ _userEvent["default"].type(input, "test");
639
+
640
+ expect(input.value).toBe("test");
641
+
642
+ _react2.fireEvent.blur(input);
643
+
644
+ expect(onBlur).toHaveBeenCalled();
645
+ expect(onBlur).toHaveBeenCalledWith({
646
+ value: "test",
647
+ error: "Invalid date."
648
+ });
649
+
650
+ _userEvent["default"].clear(input);
651
+
652
+ _userEvent["default"].type(input, "20-02-2002");
653
+
654
+ expect(input.value).toBe("20-02-2002");
655
+
656
+ _react2.fireEvent.blur(input);
657
+
658
+ expect(onBlur).toHaveBeenCalled();
659
+ expect(onBlur).toHaveBeenCalledWith({
660
+ value: "20-02-2002",
661
+ date: d
662
+ });
663
+ });
664
+ test("onBlur function removes the error when the input is empty", function () {
665
+ var onBlur = jest.fn();
666
+
667
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
668
+ onBlur: onBlur,
669
+ optional: true
670
+ })),
671
+ getByRole = _render19.getByRole;
672
+
673
+ var input = getByRole("textbox");
674
+
675
+ _userEvent["default"].type(input, "test");
676
+
677
+ expect(input.value).toBe("test");
678
+
679
+ _react2.fireEvent.blur(input);
680
+
681
+ expect(onBlur).toHaveBeenCalled();
682
+ expect(onBlur).toHaveBeenCalledWith({
683
+ value: "test",
684
+ error: "Invalid date."
685
+ });
686
+
687
+ _userEvent["default"].clear(input);
688
+
689
+ _react2.fireEvent.blur(input);
690
+
691
+ expect(onBlur).toHaveBeenCalled();
692
+ expect(onBlur).toHaveBeenCalledWith({
693
+ value: ""
694
+ });
695
+ });
696
+ test("onBlur & onChange functions error: required field (not optional)", function () {
697
+ var onBlur = jest.fn();
698
+ var onChange = jest.fn();
699
+
700
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
701
+ onBlur: onBlur,
702
+ onChange: onChange
703
+ })),
704
+ getByRole = _render20.getByRole;
705
+
706
+ var date = getByRole("textbox");
707
+
708
+ _userEvent["default"].type(date, "t");
709
+
710
+ expect(date.value).toBe("t");
711
+
712
+ _userEvent["default"].clear(date);
713
+
714
+ _react2.fireEvent.blur(date);
715
+
716
+ expect(onBlur).toHaveBeenCalled();
717
+ expect(onBlur).toHaveBeenCalledWith({
718
+ value: "",
719
+ error: "This field is required. Please, enter a value."
720
+ });
721
+ expect(onChange).toHaveBeenCalled();
722
+ expect(onChange).toHaveBeenCalledWith({
723
+ value: "",
724
+ error: "This field is required. Please, enter a value."
725
+ });
726
+ });
727
+ test("Disabled date input (calendar action must be shown but not clickable)", function () {
728
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
729
+ disabled: true
730
+ })),
731
+ getByRole = _render21.getByRole,
732
+ queryByText = _render21.queryByText;
733
+
734
+ var calendarAction = getByRole("button");
735
+ var d = new Date();
736
+ var options = {
737
+ weekday: "short",
738
+ month: "short",
739
+ day: "numeric"
740
+ };
741
+ expect(getByRole("textbox").disabled).toBeTruthy();
742
+
743
+ _userEvent["default"].click(calendarAction);
744
+
745
+ expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
746
+ });
747
+ test("Input has correct accesibility attributes", function () {
748
+ var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
749
+ label: "Date input label"
750
+ })),
751
+ getByRole = _render22.getByRole;
752
+
753
+ var input = getByRole("textbox");
754
+ expect(input.getAttribute("aria-autocomplete")).toBeNull();
755
+ expect(input.getAttribute("aria-controls")).toBeNull();
756
+ expect(input.getAttribute("aria-expanded")).toBeNull();
757
+ var calendarAction = getByRole("combobox");
758
+ expect(calendarAction.getAttribute("aria-autocomplete")).toBeNull();
759
+ expect(calendarAction.getAttribute("aria-controls")).toBeTruthy();
760
+ expect(calendarAction.getAttribute("aria-describedby")).toBeTruthy();
761
+ expect(calendarAction.getAttribute("aria-describedby") === calendarAction.getAttribute("aria-controls")).toBeTruthy();
762
+ expect(calendarAction.getAttribute("aria-expanded")).toBe("false");
763
+
764
+ _userEvent["default"].click(calendarAction);
765
+
766
+ var datePicker = getByRole("dialog");
767
+ expect(datePicker.getAttribute("aria-modal")).toBe("true");
768
+ expect(calendarAction.getAttribute("aria-expanded")).toBe("true");
769
+ expect(document.getElementById(calendarAction.getAttribute("aria-describedby"))).toBeTruthy();
770
+
771
+ _react2.fireEvent.keyDown(document, {
772
+ key: "Escape",
773
+ code: "Escape",
774
+ keyCode: 27,
775
+ charCode: 27
776
+ });
777
+
778
+ expect(calendarAction.getAttribute("aria-expanded")).toBe("false");
779
+ });
780
+ test("Chooses the correct year when two digit format", function () {
781
+ var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
782
+ label: "Default label",
783
+ placeholder: "Placeholder",
784
+ format: "dd-mm-yy",
785
+ defaultValue: "21-10-80"
786
+ })),
787
+ getByText = _render23.getByText,
788
+ getByRole = _render23.getByRole,
789
+ getAllByText = _render23.getAllByText;
790
+
791
+ var input = getByRole("textbox");
792
+ var calendarAction = getByRole("combobox");
793
+ expect(input.value).toBe("21-10-80");
794
+
795
+ _userEvent["default"].click(calendarAction);
796
+
797
+ expect(getByText("21").getAttribute("aria-selected")).toBe("true");
798
+ expect(getByText("October 1980")).toBeTruthy();
799
+
800
+ _react2.fireEvent.keyDown(document, {
801
+ key: "Escape",
802
+ code: "Escape",
803
+ keyCode: 27,
804
+ charCode: 27
805
+ });
806
+
807
+ _react2.fireEvent.change(input, {
808
+ target: {
809
+ value: "21-10-10"
810
+ }
811
+ });
812
+
813
+ _userEvent["default"].click(calendarAction);
814
+
815
+ expect(getByText("October 1910")).toBeTruthy();
816
+
817
+ _userEvent["default"].click(getByText("October 1910"));
818
+
819
+ _userEvent["default"].click(getByText("2010"));
820
+
821
+ _userEvent["default"].click(getAllByText("1")[0]);
822
+
823
+ expect(input.value).toBe("01-10-10");
824
+
825
+ _react2.fireEvent.change(input, {
826
+ target: {
827
+ value: "21-10-80"
828
+ }
829
+ });
830
+
831
+ _userEvent["default"].click(calendarAction);
832
+
833
+ expect(getByText("October 2080")).toBeTruthy();
834
+ });
835
+ });