@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,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
+ });