From 30e4f3c3120799807402ba3067de42f5dd1b86b1 Mon Sep 17 00:00:00 2001 From: KumJungMin <37934668+KumJungMin@users.noreply.github.com> Date: Mon, 27 May 2024 13:47:04 +0900 Subject: [PATCH 1/7] fix: prevent year, month change error in showMonthAndYearPickers mode --- packages/components/calendar/src/use-calendar-picker.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/components/calendar/src/use-calendar-picker.ts b/packages/components/calendar/src/use-calendar-picker.ts index ff9dce3109..fca2c7bae1 100644 --- a/packages/components/calendar/src/use-calendar-picker.ts +++ b/packages/components/calendar/src/use-calendar-picker.ts @@ -115,6 +115,8 @@ export function useCalendarPicker(props: CalendarPickerProps) { // scroll to the selected month/year when the component is mounted/opened/closed useEffect(() => { + if (!isHeaderExpanded) return; + scrollTo(date.month, "months", false); scrollTo(date.year, "years", false); }, [isHeaderExpanded]); From c13401b2aa778a303517a26396f0b43b843f7cfe Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Mon, 27 May 2024 20:12:32 +0900 Subject: [PATCH 2/7] docs: add changeset --- .changeset/tidy-squids-knock.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/tidy-squids-knock.md diff --git a/.changeset/tidy-squids-knock.md b/.changeset/tidy-squids-knock.md new file mode 100644 index 0000000000..0a1e1db884 --- /dev/null +++ b/.changeset/tidy-squids-knock.md @@ -0,0 +1,5 @@ +--- +"@nextui-org/calendar": patch +--- + +fix hours, month clear issue in showMonthAndYearPickers mode. From 4ef3a89e910b1ad96e992cfd373c6c5a0f1f4b88 Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Mon, 27 May 2024 20:53:32 +0900 Subject: [PATCH 3/7] docs: edit changeset --- .changeset/tidy-squids-knock.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/tidy-squids-knock.md b/.changeset/tidy-squids-knock.md index 0a1e1db884..359963b3c9 100644 --- a/.changeset/tidy-squids-knock.md +++ b/.changeset/tidy-squids-knock.md @@ -1,5 +1,5 @@ --- -"@nextui-org/calendar": patch +"@nextui-org/date-picker": patch --- fix hours, month clear issue in showMonthAndYearPickers mode. From ac31e00c5ba0f8271f7856b7226bd580d7902a87 Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Mon, 27 May 2024 22:07:12 +0900 Subject: [PATCH 4/7] test: add test code about date clear issue in date picker --- .../__tests__/date-picker.test.tsx | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/components/date-picker/__tests__/date-picker.test.tsx b/packages/components/date-picker/__tests__/date-picker.test.tsx index d4d7c20971..1dde218729 100644 --- a/packages/components/date-picker/__tests__/date-picker.test.tsx +++ b/packages/components/date-picker/__tests__/date-picker.test.tsx @@ -457,5 +457,29 @@ describe("DatePicker", () => { expect(onChange).toHaveBeenCalledWith(new CalendarDate(2019, 2, 4)); expect(getTextValue(combobox)).toBe("2/4/2019"); // uncontrolled }); + + it("should keep the selected date when the picker is toggled, in showMonthAndYearPickers mode", function () { + const {getByRole, getAllByRole} = render( + , + ); + + let combobox = getAllByRole("group")[0]; + + expect(getTextValue(combobox)).toBe("5/1/2024"); + + let button = getByRole("button"); + + triggerPress(button); + + let dialog = getByRole("dialog"); + + expect(dialog).toBeVisible(); + + triggerPress(button); + + expect(dialog).not.toBeVisible(); + + expect(getTextValue(combobox)).toBe("5/1/2024"); + }); }); }); From 77ce798a7f54cd2b04eecaad0d05d764a750a971 Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Mon, 27 May 2024 22:11:42 +0900 Subject: [PATCH 5/7] test: update test code --- .../components/date-picker/__tests__/date-picker.test.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/components/date-picker/__tests__/date-picker.test.tsx b/packages/components/date-picker/__tests__/date-picker.test.tsx index 1dde218729..87aed04e01 100644 --- a/packages/components/date-picker/__tests__/date-picker.test.tsx +++ b/packages/components/date-picker/__tests__/date-picker.test.tsx @@ -458,7 +458,7 @@ describe("DatePicker", () => { expect(getTextValue(combobox)).toBe("2/4/2019"); // uncontrolled }); - it("should keep the selected date when the picker is toggled, in showMonthAndYearPickers mode", function () { + it("should keep the selected date when the picker is opened, in showMonthAndYearPickers mode", function () { const {getByRole, getAllByRole} = render( , ); @@ -475,10 +475,6 @@ describe("DatePicker", () => { expect(dialog).toBeVisible(); - triggerPress(button); - - expect(dialog).not.toBeVisible(); - expect(getTextValue(combobox)).toBe("5/1/2024"); }); }); From 56207f4ffcc7132b0c46f5f2e6450c08c25278c9 Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Mon, 27 May 2024 22:19:59 +0900 Subject: [PATCH 6/7] test: check application aria is same with current date --- .../components/date-picker/__tests__/date-picker.test.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/components/date-picker/__tests__/date-picker.test.tsx b/packages/components/date-picker/__tests__/date-picker.test.tsx index 87aed04e01..56ab4b459f 100644 --- a/packages/components/date-picker/__tests__/date-picker.test.tsx +++ b/packages/components/date-picker/__tests__/date-picker.test.tsx @@ -475,7 +475,9 @@ describe("DatePicker", () => { expect(dialog).toBeVisible(); - expect(getTextValue(combobox)).toBe("5/1/2024"); + const content = getByRole("application"); + + expect(content).toHaveAttribute("aria-label", "May 2024"); }); }); }); From 339a7b9e085aee8f7f01e6416dc0bf5e4695fff8 Mon Sep 17 00:00:00 2001 From: WK Wong Date: Mon, 27 May 2024 21:45:49 +0800 Subject: [PATCH 7/7] chore(changeset): revise package and add issue number --- .changeset/tidy-squids-knock.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.changeset/tidy-squids-knock.md b/.changeset/tidy-squids-knock.md index 359963b3c9..1b01645425 100644 --- a/.changeset/tidy-squids-knock.md +++ b/.changeset/tidy-squids-knock.md @@ -1,5 +1,6 @@ --- +"@nextui-org/calendar": patch "@nextui-org/date-picker": patch --- -fix hours, month clear issue in showMonthAndYearPickers mode. +fix hours, month clear issue in `showMonthAndYearPickers` mode (#3072).