@simplybusiness/mobius-datepicker 4.2.6 → 4.3.0

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 (145) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/components/DatePicker/DatePicker.js +146 -80
  3. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  4. package/dist/cjs/components/DatePicker/DatePickerIcon.js +14 -5
  5. package/dist/cjs/components/DatePicker/DatePickerIcon.js.map +1 -1
  6. package/dist/cjs/components/DatePicker/DatePickerModal.js +75 -31
  7. package/dist/cjs/components/DatePicker/DatePickerModal.js.map +1 -1
  8. package/dist/cjs/components/DatePicker/constants.js +24 -5
  9. package/dist/cjs/components/DatePicker/constants.js.map +1 -1
  10. package/dist/cjs/components/DatePicker/index.js +18 -16
  11. package/dist/cjs/components/DatePicker/index.js.map +1 -1
  12. package/dist/cjs/components/DatePicker/utils/dateObjToString.js +12 -5
  13. package/dist/cjs/components/DatePicker/utils/dateObjToString.js.map +1 -1
  14. package/dist/cjs/components/DatePicker/utils/formatErrorMessageText.js +24 -9
  15. package/dist/cjs/components/DatePicker/utils/formatErrorMessageText.js.map +1 -1
  16. package/dist/cjs/components/DatePicker/utils/getStartWeekday.js +21 -0
  17. package/dist/cjs/components/DatePicker/utils/getStartWeekday.js.map +1 -0
  18. package/dist/cjs/components/DatePicker/utils/index.js +21 -19
  19. package/dist/cjs/components/DatePicker/utils/index.js.map +1 -1
  20. package/dist/cjs/components/DatePicker/utils/validateDateFormat.js +23 -9
  21. package/dist/cjs/components/DatePicker/utils/validateDateFormat.js.map +1 -1
  22. package/dist/cjs/components/DatePicker/utils/weekdayAsOneLetter.js +16 -9
  23. package/dist/cjs/components/DatePicker/utils/weekdayAsOneLetter.js.map +1 -1
  24. package/dist/cjs/hooks/index.js +18 -16
  25. package/dist/cjs/hooks/index.js.map +1 -1
  26. package/dist/cjs/hooks/useFocusTrap/index.js +18 -16
  27. package/dist/cjs/hooks/useFocusTrap/index.js.map +1 -1
  28. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.js +24 -15
  29. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  30. package/dist/cjs/index.js +18 -16
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/styles.d.js +3 -0
  33. package/dist/cjs/styles.d.js.map +1 -0
  34. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  35. package/dist/cjs/utils/StoryContainer.js +21 -9
  36. package/dist/cjs/utils/StoryContainer.js.map +1 -1
  37. package/dist/cjs/utils/excludeControls.js +19 -5
  38. package/dist/cjs/utils/excludeControls.js.map +1 -1
  39. package/dist/cjs/utils/index.js +20 -18
  40. package/dist/cjs/utils/index.js.map +1 -1
  41. package/dist/cjs/utils/isTouchDevice.js +11 -4
  42. package/dist/cjs/utils/isTouchDevice.js.map +1 -1
  43. package/dist/esm/components/DatePicker/DatePicker.js +82 -42
  44. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  45. package/dist/esm/components/DatePicker/DatePickerIcon.js +5 -2
  46. package/dist/esm/components/DatePicker/DatePickerIcon.js.map +1 -1
  47. package/dist/esm/components/DatePicker/DatePickerModal.js +47 -13
  48. package/dist/esm/components/DatePicker/DatePickerModal.js.map +1 -1
  49. package/dist/esm/components/DatePicker/constants.js +3 -2
  50. package/dist/esm/components/DatePicker/constants.js.map +1 -1
  51. package/dist/esm/components/DatePicker/index.js +1 -0
  52. package/dist/esm/components/DatePicker/index.js.map +1 -1
  53. package/dist/esm/components/DatePicker/utils/dateObjToString.js +2 -1
  54. package/dist/esm/components/DatePicker/utils/dateObjToString.js.map +1 -1
  55. package/dist/esm/components/DatePicker/utils/formatErrorMessageText.js +2 -1
  56. package/dist/esm/components/DatePicker/utils/formatErrorMessageText.js.map +1 -1
  57. package/dist/esm/components/DatePicker/utils/getStartWeekday.js +13 -0
  58. package/dist/esm/components/DatePicker/utils/getStartWeekday.js.map +1 -0
  59. package/dist/esm/components/DatePicker/utils/index.js +1 -0
  60. package/dist/esm/components/DatePicker/utils/index.js.map +1 -1
  61. package/dist/esm/components/DatePicker/utils/validateDateFormat.js +2 -1
  62. package/dist/esm/components/DatePicker/utils/validateDateFormat.js.map +1 -1
  63. package/dist/esm/components/DatePicker/utils/weekdayAsOneLetter.js +6 -5
  64. package/dist/esm/components/DatePicker/utils/weekdayAsOneLetter.js.map +1 -1
  65. package/dist/esm/hooks/index.js +1 -0
  66. package/dist/esm/hooks/index.js.map +1 -1
  67. package/dist/esm/hooks/useFocusTrap/index.js +1 -0
  68. package/dist/esm/hooks/useFocusTrap/index.js.map +1 -1
  69. package/dist/esm/hooks/useFocusTrap/useFocusTrap.js +12 -10
  70. package/dist/esm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  71. package/dist/esm/index.js +1 -0
  72. package/dist/esm/index.js.map +1 -1
  73. package/dist/esm/styles.d.js +2 -0
  74. package/dist/esm/styles.d.js.map +1 -0
  75. package/dist/esm/utils/StoryContainer.js +5 -1
  76. package/dist/esm/utils/StoryContainer.js.map +1 -1
  77. package/dist/esm/utils/excludeControls.js +9 -1
  78. package/dist/esm/utils/excludeControls.js.map +1 -1
  79. package/dist/esm/utils/index.js +1 -0
  80. package/dist/esm/utils/index.js.map +1 -1
  81. package/dist/esm/utils/isTouchDevice.js +2 -1
  82. package/dist/esm/utils/isTouchDevice.js.map +1 -1
  83. package/package.json +23 -28
  84. package/src/components/DatePicker/DatePicker.tsx +4 -4
  85. package/src/components/DatePicker/DatePickerModal.tsx +4 -2
  86. package/src/components/DatePicker/constants.ts +2 -3
  87. package/src/components/DatePicker/utils/getStartWeekday.test.ts +33 -0
  88. package/src/components/DatePicker/utils/getStartWeekday.ts +19 -0
  89. package/src/components/DatePicker/utils/weekdayAsOneLetter.ts +2 -2
  90. package/dist/cjs/components/DatePicker/DatePicker.d.ts +0 -9
  91. package/dist/cjs/components/DatePicker/DatePicker.stories.d.ts +0 -11
  92. package/dist/cjs/components/DatePicker/DatePicker.stories.js +0 -79
  93. package/dist/cjs/components/DatePicker/DatePicker.stories.js.map +0 -1
  94. package/dist/cjs/components/DatePicker/DatePicker.test.d.ts +0 -1
  95. package/dist/cjs/components/DatePicker/DatePicker.test.js +0 -137
  96. package/dist/cjs/components/DatePicker/DatePicker.test.js.map +0 -1
  97. package/dist/cjs/components/DatePicker/DatePickerIcon.d.ts +0 -1
  98. package/dist/cjs/components/DatePicker/DatePickerModal.d.ts +0 -10
  99. package/dist/cjs/components/DatePicker/DatePickerModal.test.d.ts +0 -1
  100. package/dist/cjs/components/DatePicker/DatePickerModal.test.js +0 -105
  101. package/dist/cjs/components/DatePicker/DatePickerModal.test.js.map +0 -1
  102. package/dist/cjs/components/DatePicker/constants.d.ts +0 -2
  103. package/dist/cjs/components/DatePicker/index.d.ts +0 -1
  104. package/dist/cjs/components/DatePicker/utils/dateObjToString.d.ts +0 -1
  105. package/dist/cjs/components/DatePicker/utils/dateObjToString.test.d.ts +0 -1
  106. package/dist/cjs/components/DatePicker/utils/dateObjToString.test.js +0 -15
  107. package/dist/cjs/components/DatePicker/utils/dateObjToString.test.js.map +0 -1
  108. package/dist/cjs/components/DatePicker/utils/formatErrorMessageText.d.ts +0 -2
  109. package/dist/cjs/components/DatePicker/utils/formatErrorMessageText.test.d.ts +0 -1
  110. package/dist/cjs/components/DatePicker/utils/formatErrorMessageText.test.js +0 -35
  111. package/dist/cjs/components/DatePicker/utils/formatErrorMessageText.test.js.map +0 -1
  112. package/dist/cjs/components/DatePicker/utils/index.d.ts +0 -4
  113. package/dist/cjs/components/DatePicker/utils/validateDateFormat.d.ts +0 -2
  114. package/dist/cjs/components/DatePicker/utils/validateDateFormat.test.d.ts +0 -1
  115. package/dist/cjs/components/DatePicker/utils/validateDateFormat.test.js +0 -26
  116. package/dist/cjs/components/DatePicker/utils/validateDateFormat.test.js.map +0 -1
  117. package/dist/cjs/components/DatePicker/utils/weekdayAsOneLetter.d.ts +0 -2
  118. package/dist/cjs/components/DatePicker/utils/weekdayAsOneLetter.test.d.ts +0 -1
  119. package/dist/cjs/components/DatePicker/utils/weekdayAsOneLetter.test.js +0 -23
  120. package/dist/cjs/components/DatePicker/utils/weekdayAsOneLetter.test.js.map +0 -1
  121. package/dist/cjs/hooks/index.d.ts +0 -1
  122. package/dist/cjs/hooks/useFocusTrap/index.d.ts +0 -1
  123. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.d.ts +0 -5
  124. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.test.d.ts +0 -1
  125. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.test.js +0 -65
  126. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.test.js.map +0 -1
  127. package/dist/cjs/index.d.ts +0 -1
  128. package/dist/cjs/utils/StoryContainer.d.ts +0 -1
  129. package/dist/cjs/utils/excludeControls.d.ts +0 -1
  130. package/dist/cjs/utils/excludeControls.test.d.ts +0 -1
  131. package/dist/cjs/utils/excludeControls.test.js +0 -25
  132. package/dist/cjs/utils/excludeControls.test.js.map +0 -1
  133. package/dist/cjs/utils/index.d.ts +0 -3
  134. package/dist/cjs/utils/isTouchDevice.d.ts +0 -1
  135. package/dist/esm/components/DatePicker/utils/dateObjToString.test.js +0 -13
  136. package/dist/esm/components/DatePicker/utils/dateObjToString.test.js.map +0 -1
  137. package/dist/esm/components/DatePicker/utils/formatErrorMessageText.test.js +0 -33
  138. package/dist/esm/components/DatePicker/utils/formatErrorMessageText.test.js.map +0 -1
  139. package/dist/esm/components/DatePicker/utils/validateDateFormat.test.js +0 -24
  140. package/dist/esm/components/DatePicker/utils/validateDateFormat.test.js.map +0 -1
  141. package/dist/esm/components/DatePicker/utils/weekdayAsOneLetter.test.js +0 -21
  142. package/dist/esm/components/DatePicker/utils/weekdayAsOneLetter.test.js.map +0 -1
  143. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  144. package/dist/esm/utils/excludeControls.test.js +0 -23
  145. package/dist/esm/utils/excludeControls.test.js.map +0 -1
