From c6e45a2a2c04fafd3e2047caa2c488333c3f92db Mon Sep 17 00:00:00 2001 From: Dennis Pitcock Date: Fri, 6 Dec 2024 14:20:40 +0100 Subject: [PATCH 01/46] feat: Month granularity in date-range-picker --- .../absolute-format.localization.page.tsx | 11 +- .../absolute-format.permutations.page.tsx | 9 +- .../calendar-permutations.page.tsx | 2 + pages/date-range-picker/common.ts | 16 +- .../date-range-picker/custom-control.page.tsx | 7 +- pages/date-range-picker/localised.page.tsx | 13 + .../date-range-picker/range-calendar.page.tsx | 6 +- pages/date-range-picker/simple.page.tsx | 6 +- .../date-range-picker/small-viewport.page.tsx | 6 +- .../with-event-handlers.page.tsx | 6 +- pages/date-range-picker/with-value.page.tsx | 9 +- .../__snapshots__/documenter.test.ts.snap | 42 +- .../test-utils-selectors.test.tsx.snap | 9 + .../__integ__/date-range-picker-tz.test.ts | 61 +- .../__integ__/date-range-picker.test.ts | 169 +- .../__integ__/events.test.ts | 125 +- .../page-objects/date-range-picker-page.ts | 6 +- .../date-range-picker-absolute.test.tsx | 1441 +++++++++++------ .../date-range-picker-relative.test.tsx | 478 +++--- .../__tests__/date-range-picker.test.tsx | 687 ++++---- .../__tests__/i18n-strings.ts | 5 + src/date-range-picker/__tests__/utils.test.ts | 230 ++- ...alendar.test.tsx => calendar-day.test.tsx} | 34 +- .../__tests__/calendar-month.test.tsx | 656 ++++++++ .../calendar/__tests__/intl.test.ts | 405 +++++ .../calendar/__tests__/utils.test.ts | 188 +++ src/date-range-picker/calendar/grids/grid.tsx | 321 ++++ .../calendar/grids/index.tsx | 141 +- .../calendar/grids/interfaces.ts | 51 + src/date-range-picker/calendar/grids/intl.ts | 83 + .../calendar/grids/styles.scss | 56 +- .../calendar/header/header-button.tsx | 16 +- .../calendar/header/index.tsx | 60 +- src/date-range-picker/calendar/index.tsx | 134 +- .../calendar/range-inputs.tsx | 45 +- src/date-range-picker/calendar/utils.ts | 34 +- src/date-range-picker/dropdown.tsx | 16 +- src/date-range-picker/index.tsx | 30 +- src/date-range-picker/interfaces.ts | 45 +- .../relative-range/index.tsx | 15 +- src/date-range-picker/styles.scss | 8 +- .../test-classes/styles.scss | 41 +- src/date-range-picker/utils.tsx | 131 +- src/i18n/messages-types.ts | 8 +- src/i18n/messages/all.ar.json | 8 +- src/i18n/messages/all.de.json | 8 +- src/i18n/messages/all.en-GB.json | 8 +- src/i18n/messages/all.en.json | 8 +- src/i18n/messages/all.es.json | 8 +- src/i18n/messages/all.fr.json | 8 +- src/i18n/messages/all.id.json | 8 +- src/i18n/messages/all.it.json | 8 +- src/i18n/messages/all.ja.json | 8 +- src/i18n/messages/all.ko.json | 8 +- src/i18n/messages/all.pt-BR.json | 8 +- src/i18n/messages/all.th.json | 3 + src/i18n/messages/all.tr.json | 8 +- src/i18n/messages/all.zh-CN.json | 8 +- src/i18n/messages/all.zh-TW.json | 8 +- .../date-time/__tests__/is-iso-only.test.ts | 1 - src/test-utils/dom/date-range-picker/index.ts | 36 +- 61 files changed, 4421 insertions(+), 1593 deletions(-) rename src/date-range-picker/calendar/__tests__/{calendar.test.tsx => calendar-day.test.tsx} (95%) create mode 100644 src/date-range-picker/calendar/__tests__/calendar-month.test.tsx create mode 100644 src/date-range-picker/calendar/__tests__/intl.test.ts create mode 100644 src/date-range-picker/calendar/__tests__/utils.test.ts create mode 100644 src/date-range-picker/calendar/grids/grid.tsx create mode 100644 src/date-range-picker/calendar/grids/interfaces.ts create mode 100644 src/date-range-picker/calendar/grids/intl.ts diff --git a/pages/date-range-picker/absolute-format.localization.page.tsx b/pages/date-range-picker/absolute-format.localization.page.tsx index 7d013aca3a..7c3ced855c 100644 --- a/pages/date-range-picker/absolute-format.localization.page.tsx +++ b/pages/date-range-picker/absolute-format.localization.page.tsx @@ -47,7 +47,7 @@ const initialRange = { export default function DateRangePickerScenario() { const { urlParams, setUrlParams } = useContext(AppContext as DateRangePickerDemoContext); const dateOnly = urlParams.dateOnly ?? dateRangePickerDemoDefaults.dateOnly; - const monthOnly = false; + const monthOnly = urlParams.monthOnly ?? dateRangePickerDemoDefaults.monthOnly; const disabledDates = (urlParams.disabledDates as DisabledDate) ?? (dateRangePickerDemoDefaults.disabledDates as DisabledDate); const withDisabledReason = urlParams.withDisabledReason ?? dateRangePickerDemoDefaults.withDisabledReason; @@ -117,6 +117,14 @@ export default function DateRangePickerScenario() { />{' '} Date only +