@@ -1,137 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("@testing-library/react");
8
- const user_event_1 = __importDefault(require("@testing-library/user-event"));
9
- const _1 = require(".");
10
- const DISABLED_CLASS_NAME = "--is-disabled";
11
- const TOUCH_DEVICE_CLASS_NAME = "--is-touch-device";
12
- const VALID_CLASS_NAME = "--is-valid";
13
- const INVALID_CLASS_NAME = "--is-invalid";
14
- const mockMatchMedia = (matches) => {
15
- Object.defineProperty(window, "matchMedia", {
16
- writable: true,
17
- configurable: true,
18
- value: jest.fn().mockImplementation(query => ({
19
- matches,
20
- media: query,
21
- onchange: null,
22
- addListener: jest.fn(),
23
- removeListener: jest.fn(),
24
- addEventListener: jest.fn(),
25
- removeEventListener: jest.fn(),
26
- dispatchEvent: jest.fn(),
27
- })),
28
- });
29
- };
30
- const DEVICES = [
31
- ["touch device", true],
32
- ["non-touch device", false],
33
- ];
34
- describe("DatePicker", () => {
35
- describe.each(DEVICES)(`given it is a %s`, (deviceLabel, isTouchDevice) => {
36
- beforeEach(() => {
37
- mockMatchMedia(isTouchDevice);
38
- });
39
- it("should render without errors", () => {
40
- const exampleDate = "2023-11-13";
41
- const labelText = "Start date";
42
- const testId = "date-picker";
43
- (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { defaultValue: exampleDate, label: labelText, "data-testid": testId }));
44
- const inputField = react_1.screen.getByTestId(testId);
45
- const label = react_1.screen.getByLabelText(labelText);
46
- expect(inputField).toHaveValue(exampleDate);
47
- expect(label).toBeInTheDocument();
48
- });
49
- describe("uses correct class names", () => {
50
- it("renders with disabled class", () => {
51
- const exampleDate = "2023-11-13";
52
- const labelText = "Start date";
53
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { defaultValue: exampleDate, label: labelText, isDisabled: true }));
54
- expect(container.firstChild).toHaveClass(DISABLED_CLASS_NAME);
55
- });
56
- it(`renders with ${deviceLabel} class`, () => {
57
- const exampleDate = "2023-11-13";
58
- const labelText = "Start date";
59
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { defaultValue: exampleDate, label: labelText }));
60
- if (isTouchDevice) {
61
- expect(container.firstChild).toHaveClass(TOUCH_DEVICE_CLASS_NAME);
62
- }
63
- else {
64
- expect(container.firstChild).not.toHaveClass(TOUCH_DEVICE_CLASS_NAME);
65
- }
66
- });
67
- describe("when valid", () => {
68
- it("renders with validation class", () => {
69
- const exampleDate = "2023-11-13";
70
- const labelText = "Start date";
71
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { defaultValue: exampleDate, label: labelText, validationState: "valid" }));
72
- expect(container.firstChild).toHaveClass(VALID_CLASS_NAME);
73
- });
74
- });
75
- describe("when invalid", () => {
76
- it("renders with validation class", () => {
77
- const exampleDate = "2023-11-13";
78
- const labelText = "Start date";
79
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { defaultValue: exampleDate, label: labelText, validationState: "invalid" }));
80
- expect(container.firstChild).toHaveClass(INVALID_CLASS_NAME);
81
- });
82
- });
83
- });
84
- describe("when value changes", () => {
85
- it("triggers onChange", async () => {
86
- const labelText = "Start date";
87
- const testId = "date-picker";
88
- const onChange = jest.fn();
89
- (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { label: labelText, "data-testid": testId, onChange: onChange }));
90
- const inputField = react_1.screen.getByTestId(testId);
91
- const newDate = "2015-06-01";
92
- react_1.fireEvent.change(inputField, { target: { value: newDate } });
93
- expect(inputField).toHaveValue(newDate);
94
- // Tab outside, so that date picker triggers onBlur event
95
- await user_event_1.default.tab();
96
- await user_event_1.default.tab();
97
- expect(onChange).toHaveBeenCalledWith(newDate);
98
- });
99
- });
100
- it("displays custom error message", () => {
101
- const testId = "date-picker";
102
- const errorMessage = "Input error";
103
- (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { label: "Start date", "data-testid": testId, errorMessage: errorMessage }));
104
- const error = react_1.screen.getByText(errorMessage);
105
- expect(error).toBeInTheDocument();
106
- });
107
- describe("given a min prop is provided", () => {
108
- describe("given a default invalid date falls into rangeUnderflow", () => {
109
- it("should display an error", () => {
110
- const exampleDate = "2023-11-13";
111
- const minimumDate = "2024-01-01";
112
- const labelText = "Start date";
113
- const testId = "date-picker";
114
- const errorMessage = `The selected date ${exampleDate} is before earliest possible ${minimumDate} date`;
115
- (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { defaultValue: exampleDate, min: minimumDate, label: labelText, "data-testid": testId }));
116
- const error = react_1.screen.getByText(errorMessage);
117
- expect(error).toBeInTheDocument();
118
- });
119
- });
120
- });
121
- describe("given a max prop is provided", () => {
122
- describe("given a default invalid date falls into rangeOverflow", () => {
123
- it("should display an error", () => {
124
- const exampleDate = "2025-11-13";
125
- const maximumDate = "2024-01-01";
126
- const labelText = "Start date";
127
- const testId = "date-picker";
128
- const errorMessage = `The selected date ${exampleDate} is after latest possible ${maximumDate} date`;
129
- (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.DatePicker, { defaultValue: exampleDate, max: maximumDate, label: labelText, "data-testid": testId }));
130
- const error = react_1.screen.getByText(errorMessage);
131
- expect(error).toBeInTheDocument();
132
- });
133
- });
134
- });
135
- });
136
- });
137
- //# sourceMappingURL=DatePicker.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatePicker.test.js","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePicker.test.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const DatePickerIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +0,0 @@
1
- export type DatePickerModalProps = {
2
- date?: string;
3
- isOpen: boolean;
4
- top: number;
5
- onSelected: (date?: string | undefined) => void;
6
- min?: string;
7
- max?: string;
8
- };
9
- declare const DatePickerModal: ({ date, isOpen, onSelected, top, min, max, }: DatePickerModalProps) => import("react/jsx-runtime").JSX.Element;
10
- export default DatePickerModal;
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("@testing-library/react");
8
- const user_event_1 = require("@testing-library/user-event");
9
- const react_2 = require("react");
10
- const DatePickerModal_1 = __importDefault(require("./DatePickerModal"));
11
- const getYear = (date) => date.toLocaleString("en-GB", {
12
- year: "numeric",
13
- timeZone: "UTC",
14
- });
15
- const getMonth = (date) => date.toLocaleString("en-GB", {
16
- month: "long",
17
- timeZone: "UTC",
18
- });
19
- const getDay = (date) => date.toLocaleString("en-GB", {
20
- day: "numeric",
21
- timeZone: "UTC",
22
- });
23
- describe("DatePickerModal", () => {
24
- it("should render correct month and today without errors", () => {
25
- const testDate = "";
26
- const date = new Date();
27
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DatePickerModal_1.default, { isOpen: true, date: testDate, top: 30, onSelected: () => { } }));
28
- const modal = react_1.screen.getByTestId("modal-container");
29
- const label = react_1.screen.getByText(`${getMonth(date)} ${getYear(date)}`);
30
- const today = container.getElementsByClassName("rdp-day_today");
31
- const day = today[0];
32
- expect(modal).toBeInTheDocument();
33
- expect(label).toBeInTheDocument();
34
- expect(day).toHaveTextContent(getDay(date));
35
- });
36
- it("sets calendar to this month when no date is passed", () => {
37
- const date = new Date();
38
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DatePickerModal_1.default, { isOpen: true, top: 30, onSelected: () => { } }));
39
- const modal = react_1.screen.getByTestId("modal-container");
40
- const label = react_1.screen.getByText(`${getMonth(date)} ${getYear(date)}`);
41
- const today = container.getElementsByClassName("rdp-day_today");
42
- const day = today[0];
43
- expect(modal).toBeInTheDocument();
44
- expect(label).toBeInTheDocument();
45
- expect(day).toHaveTextContent(getDay(date));
46
- });
47
- it("uses 'top' prop to set position on screen", () => {
48
- const top = 100;
49
- (0, react_1.render)((0, jsx_runtime_1.jsx)(DatePickerModal_1.default, { isOpen: true, top: top, onSelected: () => { } }));
50
- const modal = react_1.screen.getByTestId("modal-container");
51
- expect(modal).toHaveStyle(`top: ${top}px;`);
52
- });
53
- it("calls onSelected when a day is picked", async () => {
54
- const onSelected = jest.fn();
55
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DatePickerModal_1.default, { isOpen: true, top: 30, onSelected: onSelected }));
56
- const today = container.getElementsByClassName("rdp-day_today");
57
- const dateToday = new Date().toISOString().split("T")[0];
58
- await user_event_1.userEvent.click(today[0]);
59
- expect(onSelected).toHaveBeenCalled();
60
- expect(onSelected).toHaveBeenCalledWith(dateToday);
61
- });
62
- it("does not call onSelected when the already-selected day is picked", async () => {
63
- const onSelected = jest.fn();
64
- const date = "2023-12-31";
65
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DatePickerModal_1.default, { isOpen: true, top: 30, date: date, onSelected: onSelected }));
66
- const day = container.getElementsByClassName("rdp-day_selected");
67
- await user_event_1.userEvent.click(day[0]);
68
- expect(day[0]).toHaveTextContent("31");
69
- expect(onSelected).not.toHaveBeenCalled();
70
- });
71
- it("dismisses modal when Escape is pressed", async () => {
72
- const App = () => {
73
- const [isOpen, setIsOpen] = (0, react_2.useState)(true);
74
- if (!isOpen) {
75
- return (0, jsx_runtime_1.jsx)("div", { children: "No datepicker" });
76
- }
77
- return ((0, jsx_runtime_1.jsx)(DatePickerModal_1.default, { isOpen: isOpen, top: 30, onSelected: () => setIsOpen(false) }));
78
- };
79
- (0, react_1.render)((0, jsx_runtime_1.jsx)(App, {}));
80
- const modal = react_1.screen.getByTestId("modal-container");
81
- expect(document.body.getAttribute("aria-hidden")).toEqual("true");
82
- await user_event_1.userEvent.keyboard("{escape}");
83
- expect(document.body).not.toHaveAttribute("aria-hidden");
84
- expect(modal).not.toBeInTheDocument();
85
- expect(react_1.screen.getByText("No datepicker")).toBeInTheDocument();
86
- });
87
- it("dismisses modal when mouse is clicked outside", async () => {
88
- const App = () => {
89
- const [isOpen, setIsOpen] = (0, react_2.useState)(true);
90
- if (!isOpen) {
91
- return (0, jsx_runtime_1.jsx)("div", { children: "No datepicker" });
92
- }
93
- return ((0, jsx_runtime_1.jsx)(DatePickerModal_1.default, { isOpen: isOpen, top: 30, onSelected: () => setIsOpen(false) }));
94
- };
95
- (0, react_1.render)((0, jsx_runtime_1.jsx)(App, {}));
96
- const modal = react_1.screen.getByTestId("modal-container");
97
- expect(document.body.getAttribute("aria-hidden")).toEqual("true");
98
- await user_event_1.userEvent.click(document.body);
99
- expect(document.body).not.toHaveAttribute("aria-hidden");
100
- expect(modal).not.toBeInTheDocument();
101
- expect(react_1.screen.getByText("No datepicker")).toBeInTheDocument();
102
- });
103
- it.todo("traps focus when opened"); // Move to e2e test with Playwright
104
- });
105
- //# sourceMappingURL=DatePickerModal.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatePickerModal.test.js","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePickerModal.test.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const MONDAY_AS_NUMBER = 1;
2
- export declare const DEFAULT_LOCALE: string;
@@ -1 +0,0 @@
1
- export * from "./DatePicker";
@@ -1 +0,0 @@
1
- export declare const dateObjToString: (date: Date) => string;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const dateObjToString_1 = require("./dateObjToString");
4
- describe("dateObjToString", () => {
5
- describe("given a Date object", () => {
6
- it("returns a formatted string as yyyy-mm-dd", () => {
7
- const exampleDate = "2023-11-13";
8
- const input = new Date(exampleDate);
9
- const actual = (0, dateObjToString_1.dateObjToString)(input);
10
- const expected = exampleDate;
11
- expect(actual).toEqual(expected);
12
- });
13
- });
14
- });
15
- //# sourceMappingURL=dateObjToString.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dateObjToString.test.js","sourceRoot":"","sources":["../../../../../src/components/DatePicker/utils/dateObjToString.test.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,WAAW,GAAG,YAAY,CAAC;YAEjC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;YAEpC,MAAM,MAAM,GAAG,IAAA,iCAAe,EAAC,KAAK,CAAC,CAAC;YAEtC,MAAM,QAAQ,GAAG,WAAW,CAAC;YAE7B,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const DEFAULT_INVALID_DATE_MESSAGE = "Please enter a valid date";
2
- export declare const formatErrorMessageText: (actual: string, min?: string, max?: string) => string;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const formatErrorMessageText_1 = require("./formatErrorMessageText");
4
- describe("formatErrorMessageText", () => {
5
- describe("given min date is set", () => {
6
- describe("given default value that is before the min date", () => {
7
- it("returns formatted error message", () => {
8
- const actualDate = "2022-01-01";
9
- const minDate = "2023-01-01";
10
- const errorMessage = (0, formatErrorMessageText_1.formatErrorMessageText)(actualDate, minDate);
11
- const expectedErrorMessage = `The selected date ${actualDate} is before earliest possible ${minDate} date`;
12
- expect(errorMessage).toEqual(expectedErrorMessage);
13
- });
14
- });
15
- });
16
- describe("given max date is set", () => {
17
- describe("given default value that is after the max date", () => {
18
- it("returns formatted error message", () => {
19
- const actualDate = "2023-01-01";
20
- const maxDate = "2022-01-01";
21
- const errorMessage = (0, formatErrorMessageText_1.formatErrorMessageText)(actualDate, undefined, maxDate);
22
- const expectedErrorMessage = `The selected date ${actualDate} is after latest possible ${maxDate} date`;
23
- expect(errorMessage).toEqual(expectedErrorMessage);
24
- });
25
- });
26
- });
27
- describe("given no min or max date are set", () => {
28
- it("returns default error message", () => {
29
- const actualDate = "2023-01-01";
30
- const errorMessage = (0, formatErrorMessageText_1.formatErrorMessageText)(actualDate);
31
- expect(errorMessage).toEqual(formatErrorMessageText_1.DEFAULT_INVALID_DATE_MESSAGE);
32
- });
33
- });
34
- });
35
- //# sourceMappingURL=formatErrorMessageText.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatErrorMessageText.test.js","sourceRoot":"","sources":["../../../../../src/components/DatePicker/utils/formatErrorMessageText.test.ts"],"names":[],"mappings":";;AAAA,qEAGkC;AAElC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;YAC/D,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;gBACzC,MAAM,UAAU,GAAG,YAAY,CAAC;gBAChC,MAAM,OAAO,GAAG,YAAY,CAAC;gBAE7B,MAAM,YAAY,GAAG,IAAA,+CAAsB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM,oBAAoB,GAAG,qBAAqB,UAAU,gCAAgC,OAAO,OAAO,CAAC;gBAE3G,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC9D,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;gBACzC,MAAM,UAAU,GAAG,YAAY,CAAC;gBAChC,MAAM,OAAO,GAAG,YAAY,CAAC;gBAE7B,MAAM,YAAY,GAAG,IAAA,+CAAsB,EACzC,UAAU,EACV,SAAS,EACT,OAAO,CACR,CAAC;gBACF,MAAM,oBAAoB,GAAG,qBAAqB,UAAU,6BAA6B,OAAO,OAAO,CAAC;gBAExG,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAChD,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,UAAU,GAAG,YAAY,CAAC;YAEhC,MAAM,YAAY,GAAG,IAAA,+CAAsB,EAAC,UAAU,CAAC,CAAC;YAExD,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,qDAA4B,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from "./dateObjToString";
2
- export * from "./formatErrorMessageText";
3
- export * from "./validateDateFormat";
4
- export * from "./weekdayAsOneLetter";
@@ -1,2 +0,0 @@
1
- export declare const DATE_FORMAT = "yyyy-MM-dd";
2
- export declare const validateDateFormat: (date: string) => string;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const validateDateFormat_1 = require("./validateDateFormat");
4
- describe("validateDateFormat", () => {
5
- describe("given an empty string", () => {
6
- it("returns an empty string", () => {
7
- const defaultValue = "";
8
- const actual = (0, validateDateFormat_1.validateDateFormat)(defaultValue);
9
- expect(actual).toEqual(defaultValue);
10
- });
11
- });
12
- describe("given a valid date format", () => {
13
- it("returns provided date", () => {
14
- const exampleDate = "2023-01-01";
15
- const actual = (0, validateDateFormat_1.validateDateFormat)(exampleDate);
16
- expect(actual).toEqual(exampleDate);
17
- });
18
- });
19
- describe("given an invalid date format", () => {
20
- it("throws an error", () => {
21
- const exampleDate = "1st January 2023";
22
- expect(() => (0, validateDateFormat_1.validateDateFormat)(exampleDate)).toThrow();
23
- });
24
- });
25
- });
26
- //# sourceMappingURL=validateDateFormat.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateDateFormat.test.js","sourceRoot":"","sources":["../../../../../src/components/DatePicker/utils/validateDateFormat.test.ts"],"names":[],"mappings":";;AAAA,6DAA0D;AAE1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,YAAY,GAAG,EAAE,CAAC;YAExB,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,YAAY,CAAC,CAAC;YAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC/B,MAAM,WAAW,GAAG,YAAY,CAAC;YAEjC,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,WAAW,CAAC,CAAC;YAE/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzB,MAAM,WAAW,GAAG,kBAAkB,CAAC;YAEvC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,uCAAkB,EAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { DateFormatter } from "react-day-picker";
2
- export declare const weekdayAsOneLetter: DateFormatter;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const weekdayAsOneLetter_1 = require("./weekdayAsOneLetter");
4
- describe("weekdayAsOneLetter", () => {
5
- describe("given a Date object and a locale", () => {
6
- it("returns weekday as a single letter", () => {
7
- const randomMonday = new Date("2023-11-13");
8
- const locale = { locale: { code: "en-GB" } };
9
- const actual = (0, weekdayAsOneLetter_1.weekdayAsOneLetter)(randomMonday, locale);
10
- const expected = "M";
11
- expect(actual).toEqual(expected);
12
- });
13
- });
14
- describe("given a Date object and no locale", () => {
15
- it("returns weekday as a single letter, using en-GB as default locale", () => {
16
- const randomMonday = new Date("2023-11-13");
17
- const actual = (0, weekdayAsOneLetter_1.weekdayAsOneLetter)(randomMonday);
18
- const expected = "M";
19
- expect(actual).toEqual(expected);
20
- });
21
- });
22
- });
23
- //# sourceMappingURL=weekdayAsOneLetter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weekdayAsOneLetter.test.js","sourceRoot":"","sources":["../../../../../src/components/DatePicker/utils/weekdayAsOneLetter.test.ts"],"names":[],"mappings":";;AAAA,6DAA0D;AAE1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAChD,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;YAE7C,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAExD,MAAM,QAAQ,GAAG,GAAG,CAAC;YAErB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACjD,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;YAE5C,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,YAAY,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,GAAG,CAAC;YAErB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export * from "./useFocusTrap";
@@ -1 +0,0 @@
1
- export * from "./useFocusTrap";
@@ -1,5 +0,0 @@
1
- import { ReactNode } from "react";
2
- export type FocusTrapProps = {
3
- children: ReactNode;
4
- };
5
- export default function FocusTrap({ children }: FocusTrapProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export {};
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("@testing-library/react");
8
- const useFocusTrap_1 = __importDefault(require("./useFocusTrap"));
9
- // const InnerComponent = () => (
10
- // <div className="inner">
11
- // <button type="button" className=".rdp-nav_button" data-testid="back-btn">
12
- // Back
13
- // </button>
14
- // <button type="button" className=".rdp-nav_button" data-testid="next-btn">
15
- // Next
16
- // </button>
17
- // <button type="button" tabIndex={0} data-testid="day-1">
18
- // 1
19
- // </button>
20
- // <button type="button" tabIndex={-1} data-testid="day-2">
21
- // 2
22
- // </button>
23
- // <button type="button" tabIndex={-1} data-testid="day-3">
24
- // 3
25
- // </button>
26
- // </div>
27
- // );
28
- describe("FocusTrap", () => {
29
- it("should render content without errors", () => {
30
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(useFocusTrap_1.default, { children: (0, jsx_runtime_1.jsx)("div", { children: "Nothing focusable" }) }));
31
- const trap = container.getElementsByClassName("trap");
32
- const text = react_1.screen.getByText("Nothing focusable");
33
- expect(trap.length).toEqual(1);
34
- expect(text).toBeInTheDocument();
35
- });
36
- it.todo("traps focus to items with specific class name or tabindex=0");
37
- // it("traps focus to items with specific class name or tabindex=0", async () => {
38
- // render(
39
- // <div>
40
- // <h1>Page</h1>
41
- // <input data-testid="page-input" type="text" />
42
- // <FocusTrap>
43
- // <InnerComponent />
44
- // </FocusTrap>
45
- // </div>,
46
- // );
47
- // const pageInput = screen.getByTestId("page-input");
48
- // const backBtn = screen.getByTestId("back-btn");
49
- // const nextBtn = screen.getByTestId("next-btn");
50
- // const today = screen.getByTestId("day-1");
51
- // const tomorrow = screen.getByTestId("day-2");
52
- // // Enter the focus trap
53
- // backBtn.focus();
54
- // expect(backBtn).toHaveFocus();
55
- // await userEvent.tab();
56
- // expect(nextBtn).toHaveFocus();
57
- // await userEvent.tab();
58
- // expect(today).toHaveFocus();
59
- // await userEvent.tab();
60
- // expect(pageInput).not.toHaveFocus();
61
- // expect(tomorrow).not.toHaveFocus();
62
- // expect(backBtn).toHaveFocus(); // Fails because jest-dom thinks body is tabbable
63
- // });
64
- });
65
- //# sourceMappingURL=useFocusTrap.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocusTrap.test.js","sourceRoot":"","sources":["../../../../src/hooks/useFocusTrap/useFocusTrap.test.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAwD;AACxD,kEAAuC;AAEvC,iCAAiC;AACjC,4BAA4B;AAC5B,gFAAgF;AAChF,aAAa;AACb,gBAAgB;AAChB,gFAAgF;AAChF,aAAa;AACb,gBAAgB;AAChB,8DAA8D;AAC9D,UAAU;AACV,gBAAgB;AAChB,+DAA+D;AAC/D,UAAU;AACV,gBAAgB;AAChB,+DAA+D;AAC/D,UAAU;AACV,gBAAgB;AAChB,WAAW;AACX,KAAK;AAEL,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAC1B,uBAAC,sBAAS,cACR,gEAA4B,GAClB,CACb,CAAC;QAEF,MAAM,IAAI,GAAG,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,cAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAEnD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IACvE,kFAAkF;IAClF,YAAY;IACZ,YAAY;IACZ,sBAAsB;IACtB,uDAAuD;IACvD,oBAAoB;IACpB,6BAA6B;IAC7B,qBAAqB;IACrB,cAAc;IACd,OAAO;IAEP,wDAAwD;IACxD,oDAAoD;IACpD,oDAAoD;IACpD,+CAA+C;IAC/C,kDAAkD;IAElD,4BAA4B;IAC5B,qBAAqB;IACrB,mCAAmC;IAEnC,2BAA2B;IAC3B,mCAAmC;IAEnC,2BAA2B;IAC3B,iCAAiC;IAEjC,2BAA2B;IAC3B,yCAAyC;IACzC,wCAAwC;IACxC,qFAAqF;IACrF,MAAM;AACR,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export * from "./components/DatePicker";
@@ -1 +0,0 @@
1
- export declare const StoryContainer: (props: Record<string, unknown>) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export declare const excludeControls: (...args: string[]) => {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const excludeControls_1 = require("./excludeControls");
4
- describe("excludeControls", () => {
5
- describe("given a list of props", () => {
6
- it("returns an object where each prop has an entry with disabled params", () => {
7
- const props = ["className", "elementType"];
8
- const actual = (0, excludeControls_1.excludeControls)(...props);
9
- const expected = {
10
- elementType: {
11
- table: {
12
- disable: true,
13
- },
14
- },
15
- className: {
16
- table: {
17
- disable: true,
18
- },
19
- },
20
- };
21
- expect(actual).toEqual(expected);
22
- });
23
- });
24
- });
25
- //# sourceMappingURL=excludeControls.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"excludeControls.test.js","sourceRoot":"","sources":["../../../src/utils/excludeControls.test.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,IAAA,iCAAe,EAAC,GAAG,KAAK,CAAC,CAAC;YAEzC,MAAM,QAAQ,GAAG;gBACf,WAAW,EAAE;oBACX,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI;qBACd;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./excludeControls";
2
- export * from "./isTouchDevice";
3
- export * from "./StoryContainer";
@@ -1 +0,0 @@
1
- export declare const isTouchDevice: () => boolean | undefined;
@@ -1,13 +0,0 @@
1
- import { dateObjToString } from "./dateObjToString";
2
- describe("dateObjToString", () => {
3
- describe("given a Date object", () => {
4
- it("returns a formatted string as yyyy-mm-dd", () => {
5
- const exampleDate = "2023-11-13";
6
- const input = new Date(exampleDate);
7
- const actual = dateObjToString(input);
8
- const expected = exampleDate;
9
- expect(actual).toEqual(expected);
10
- });
11
- });
12
- });
13
- //# sourceMappingURL=dateObjToString.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dateObjToString.test.js","sourceRoot":"","sources":["../../../../../src/components/DatePicker/utils/dateObjToString.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,WAAW,GAAG,YAAY,CAAC;YAEjC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;YAEpC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YAEtC,MAAM,QAAQ,GAAG,WAAW,CAAC;YAE7B,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}