From 3d0493f6e3257c58c893a1f168a5a5e7224bc25c Mon Sep 17 00:00:00 2001 From: Sergey Kazarinov Date: Sun, 4 May 2025 13:51:56 +0500 Subject: [PATCH 01/18] docs: add typescript examples --- docs-site/package.json | 9 +- .../Example/{index.jsx => index.tsx} | 52 +- docs-site/src/components/Examples/config.tsx | 772 ++++++++++++++++++ .../src/components/Examples/examples.scss | 33 +- docs-site/src/components/Examples/hero.scss | 1 + docs-site/src/components/Examples/index.jsx | 609 -------------- docs-site/src/components/Examples/index.tsx | 55 ++ docs-site/src/components/Examples/reset.scss | 8 +- docs-site/src/components/Examples/style.scss | 1 + .../examples/{ => js}/calendarContainer.js | 2 + .../src/examples/{ => js}/calendarIcon.js | 1 + .../examples/{ => js}/calendarIconExternal.js | 1 + .../examples/{ => js}/calendarIconSvgIcon.js | 1 + .../src/examples/{ => js}/calendarStartDay.js | 1 + docs-site/src/examples/{ => js}/children.js | 1 + docs-site/src/examples/{ => js}/clearInput.js | 1 + .../src/examples/{ => js}/closeOnScroll.js | 3 +- .../{ => js}/closeOnScrollCallback.js | 1 + .../examples/{ => js}/configureFloatingUI.js | 1 + .../{ => js}/customCalendarClassName.js | 1 + .../src/examples/{ => js}/customClassName.js | 1 + .../src/examples/{ => js}/customDateFormat.js | 1 + .../examples/{ => js}/customDayClassName.js | 1 + .../src/examples/{ => js}/customInput.js | 2 + .../examples/{ => js}/customTimeClassName.js | 2 +- .../src/examples/{ => js}/customTimeInput.js | 2 + docs-site/src/examples/{ => js}/dateRange.js | 1 + .../{ => js}/dateRangeInputWithClearButton.js | 3 +- .../examples/{ => js}/dateRangeWithPortal.js | 3 +- .../dateRangeWithShowDisabledNavigation.js | 2 + docs-site/src/examples/{ => js}/default.js | 1 + docs-site/src/examples/{ => js}/disabled.js | 1 + .../{ => js}/disabledKeyboardNavigation.js | 1 + .../examples/{ => js}/dontCloseOnSelect.js | 1 + .../examples/{ => js}/excludeDateIntervals.js | 1 + .../src/examples/{ => js}/excludeDates.js | 1 + .../{ => js}/excludeDatesMonthPicker.js | 1 + .../{ => js}/excludeDatesRangeMonthPicker.js | 0 .../{ => js}/excludeDatesWithMessage.js | 1 + .../examples/{ => js}/excludeTimePeriod.js | 1 + .../src/examples/{ => js}/excludeTimes.js | 1 + .../src/examples/{ => js}/excludeWeeks.js | 1 + .../src/examples/{ => js}/externalForm.js | 2 +- .../src/examples/{ => js}/filterDates.js | 2 + .../src/examples/{ => js}/filterTimes.js | 2 + .../src/examples/{ => js}/fixedCalendar.js | 1 + .../src/examples/{ => js}/hideTimeCaption.js | 1 + .../src/examples/{ => js}/highlightDates.js | 1 + .../examples/{ => js}/highlightDatesRanges.js | 2 + .../src/examples/{ => js}/holidayDates.js | 1 + .../examples/{ => js}/includeDateIntervals.js | 1 + .../src/examples/{ => js}/includeDates.js | 1 + .../{ => js}/includeDatesMonthPicker.js | 1 + .../src/examples/{ => js}/includeTimes.js | 1 + .../src/examples/{ => js}/injectTimes.js | 1 + docs-site/src/examples/{ => js}/inline.js | 1 + .../src/examples/{ => js}/inlineVisible.js | 3 + docs-site/src/examples/{ => js}/locale.js | 1 + .../src/examples/{ => js}/localeWithTime.js | 1 + .../{ => js}/localeWithoutGlobalVariable.js | 1 + docs-site/src/examples/{ => js}/maxDate.js | 1 + docs-site/src/examples/{ => js}/minDate.js | 1 + .../src/examples/{ => js}/monthDropdown.js | 1 + .../examples/{ => js}/monthDropdownShort.js | 1 + .../src/examples/{ => js}/monthPicker.js | 1 + .../{ => js}/monthPickerFourColumns.js | 1 + .../examples/{ => js}/monthPickerFullName.js | 1 + .../{ => js}/monthPickerTwoColumns.js | 1 + .../examples/{ => js}/monthYearDropdown.js | 1 + docs-site/src/examples/{ => js}/multiMonth.js | 1 + .../examples/{ => js}/multiMonthDropdown.js | 1 + .../src/examples/{ => js}/multiMonthInline.js | 1 + .../examples/{ => js}/multiMonthPrevious.js | 1 + .../src/examples/{ => js}/noAnchorArrow.js | 1 + .../src/examples/{ => js}/onBlurCallbacks.js | 2 + .../{ => js}/onCalendarOpenStateCallbacks.js | 0 docs-site/src/examples/{ => js}/openToDate.js | 1 + .../src/examples/{ => js}/placeholderText.js | 0 docs-site/src/examples/{ => js}/portal.js | 1 + docs-site/src/examples/{ => js}/portalById.js | 1 + .../src/examples/{ => js}/quarterPicker.js | 1 + .../src/examples/{ => js}/rangeMonthPicker.js | 1 + .../{ => js}/rangeMonthPickerSelectsRange.js | 0 .../examples/{ => js}/rangeQuarterPicker.js | 1 + .../rangeQuarterPickerSelectsRange.js | 0 .../src/examples/{ => js}/rangeSwapRange.js | 2 + .../src/examples/{ => js}/rangeYearPicker.js | 1 + .../{ => js}/rangeYearPickerSelectsRange.js | 0 docs-site/src/examples/{ => js}/rawChange.js | 2 + docs-site/src/examples/{ => js}/readOnly.js | 1 + .../src/examples/{ => js}/renderCustomDay.js | 2 + .../examples/{ => js}/renderCustomHeader.js | 11 +- .../{ => js}/renderCustomHeaderTwoMonths.js | 1 + .../examples/{ => js}/renderCustomMonth.js | 1 + .../examples/{ => js}/renderCustomQuarter.js | 1 + .../src/examples/{ => js}/renderCustomYear.js | 1 + .../src/examples/{ => js}/selectsMultiple.js | 2 + .../{ => js}/selectsMultipleMonths.js | 2 + .../src/examples/{ => js}/selectsRange.js | 2 + .../{ => js}/selectsRangeWithDisabledDates.js | 2 + docs-site/src/examples/{ => js}/showTime.js | 1 + .../src/examples/{ => js}/showTimeOnly.js | 1 + .../examples/{ => js}/specificDateRange.js | 1 + .../src/examples/{ => js}/strictParsing.js | 1 + docs-site/src/examples/{ => js}/tabIndex.js | 1 + docs-site/src/examples/{ => js}/timeInput.js | 1 + docs-site/src/examples/{ => js}/today.js | 1 + .../{ => js}/toggleCalendarOnIconClick.js | 1 + .../src/examples/{ => js}/weekNumbers.js | 1 + docs-site/src/examples/{ => js}/weekPicker.js | 1 + .../src/examples/{ => js}/withPortalById.js | 1 + .../src/examples/{ => js}/yearDropdown.js | 1 + .../src/examples/{ => js}/yearItemNumber.js | 1 + docs-site/src/examples/{ => js}/yearPicker.js | 1 + .../examples/{ => js}/yearSelectDropdown.js | 1 + .../src/examples/ts/calendarContainer.ts | 30 + docs-site/src/examples/ts/calendarIcon.ts | 17 + .../src/examples/ts/calendarIconExternal.ts | 18 + .../src/examples/ts/calendarIconSvgIcon.ts | 40 + docs-site/src/examples/ts/calendarStartDay.ts | 17 + docs-site/src/examples/ts/children.ts | 15 + docs-site/src/examples/ts/clearInput.ts | 18 + docs-site/src/examples/ts/closeOnScroll.ts | 17 + .../src/examples/ts/closeOnScrollCallback.ts | 17 + .../src/examples/ts/configureFloatingUI.ts | 27 + .../examples/ts/customCalendarClassName.ts | 17 + docs-site/src/examples/ts/customClassName.ts | 17 + docs-site/src/examples/ts/customDateFormat.ts | 17 + .../src/examples/ts/customDayClassName.ts | 19 + docs-site/src/examples/ts/customInput.ts | 49 ++ .../src/examples/ts/customTimeClassName.ts | 22 + docs-site/src/examples/ts/customTimeInput.ts | 34 + docs-site/src/examples/ts/dateRange.ts | 30 + .../ts/dateRangeInputWithClearButton.ts | 22 + .../src/examples/ts/dateRangeWithPortal.ts | 22 + .../ts/dateRangeWithShowDisabledNavigation.ts | 30 + docs-site/src/examples/ts/default.ts | 13 + docs-site/src/examples/ts/disabled.ts | 18 + .../examples/ts/disabledKeyboardNavigation.ts | 18 + .../src/examples/ts/dontCloseOnSelect.ts | 17 + .../src/examples/ts/excludeDateIntervals.ts | 30 + docs-site/src/examples/ts/excludeDates.ts | 25 + .../examples/ts/excludeDatesMonthPicker.ts | 29 + .../ts/excludeDatesRangeMonthPicker.ts | 43 + .../examples/ts/excludeDatesWithMessage.ts | 28 + .../src/examples/ts/excludeTimePeriod.ts | 22 + docs-site/src/examples/ts/excludeTimes.ts | 30 + docs-site/src/examples/ts/excludeWeeks.ts | 31 + docs-site/src/examples/ts/externalForm.ts | 23 + docs-site/src/examples/ts/filterDates.ts | 25 + docs-site/src/examples/ts/filterTimes.ts | 30 + docs-site/src/examples/ts/fixedCalendar.ts | 17 + docs-site/src/examples/ts/hideTimeCaption.ts | 21 + docs-site/src/examples/ts/highlightDates.ts | 29 + .../src/examples/ts/highlightDatesRanges.ts | 43 + docs-site/src/examples/ts/holidayDates.ts | 31 + .../src/examples/ts/includeDateIntervals.ts | 27 + docs-site/src/examples/ts/includeDates.ts | 24 + .../examples/ts/includeDatesMonthPicker.ts | 23 + docs-site/src/examples/ts/includeTimes.ts | 28 + docs-site/src/examples/ts/index.ts | 106 +++ docs-site/src/examples/ts/injectTimes.ts | 28 + docs-site/src/examples/ts/inline.ts | 17 + docs-site/src/examples/ts/inlineVisible.ts | 31 + docs-site/src/examples/ts/locale.ts | 18 + docs-site/src/examples/ts/localeWithTime.ts | 21 + .../ts/localeWithoutGlobalVariable.ts | 17 + docs-site/src/examples/ts/maxDate.ts | 18 + docs-site/src/examples/ts/minDate.ts | 18 + docs-site/src/examples/ts/monthDropdown.ts | 17 + .../src/examples/ts/monthDropdownShort.ts | 18 + docs-site/src/examples/ts/monthPicker.ts | 18 + .../src/examples/ts/monthPickerFourColumns.ts | 20 + .../src/examples/ts/monthPickerFullName.ts | 19 + .../src/examples/ts/monthPickerTwoColumns.ts | 20 + .../src/examples/ts/monthYearDropdown.ts | 20 + docs-site/src/examples/ts/multiMonth.ts | 17 + .../src/examples/ts/multiMonthDropdown.ts | 18 + docs-site/src/examples/ts/multiMonthInline.ts | 18 + .../src/examples/ts/multiMonthPrevious.ts | 18 + docs-site/src/examples/ts/noAnchorArrow.ts | 17 + docs-site/src/examples/ts/onBlurCallbacks.ts | 28 + .../ts/onCalendarOpenStateCallbacks.ts | 21 + docs-site/src/examples/ts/openToDate.ts | 17 + docs-site/src/examples/ts/placeholderText.ts | 9 + docs-site/src/examples/ts/portal.ts | 17 + docs-site/src/examples/ts/portalById.ts | 17 + docs-site/src/examples/ts/quarterPicker.ts | 18 + docs-site/src/examples/ts/rangeMonthPicker.ts | 33 + .../ts/rangeMonthPickerSelectsRange.ts | 27 + .../src/examples/ts/rangeQuarterPicker.ts | 33 + .../ts/rangeQuarterPickerSelectsRange.ts | 27 + docs-site/src/examples/ts/rangeSwapRange.ts | 37 + docs-site/src/examples/ts/rangeYearPicker.ts | 33 + .../ts/rangeYearPickerSelectsRange.ts | 27 + docs-site/src/examples/ts/rawChange.ts | 24 + docs-site/src/examples/ts/readOnly.ts | 18 + docs-site/src/examples/ts/renderCustomDay.ts | 23 + .../src/examples/ts/renderCustomHeader.ts | 85 ++ .../ts/renderCustomHeaderTwoMonths.ts | 67 ++ .../src/examples/ts/renderCustomMonth.ts | 23 + .../src/examples/ts/renderCustomQuarter.ts | 22 + docs-site/src/examples/ts/renderCustomYear.ts | 21 + docs-site/src/examples/ts/selectsMultiple.ts | 23 + .../src/examples/ts/selectsMultipleMonths.ts | 25 + docs-site/src/examples/ts/selectsRange.ts | 27 + .../ts/selectsRangeWithDisabledDates.ts | 36 + docs-site/src/examples/ts/showTime.ts | 21 + docs-site/src/examples/ts/showTimeOnly.ts | 21 + .../src/examples/ts/specificDateRange.ts | 19 + docs-site/src/examples/ts/strictParsing.ts | 17 + docs-site/src/examples/ts/tabIndex.ts | 17 + docs-site/src/examples/ts/timeInput.ts | 19 + docs-site/src/examples/ts/today.ts | 17 + .../examples/ts/toggleCalendarOnIconClick.ts | 18 + docs-site/src/examples/ts/weekNumbers.ts | 18 + docs-site/src/examples/ts/weekPicker.ts | 20 + docs-site/src/examples/ts/withPortalById.ts | 18 + docs-site/src/examples/ts/yearDropdown.ts | 20 + docs-site/src/examples/ts/yearItemNumber.ts | 19 + docs-site/src/examples/ts/yearPicker.ts | 18 + .../src/examples/ts/yearSelectDropdown.ts | 20 + docs-site/src/{index.jsx => index.tsx} | 2 +- docs-site/src/types/global.d.ts | 9 + docs-site/src/types/index.ts | 6 + docs-site/tsconfig.json | 23 + docs-site/tsconfig.node.json | 10 + docs-site/{vite.config.js => vite.config.ts} | 0 docs-site/yarn.lock | 347 +++++++- 229 files changed, 4073 insertions(+), 633 deletions(-) rename docs-site/src/components/Example/{index.jsx => index.tsx} (61%) create mode 100644 docs-site/src/components/Examples/config.tsx delete mode 100644 docs-site/src/components/Examples/index.jsx create mode 100644 docs-site/src/components/Examples/index.tsx rename docs-site/src/examples/{ => js}/calendarContainer.js (99%) rename docs-site/src/examples/{ => js}/calendarIcon.js (99%) rename docs-site/src/examples/{ => js}/calendarIconExternal.js (99%) rename docs-site/src/examples/{ => js}/calendarIconSvgIcon.js (99%) rename docs-site/src/examples/{ => js}/calendarStartDay.js (99%) rename docs-site/src/examples/{ => js}/children.js (99%) rename docs-site/src/examples/{ => js}/clearInput.js (99%) rename docs-site/src/examples/{ => js}/closeOnScroll.js (87%) rename docs-site/src/examples/{ => js}/closeOnScrollCallback.js (99%) rename docs-site/src/examples/{ => js}/configureFloatingUI.js (99%) rename docs-site/src/examples/{ => js}/customCalendarClassName.js (99%) rename docs-site/src/examples/{ => js}/customClassName.js (99%) rename docs-site/src/examples/{ => js}/customDateFormat.js (99%) rename docs-site/src/examples/{ => js}/customDayClassName.js (99%) rename docs-site/src/examples/{ => js}/customInput.js (99%) rename docs-site/src/examples/{ => js}/customTimeClassName.js (90%) rename docs-site/src/examples/{ => js}/customTimeInput.js (99%) rename docs-site/src/examples/{ => js}/dateRange.js (99%) rename docs-site/src/examples/{ => js}/dateRangeInputWithClearButton.js (91%) rename docs-site/src/examples/{ => js}/dateRangeWithPortal.js (91%) rename docs-site/src/examples/{ => js}/dateRangeWithShowDisabledNavigation.js (99%) rename docs-site/src/examples/{ => js}/default.js (99%) rename docs-site/src/examples/{ => js}/disabled.js (99%) rename docs-site/src/examples/{ => js}/disabledKeyboardNavigation.js (99%) rename docs-site/src/examples/{ => js}/dontCloseOnSelect.js (99%) rename docs-site/src/examples/{ => js}/excludeDateIntervals.js (99%) rename docs-site/src/examples/{ => js}/excludeDates.js (99%) rename docs-site/src/examples/{ => js}/excludeDatesMonthPicker.js (99%) rename docs-site/src/examples/{ => js}/excludeDatesRangeMonthPicker.js (100%) rename docs-site/src/examples/{ => js}/excludeDatesWithMessage.js (99%) rename docs-site/src/examples/{ => js}/excludeTimePeriod.js (99%) rename docs-site/src/examples/{ => js}/excludeTimes.js (99%) rename docs-site/src/examples/{ => js}/excludeWeeks.js (99%) rename docs-site/src/examples/{ => js}/externalForm.js (86%) rename docs-site/src/examples/{ => js}/filterDates.js (99%) rename docs-site/src/examples/{ => js}/filterTimes.js (99%) rename docs-site/src/examples/{ => js}/fixedCalendar.js (99%) rename docs-site/src/examples/{ => js}/hideTimeCaption.js (99%) rename docs-site/src/examples/{ => js}/highlightDates.js (99%) rename docs-site/src/examples/{ => js}/highlightDatesRanges.js (99%) rename docs-site/src/examples/{ => js}/holidayDates.js (99%) rename docs-site/src/examples/{ => js}/includeDateIntervals.js (99%) rename docs-site/src/examples/{ => js}/includeDates.js (99%) rename docs-site/src/examples/{ => js}/includeDatesMonthPicker.js (99%) rename docs-site/src/examples/{ => js}/includeTimes.js (99%) rename docs-site/src/examples/{ => js}/injectTimes.js (99%) rename docs-site/src/examples/{ => js}/inline.js (99%) rename docs-site/src/examples/{ => js}/inlineVisible.js (99%) rename docs-site/src/examples/{ => js}/locale.js (99%) rename docs-site/src/examples/{ => js}/localeWithTime.js (99%) rename docs-site/src/examples/{ => js}/localeWithoutGlobalVariable.js (99%) rename docs-site/src/examples/{ => js}/maxDate.js (99%) rename docs-site/src/examples/{ => js}/minDate.js (99%) rename docs-site/src/examples/{ => js}/monthDropdown.js (99%) rename docs-site/src/examples/{ => js}/monthDropdownShort.js (99%) rename docs-site/src/examples/{ => js}/monthPicker.js (99%) rename docs-site/src/examples/{ => js}/monthPickerFourColumns.js (99%) rename docs-site/src/examples/{ => js}/monthPickerFullName.js (99%) rename docs-site/src/examples/{ => js}/monthPickerTwoColumns.js (99%) rename docs-site/src/examples/{ => js}/monthYearDropdown.js (99%) rename docs-site/src/examples/{ => js}/multiMonth.js (99%) rename docs-site/src/examples/{ => js}/multiMonthDropdown.js (99%) rename docs-site/src/examples/{ => js}/multiMonthInline.js (99%) rename docs-site/src/examples/{ => js}/multiMonthPrevious.js (99%) rename docs-site/src/examples/{ => js}/noAnchorArrow.js (99%) rename docs-site/src/examples/{ => js}/onBlurCallbacks.js (99%) rename docs-site/src/examples/{ => js}/onCalendarOpenStateCallbacks.js (100%) rename docs-site/src/examples/{ => js}/openToDate.js (99%) rename docs-site/src/examples/{ => js}/placeholderText.js (100%) rename docs-site/src/examples/{ => js}/portal.js (99%) rename docs-site/src/examples/{ => js}/portalById.js (99%) rename docs-site/src/examples/{ => js}/quarterPicker.js (99%) rename docs-site/src/examples/{ => js}/rangeMonthPicker.js (99%) rename docs-site/src/examples/{ => js}/rangeMonthPickerSelectsRange.js (100%) rename docs-site/src/examples/{ => js}/rangeQuarterPicker.js (99%) rename docs-site/src/examples/{ => js}/rangeQuarterPickerSelectsRange.js (100%) rename docs-site/src/examples/{ => js}/rangeSwapRange.js (99%) rename docs-site/src/examples/{ => js}/rangeYearPicker.js (99%) rename docs-site/src/examples/{ => js}/rangeYearPickerSelectsRange.js (100%) rename docs-site/src/examples/{ => js}/rawChange.js (99%) rename docs-site/src/examples/{ => js}/readOnly.js (99%) rename docs-site/src/examples/{ => js}/renderCustomDay.js (99%) rename docs-site/src/examples/{ => js}/renderCustomHeader.js (91%) rename docs-site/src/examples/{ => js}/renderCustomHeaderTwoMonths.js (99%) rename docs-site/src/examples/{ => js}/renderCustomMonth.js (99%) rename docs-site/src/examples/{ => js}/renderCustomQuarter.js (99%) rename docs-site/src/examples/{ => js}/renderCustomYear.js (99%) rename docs-site/src/examples/{ => js}/selectsMultiple.js (99%) rename docs-site/src/examples/{ => js}/selectsMultipleMonths.js (99%) rename docs-site/src/examples/{ => js}/selectsRange.js (99%) rename docs-site/src/examples/{ => js}/selectsRangeWithDisabledDates.js (99%) rename docs-site/src/examples/{ => js}/showTime.js (99%) rename docs-site/src/examples/{ => js}/showTimeOnly.js (99%) rename docs-site/src/examples/{ => js}/specificDateRange.js (99%) rename docs-site/src/examples/{ => js}/strictParsing.js (99%) rename docs-site/src/examples/{ => js}/tabIndex.js (99%) rename docs-site/src/examples/{ => js}/timeInput.js (99%) rename docs-site/src/examples/{ => js}/today.js (99%) rename docs-site/src/examples/{ => js}/toggleCalendarOnIconClick.js (99%) rename docs-site/src/examples/{ => js}/weekNumbers.js (99%) rename docs-site/src/examples/{ => js}/weekPicker.js (99%) rename docs-site/src/examples/{ => js}/withPortalById.js (99%) rename docs-site/src/examples/{ => js}/yearDropdown.js (99%) rename docs-site/src/examples/{ => js}/yearItemNumber.js (99%) rename docs-site/src/examples/{ => js}/yearPicker.js (99%) rename docs-site/src/examples/{ => js}/yearSelectDropdown.js (99%) create mode 100644 docs-site/src/examples/ts/calendarContainer.ts create mode 100644 docs-site/src/examples/ts/calendarIcon.ts create mode 100644 docs-site/src/examples/ts/calendarIconExternal.ts create mode 100644 docs-site/src/examples/ts/calendarIconSvgIcon.ts create mode 100644 docs-site/src/examples/ts/calendarStartDay.ts create mode 100644 docs-site/src/examples/ts/children.ts create mode 100644 docs-site/src/examples/ts/clearInput.ts create mode 100644 docs-site/src/examples/ts/closeOnScroll.ts create mode 100644 docs-site/src/examples/ts/closeOnScrollCallback.ts create mode 100644 docs-site/src/examples/ts/configureFloatingUI.ts create mode 100644 docs-site/src/examples/ts/customCalendarClassName.ts create mode 100644 docs-site/src/examples/ts/customClassName.ts create mode 100644 docs-site/src/examples/ts/customDateFormat.ts create mode 100644 docs-site/src/examples/ts/customDayClassName.ts create mode 100644 docs-site/src/examples/ts/customInput.ts create mode 100644 docs-site/src/examples/ts/customTimeClassName.ts create mode 100644 docs-site/src/examples/ts/customTimeInput.ts create mode 100644 docs-site/src/examples/ts/dateRange.ts create mode 100644 docs-site/src/examples/ts/dateRangeInputWithClearButton.ts create mode 100644 docs-site/src/examples/ts/dateRangeWithPortal.ts create mode 100644 docs-site/src/examples/ts/dateRangeWithShowDisabledNavigation.ts create mode 100644 docs-site/src/examples/ts/default.ts create mode 100644 docs-site/src/examples/ts/disabled.ts create mode 100644 docs-site/src/examples/ts/disabledKeyboardNavigation.ts create mode 100644 docs-site/src/examples/ts/dontCloseOnSelect.ts create mode 100644 docs-site/src/examples/ts/excludeDateIntervals.ts create mode 100644 docs-site/src/examples/ts/excludeDates.ts create mode 100644 docs-site/src/examples/ts/excludeDatesMonthPicker.ts create mode 100644 docs-site/src/examples/ts/excludeDatesRangeMonthPicker.ts create mode 100644 docs-site/src/examples/ts/excludeDatesWithMessage.ts create mode 100644 docs-site/src/examples/ts/excludeTimePeriod.ts create mode 100644 docs-site/src/examples/ts/excludeTimes.ts create mode 100644 docs-site/src/examples/ts/excludeWeeks.ts create mode 100644 docs-site/src/examples/ts/externalForm.ts create mode 100644 docs-site/src/examples/ts/filterDates.ts create mode 100644 docs-site/src/examples/ts/filterTimes.ts create mode 100644 docs-site/src/examples/ts/fixedCalendar.ts create mode 100644 docs-site/src/examples/ts/hideTimeCaption.ts create mode 100644 docs-site/src/examples/ts/highlightDates.ts create mode 100644 docs-site/src/examples/ts/highlightDatesRanges.ts create mode 100644 docs-site/src/examples/ts/holidayDates.ts create mode 100644 docs-site/src/examples/ts/includeDateIntervals.ts create mode 100644 docs-site/src/examples/ts/includeDates.ts create mode 100644 docs-site/src/examples/ts/includeDatesMonthPicker.ts create mode 100644 docs-site/src/examples/ts/includeTimes.ts create mode 100644 docs-site/src/examples/ts/index.ts create mode 100644 docs-site/src/examples/ts/injectTimes.ts create mode 100644 docs-site/src/examples/ts/inline.ts create mode 100644 docs-site/src/examples/ts/inlineVisible.ts create mode 100644 docs-site/src/examples/ts/locale.ts create mode 100644 docs-site/src/examples/ts/localeWithTime.ts create mode 100644 docs-site/src/examples/ts/localeWithoutGlobalVariable.ts create mode 100644 docs-site/src/examples/ts/maxDate.ts create mode 100644 docs-site/src/examples/ts/minDate.ts create mode 100644 docs-site/src/examples/ts/monthDropdown.ts create mode 100644 docs-site/src/examples/ts/monthDropdownShort.ts create mode 100644 docs-site/src/examples/ts/monthPicker.ts create mode 100644 docs-site/src/examples/ts/monthPickerFourColumns.ts create mode 100644 docs-site/src/examples/ts/monthPickerFullName.ts create mode 100644 docs-site/src/examples/ts/monthPickerTwoColumns.ts create mode 100644 docs-site/src/examples/ts/monthYearDropdown.ts create mode 100644 docs-site/src/examples/ts/multiMonth.ts create mode 100644 docs-site/src/examples/ts/multiMonthDropdown.ts create mode 100644 docs-site/src/examples/ts/multiMonthInline.ts create mode 100644 docs-site/src/examples/ts/multiMonthPrevious.ts create mode 100644 docs-site/src/examples/ts/noAnchorArrow.ts create mode 100644 docs-site/src/examples/ts/onBlurCallbacks.ts create mode 100644 docs-site/src/examples/ts/onCalendarOpenStateCallbacks.ts create mode 100644 docs-site/src/examples/ts/openToDate.ts create mode 100644 docs-site/src/examples/ts/placeholderText.ts create mode 100644 docs-site/src/examples/ts/portal.ts create mode 100644 docs-site/src/examples/ts/portalById.ts create mode 100644 docs-site/src/examples/ts/quarterPicker.ts create mode 100644 docs-site/src/examples/ts/rangeMonthPicker.ts create mode 100644 docs-site/src/examples/ts/rangeMonthPickerSelectsRange.ts create mode 100644 docs-site/src/examples/ts/rangeQuarterPicker.ts create mode 100644 docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.ts create mode 100644 docs-site/src/examples/ts/rangeSwapRange.ts create mode 100644 docs-site/src/examples/ts/rangeYearPicker.ts create mode 100644 docs-site/src/examples/ts/rangeYearPickerSelectsRange.ts create mode 100644 docs-site/src/examples/ts/rawChange.ts create mode 100644 docs-site/src/examples/ts/readOnly.ts create mode 100644 docs-site/src/examples/ts/renderCustomDay.ts create mode 100644 docs-site/src/examples/ts/renderCustomHeader.ts create mode 100644 docs-site/src/examples/ts/renderCustomHeaderTwoMonths.ts create mode 100644 docs-site/src/examples/ts/renderCustomMonth.ts create mode 100644 docs-site/src/examples/ts/renderCustomQuarter.ts create mode 100644 docs-site/src/examples/ts/renderCustomYear.ts create mode 100644 docs-site/src/examples/ts/selectsMultiple.ts create mode 100644 docs-site/src/examples/ts/selectsMultipleMonths.ts create mode 100644 docs-site/src/examples/ts/selectsRange.ts create mode 100644 docs-site/src/examples/ts/selectsRangeWithDisabledDates.ts create mode 100644 docs-site/src/examples/ts/showTime.ts create mode 100644 docs-site/src/examples/ts/showTimeOnly.ts create mode 100644 docs-site/src/examples/ts/specificDateRange.ts create mode 100644 docs-site/src/examples/ts/strictParsing.ts create mode 100644 docs-site/src/examples/ts/tabIndex.ts create mode 100644 docs-site/src/examples/ts/timeInput.ts create mode 100644 docs-site/src/examples/ts/today.ts create mode 100644 docs-site/src/examples/ts/toggleCalendarOnIconClick.ts create mode 100644 docs-site/src/examples/ts/weekNumbers.ts create mode 100644 docs-site/src/examples/ts/weekPicker.ts create mode 100644 docs-site/src/examples/ts/withPortalById.ts create mode 100644 docs-site/src/examples/ts/yearDropdown.ts create mode 100644 docs-site/src/examples/ts/yearItemNumber.ts create mode 100644 docs-site/src/examples/ts/yearPicker.ts create mode 100644 docs-site/src/examples/ts/yearSelectDropdown.ts rename docs-site/src/{index.jsx => index.tsx} (90%) create mode 100644 docs-site/src/types/global.d.ts create mode 100644 docs-site/src/types/index.ts create mode 100644 docs-site/tsconfig.json create mode 100644 docs-site/tsconfig.node.json rename docs-site/{vite.config.js => vite.config.ts} (100%) diff --git a/docs-site/package.json b/docs-site/package.json index 7f499c1303..e85ff945f4 100644 --- a/docs-site/package.json +++ b/docs-site/package.json @@ -16,14 +16,18 @@ }, "scripts": { "start": "vite", - "build": "vite build", + "build": "tsc && vite build", "lint": "eslint .", - "preview": "vite preview" + "preview": "vite preview", + "type-check": "tsc --noEmit" }, "devDependencies": { "@eslint/js": "^9.24.0", + "@types/lodash": "^4.17.11", "@types/react": "^19.1.0", "@types/react-dom": "^19.1.2", + "@typescript-eslint/eslint-plugin": "^7.0.0", + "@typescript-eslint/parser": "^7.0.0", "@vitejs/plugin-react": "^4.3.4", "eslint": "^9.23.0", "eslint-plugin-react": "^7.37.5", @@ -31,6 +35,7 @@ "eslint-plugin-react-refresh": "^0.4.19", "globals": "^16.0.0", "sass": "^1.86.3", + "typescript": "^5.3.3", "vite": "^6.2.5" }, "packageManager": "yarn@4.6.0" diff --git a/docs-site/src/components/Example/index.jsx b/docs-site/src/components/Example/index.tsx similarity index 61% rename from docs-site/src/components/Example/index.jsx rename to docs-site/src/components/Example/index.tsx index f45a158f6c..74529ff556 100644 --- a/docs-site/src/components/Example/index.jsx +++ b/docs-site/src/components/Example/index.tsx @@ -12,16 +12,44 @@ import slugify from "slugify"; import range from "lodash/range"; import { themes } from "prism-react-renderer"; import editIcon from "./edit-regular.svg"; +import { IExampleConfig } from "../../types"; + +type TState = { + activeTab: "js" | "ts"; +}; + +type TProps = { + example: IExampleConfig; +}; + +export default class CodeExampleComponent extends React.Component< + TProps, + TState +> { + state: TState = { + activeTab: "js", + }; -export default class CodeExampleComponent extends React.Component { componentDidMount() { registerLocale("fi", fi); registerLocale("pt-BR", ptBR); registerLocale("en-GB", enGB); } + handleTabChange = (tab: TState["activeTab"]) => { + this.setState({ activeTab: tab }); + }; + render() { - const { title, description, component } = this.props.example; + const { title, description, component, componentTS } = this.props.example; + const { activeTab } = this.state; + + const jsCode = component.trim(); + const tsCode = componentTS?.trim(); + + const code = activeTab === "js" ? jsCode : tsCode; + const isTS = activeTab === "ts"; + return (

{title}

{description &&

{description}

} +
+ + {tsCode && ( + + )} +
               
+        Full docs for the underlying library that manages the overlay used can
+        be found at{" "}
+        
+          floating-ui.com
+        
+      
+ ), + componentTS: configureFloatingUIS, + }, + { + title: "Custom input", + component: CustomInput, + componentTS: customInputTS, + }, + { + title: "Custom header", + component: RenderCustomHeader, + componentTS: renderCustomHeaderTS, + }, + { + title: "Custom header with two months displayed", + component: RenderCustomHeaderTwoMonths, + componentTS: renderCustomHeaderTwoMonthsTS, + }, + { + title: "Custom Day", + component: RenderCustomDay, + componentTS: renderCustomDayTS, + }, + { + title: "Custom Month", + component: RenderCustomMonth, + componentTS: renderCustomMonthTS, + }, + { + title: "Custom Quarter", + component: RenderCustomQuarter, + componentTS: renderCustomQuarterTS, + }, + { + title: "Custom Year", + component: RenderCustomYear, + componentTS: renderCustomYearTS, + }, + { + title: "Custom calendar class name", + component: CustomCalendarClassName, + componentTS: customCalendarClassNameTS, + }, + { + title: "Custom class name", + component: CustomClassName, + componentTS: customClassNameTS, + }, + { + title: "Custom day class name", + component: CustomDayClassName, + componentTS: customDayClassNameTS, + }, + { + title: "Custom date format", + component: CustomDateFormat, + componentTS: customDateFormatTS, + }, + { + title: "Custom time class name", + component: CustomTimeClassName, + componentTS: customTimeClassNameTS, + }, + { + title: "Custom time input", + component: CustomTimeInput, + componentTS: customTimeInputTS, + }, + { + title: "Date Range", + component: DateRange, + componentTS: dateRangeTS, + }, + { + title: "Date range for one datepicker", + component: SelectsRange, + componentTS: selectsRangeTS, + }, + { + title: "Date range for one datepicker with disabled dates highlighted", + component: selectsRangeWithDisabledDates, + componentTS: selectsRangeWithDisabledDatesTS, + }, + { + title: "Date Range with disabled navigation shown", + component: DateRangeWithShowDisabledNavigation, + componentTS: dateRangeWithShowDisabledNavigationTS, + }, + { + title: "Date Range using input with clear button", + component: DateRangeInputWithClearButton, + componentTS: dateRangeInputWithClearButtonTS, + }, + { + title: "Date Range with Portal", + component: DateRangeWithPortal, + componentTS: dateRangeWithPortalTS, + }, + { + title: "Disable datepicker", + component: Disabled, + componentTS: disabledTS, + }, + { + title: "Disable keyboard navigation", + component: DisabledKeyboardNavigation, + componentTS: disabledKeyboardNavigationTS, + }, + { + title: "Display Week Numbers", + component: WeekNumbers, + componentTS: weekNumbersTS, + }, + { + title: "Don't hide calendar on date selection", + component: DontCloseOnSelect, + componentTS: dontCloseOnSelectTS, + }, + { + title: "Exclude dates", + component: ExcludeDates, + componentTS: excludeDatesTS, + }, + { + title: "Exclude dates with message", + component: ExcludedWithMessage, + componentTS: excludeDatesWithMessageTS, + }, + { + title: "Exclude date intervals", + component: ExcludeDateIntervals, + componentTS: excludeDateIntervalsTS, + }, + { + title: "Exclude Months in Month Picker", + component: ExcludeDatesMonthPicker, + componentTS: excludeDatesMonthPickerTS, + }, + { + title: "Exclude Months in Range Month Picker", + component: ExcludeDatesRangeMonthPicker, + componentTS: excludeDatesRangeMonthPickerTS, + }, + { + title: "Exclude Times", + component: ExcludeTimes, + componentTS: excludeTimesTS, + }, + { + title: "Filter dates", + component: FilterDates, + componentTS: filterDatesTS, + }, + { + title: "Filter times", + component: FilterTimes, + componentTS: filterTimesTS, + }, + { + title: "Fixed height of Calendar", + component: FixedCalendar, + componentTS: fixedCalendarTS, + }, + { + title: "Get raw input value on change", + component: RawChange, + componentTS: rawChangeTS, + }, + { + title: "Highlight dates", + component: HighlightDates, + componentTS: highlightDatesTS, + }, + { + title: "Highlight dates with custom class names and ranges", + component: HighlightDatesRanges, + componentTS: highlightDatesRangesTS, + }, + { + title: "Holiday dates", + component: HolidayDates, + componentTS: holidayDatesTS, + }, + { + title: "Include dates", + component: IncludeDates, + componentTS: includeDatesTS, + }, + { + title: "Include date intervals", + component: IncludeDateIntervals, + componentTS: includeDateIntervalsTS, + }, + { + title: "Include Months in Month Picker", + component: IncludeDatesMonthPicker, + componentTS: includeDatesMonthPickerTS, + }, + { + title: "Include Times", + component: IncludeTimes, + componentTS: includeTimesTS, + }, + { + title: "Inject Specific Times", + component: InjectTimes, + componentTS: injectTimesTS, + }, + { + title: "Inline version", + component: Inline, + componentTS: inlineTS, + }, + { + title: "Button to show Inline version", + component: InlineVisible, + componentTS: inlineVisibleTS, + }, + { + title: "Input time", + component: TimeInput, + componentTS: timeInputTS, + }, + { + title: "Locale", + component: Locale, + componentTS: localeTS, + }, + { + title: "Locale with time", + component: LocaleWithTime, + componentTS: localeWithTimeTS, + }, + { + title: "Locale without global variables", + component: LocaleWithoutGlobalVariable, + componentTS: localeWithoutGlobalVariableTS, + }, + { + title: "Min date", + component: MinDate, + componentTS: minDateTS, + }, + { + title: "Max date", + component: MaxDate, + componentTS: maxDateTS, + }, + { + title: "Month Picker", + component: MonthPicker, + componentTS: monthPickerTS, + }, + { + title: "Month Picker with Full Name", + component: monthPickerFullName, + componentTS: monthPickerFullNameTS, + }, + { + title: "Month Picker Two Columns Layout", + component: monthPickerTwoColumns, + componentTS: monthPickerTwoColumnsTS, + }, + { + title: "Month Picker Four Columns Layout", + component: monthPickerFourColumns, + componentTS: monthPickerFourColumnsTS, + }, + { + title: "Month dropdown", + component: MonthDropdown, + componentTS: monthDropdownTS, + }, + { + title: "Month dropdown short month", + component: MonthDropdownShort, + componentTS: monthDropdownShortTS, + }, + { + title: "MonthYear dropdown", + component: MonthYearDropdown, + componentTS: monthYearDropdownTS, + }, + { + title: "Multiple months", + component: MultiMonth, + componentTS: multiMonthTS, + }, + { + title: "Multiple months with year dropdown", + component: MultiMonthDropdown, + componentTS: multiMonthDropdownTS, + }, + { + title: "Multiple months inline", + component: MultiMonthInline, + componentTS: multiMonthInlineTS, + }, + { + title: "No Anchor Arrow", + component: NoAnchorArrow, + componentTS: noAnchorArrowTS, + }, + { + title: "onBlur callbacks in console", + component: OnBlurCallbacks, + componentTS: onBlurCallbacksTS, + }, + { + title: "Open to date", + component: OpenToDate, + componentTS: openToDateTS, + }, + { + title: "Placeholder text", + component: PlaceholderText, + componentTS: placeholderTextTS, + }, + { + title: "Portal version", + component: Portal, + componentTS: portalTS, + }, + { + title: "Portal by id", + description: + "If the provided portalId cannot be found in the dom, one will be created by default with that id.", + component: PortalById, + componentTS: portalByIdTS, + }, + { + title: "Portal version with portal by id", + description: + "If the provided portalId cannot be found in the dom, one will be created by default with that id.", + component: WithPortalById, + componentTS: withPortalByIdTS, + }, + { + title: "Quarter Picker", + component: QuarterPicker, + componentTS: quarterPickerTS, + }, + { + title: "Range Month Picker", + component: RangeMonthPicker, + componentTS: rangeMonthPickerTS, + }, + { + title: "Range Month Picker for one month picker", + component: RangeMonthPickerSelectsRange, + componentTS: rangeMonthPickerSelectsRangeTS, + }, + { + title: "Range Quarter Picker", + component: RangeQuarterPicker, + componentTS: rangeQuarterPickerTS, + }, + { + title: "Range Quarter Picker for one quarter picker", + component: RangeQuarterPickerSelectsRange, + componentTS: rangeQuarterPickerSelectsRangeTS, + }, + { + title: "Range Swap Range", + description: + "Swap the start and end date if the end date is before the start date in a pick sequence.", + component: RangeSwapRange, + componentTS: rangeSwapRangeTS, + }, + { + title: "Read only datepicker", + component: ReadOnly, + componentTS: readOnlyTS, + }, + { + title: "Select Time", + component: ShowTime, + componentTS: showTimeTS, + }, + { + title: "Select Time Only", + component: ShowTimeOnly, + componentTS: showTimeOnlyTS, + }, + { + title: "Hide Time Caption", + component: HideTimeCaption, + componentTS: hideTimeCaptionTS, + }, + { + title: "Show previous months", + component: MultiMonthPrevious, + componentTS: multiMonthPreviousTS, + }, + { + title: "Specific date range", + component: SpecificDateRange, + componentTS: specificDateRangeTS, + }, + { + title: "Specific Time Range", + component: ExcludeTimePeriod, + componentTS: excludeTimePeriodTS, + }, + { + title: "Select multiple dates", + component: SelectsMultiple, + componentTS: selectsMultipleTS, + }, + { + title: "Select multiple months", + component: SelectsMultipleMonths, + componentTS: selectsMultipleMonthsTS, + }, + { + title: "Strict parsing", + description: + "Enables strict format validation for manual date input. When this flag is activated, the component will only accept values that exactly match the specified date format (`dateFormat`).", + component: StrictParsing, + componentTS: strictParsingTS, + }, + { + title: "TabIndex", + component: TabIndex, + componentTS: tabIndexTS, + }, + { + title: "Today button", + component: Today, + componentTS: todayTS, + }, + { + title: "Year Picker", + component: YearPicker, + componentTS: yearPickerTS, + }, + { + title: "Range Year Picker", + component: RangeYearPicker, + componentTS: rangeYearPickerTS, + }, + { + title: "Range Year Picker for one datepicker", + component: RangeYearPickerSelectsRange, + componentTS: rangeYearPickerSelectsRangeTS, + }, + { + title: "Year dropdown", + component: YearDropdown, + componentTS: yearDropdownTS, + }, + { + title: "Year select dropdown", + component: YearSelectDropdown, + componentTS: yearSelectDropdownTS, + }, + { + title: "Year item number", + component: YearItemNumber, + componentTS: yearItemNumberTS, + }, + { + title: "Calendar Start day", + component: CalendarStartDay, + componentTS: calendarStartDayTS, + }, + { + title: "Week Picker", + component: WeekPicker, + componentTS: weekPickerTS, + }, + { + title: "Exclude Weeks", + component: ExcludeWeeks, + componentTS: excludeWeeksTS, + }, + { + title: "External Form", + component: ExternalForm, + componentTS: externalFormTS, + }, +]; diff --git a/docs-site/src/components/Examples/examples.scss b/docs-site/src/components/Examples/examples.scss index 9c38c04cec..34f7081944 100644 --- a/docs-site/src/components/Examples/examples.scss +++ b/docs-site/src/components/Examples/examples.scss @@ -68,6 +68,30 @@ margin-bottom: 20px; } + &__tabs { + display: flex; + } + + &__tab { + font-family: "Open Sans", sans-serif; + box-sizing: border-box; + padding: 8px; + border: none; + border-bottom: 2px solid transparent; + background: none; + cursor: pointer; + font-size: 14px; + transition: all 0.2s ease; + } + + &__tab:hover { + border-bottom: 2px solid #216ba5; + } + + &__tab.active { + border-bottom: 2px solid #216ba5; + } + &__code { position: relative; background-color: #f5f8fb; @@ -75,8 +99,7 @@ margin-left: -20px; border-top: 1px solid #d8e4ef; border-bottom: 1px solid #d8e4ef; - overflow-x: auto; - overflow-y: hidden; + overflow: auto hidden; @include helpers.breakpoint(768px) { width: 70%; @@ -98,15 +121,19 @@ z-index: 10; } } + &__preview { padding: 20px; + @include helpers.breakpoint(768px) { width: 30%; } + @media (max-width: 768px) { padding-left: 0; } } + &#example-portal-by-id { position: relative; overflow: hidden; @@ -121,9 +148,11 @@ .react-datepicker__week:nth-child(3n + 1) { background-color: #215005; } + .react-datepicker__week:nth-child(3n + 2) { background-color: #eea429; } + .react-datepicker__week:nth-child(3n + 3) { background-color: #a82a15; } diff --git a/docs-site/src/components/Examples/hero.scss b/docs-site/src/components/Examples/hero.scss index a9f34dd041..35ebc67aff 100644 --- a/docs-site/src/components/Examples/hero.scss +++ b/docs-site/src/components/Examples/hero.scss @@ -6,6 +6,7 @@ &__content { @extend %container-styling; + text-align: center; padding: 175px 0; } diff --git a/docs-site/src/components/Examples/index.jsx b/docs-site/src/components/Examples/index.jsx deleted file mode 100644 index 0584f09c3a..0000000000 --- a/docs-site/src/components/Examples/index.jsx +++ /dev/null @@ -1,609 +0,0 @@ -import React from "react"; -import hljs from "highlight.js/lib/core"; -import hljsJavaScriptLanguage from "highlight.js/lib/languages/javascript"; -import slugify from "slugify"; -import CodeExampleComponent from "../Example/index.jsx"; - -import Default from "../../examples/default?raw"; -import NoAnchorArrow from "../../examples/noAnchorArrow?raw"; -import ShowTime from "../../examples/showTime?raw"; -import ShowTimeOnly from "../../examples/showTimeOnly?raw"; -import HideTimeCaption from "../../examples/hideTimeCaption?raw"; -import ExcludeTimes from "../../examples/excludeTimes?raw"; -import IncludeTimes from "../../examples/includeTimes?raw"; -import InjectTimes from "../../examples/injectTimes?raw"; -import FilterTimes from "../../examples/filterTimes?raw"; -import ExcludeTimePeriod from "../../examples/excludeTimePeriod?raw"; -import CustomDateFormat from "../../examples/customDateFormat?raw"; -import CustomClassName from "../../examples/customClassName?raw"; -import CustomCalendarClassName from "../../examples/customCalendarClassName?raw"; -import CustomDayClassName from "../../examples/customDayClassName?raw"; -import CustomTimeClassName from "../../examples/customTimeClassName?raw"; -import Today from "../../examples/today?raw"; -import PlaceholderText from "../../examples/placeholderText?raw"; -import SpecificDateRange from "../../examples/specificDateRange?raw"; -import MinDate from "../../examples/minDate?raw"; -import MaxDate from "../../examples/maxDate?raw"; -import DateRangeWithShowDisabledNavigation from "../../examples/dateRangeWithShowDisabledNavigation?raw"; -import Locale from "../../examples/locale?raw"; -import LocaleWithTime from "../../examples/localeWithTime?raw"; -import LocaleWithoutGlobalVariable from "../../examples/localeWithoutGlobalVariable?raw"; -import ExcludeDates from "../../examples/excludeDates?raw"; -import ExcludedWithMessage from "../../examples/excludeDatesWithMessage?raw"; -import ExcludeDateIntervals from "../../examples/excludeDateIntervals?raw"; -import ExcludeDatesMonthPicker from "../../examples/excludeDatesMonthPicker?raw"; -import ExcludeDatesRangeMonthPicker from "../../examples/excludeDatesRangeMonthPicker?raw"; -import HighlightDates from "../../examples/highlightDates?raw"; -import HolidayDates from "../../examples/holidayDates?raw"; -import HighlightDatesRanges from "../../examples/highlightDatesRanges?raw"; -import IncludeDates from "../../examples/includeDates?raw"; -import IncludeDateIntervals from "../../examples/includeDateIntervals?raw"; -import IncludeDatesMonthPicker from "../../examples/includeDatesMonthPicker?raw"; -import FilterDates from "../../examples/filterDates?raw"; -import DateRange from "../../examples/dateRange?raw"; -import DateRangeInputWithClearButton from "../../examples/dateRangeInputWithClearButton?raw"; -import DateRangeWithPortal from "../../examples/dateRangeWithPortal?raw"; -import Disabled from "../../examples/disabled?raw"; -import DisabledKeyboardNavigation from "../../examples/disabledKeyboardNavigation?raw"; -import ReadOnly from "../../examples/readOnly?raw"; -import ClearInput from "../../examples/clearInput?raw"; -import OnBlurCallbacks from "../../examples/onBlurCallbacks?raw"; -import ConfigureFloatingUI from "../../examples/configureFloatingUI?raw"; -import Portal from "../../examples/portal?raw"; -import PortalById from "../../examples/portalById?raw"; -import WithPortalById from "../../examples/withPortalById?raw"; -import TabIndex from "../../examples/tabIndex?raw"; -import YearDropdown from "../../examples/yearDropdown?raw"; -import YearItemNumber from "../../examples/yearItemNumber?raw"; -import MonthDropdown from "../../examples/monthDropdown?raw"; -import MonthDropdownShort from "../../examples/monthDropdownShort?raw"; -import MonthYearDropdown from "../../examples/monthYearDropdown?raw"; -import YearSelectDropdown from "../../examples/yearSelectDropdown?raw"; -import Inline from "../../examples/inline?raw"; -import InlineVisible from "../../examples/inlineVisible?raw"; -import OpenToDate from "../../examples/openToDate?raw"; -import FixedCalendar from "../../examples/fixedCalendar?raw"; -import WeekNumbers from "../../examples/weekNumbers?raw"; -import CustomInput from "../../examples/customInput?raw"; -import MultiMonth from "../../examples/multiMonth?raw"; -import MultiMonthPrevious from "../../examples/multiMonthPrevious?raw"; -import MultiMonthDropdown from "../../examples/multiMonthDropdown?raw"; -import MultiMonthInline from "../../examples/multiMonthInline?raw"; -import Children from "../../examples/children?raw"; -import CalendarContainer from "../../examples/calendarContainer?raw"; -import RawChange from "../../examples/rawChange?raw"; -import DontCloseOnSelect from "../../examples/dontCloseOnSelect?raw"; -import RenderCustomHeader from "../../examples/renderCustomHeader?raw"; -import RenderCustomHeaderTwoMonths from "../../examples/renderCustomHeaderTwoMonths?raw"; -import RenderCustomDay from "../../examples/renderCustomDay?raw"; -import RenderCustomMonth from "../../examples/renderCustomMonth?raw"; -import RenderCustomQuarter from "../../examples/renderCustomQuarter?raw"; -import RenderCustomYear from "../../examples/renderCustomYear?raw"; -import TimeInput from "../../examples/timeInput?raw"; -import StrictParsing from "../../examples/strictParsing?raw"; -import MonthPicker from "../../examples/monthPicker?raw"; -import WeekPicker from "../../examples/weekPicker?raw"; -import ExcludeWeeks from "../../examples/excludeWeeks?raw"; -import monthPickerFullName from "../../examples/monthPickerFullName?raw"; -import monthPickerTwoColumns from "../../examples/monthPickerTwoColumns?raw"; -import monthPickerFourColumns from "../../examples/monthPickerFourColumns?raw"; -import RangeMonthPicker from "../../examples/rangeMonthPicker?raw"; -import RangeMonthPickerSelectsRange from "../../examples/rangeMonthPickerSelectsRange?raw"; -import QuarterPicker from "../../examples/quarterPicker?raw"; -import RangeQuarterPicker from "../../examples/rangeQuarterPicker?raw"; -import RangeQuarterPickerSelectsRange from "../../examples/rangeQuarterPickerSelectsRange?raw"; -import YearPicker from "../../examples/yearPicker?raw"; -import RangeYearPicker from "../../examples/rangeYearPicker?raw"; -import RangeYearPickerSelectsRange from "../../examples/rangeYearPickerSelectsRange?raw"; -import OnCalendarChangeStateCallbacks from "../../examples/onCalendarOpenStateCallbacks?raw"; -import CustomTimeInput from "../../examples/customTimeInput?raw"; -import CloseOnScroll from "../../examples/closeOnScroll?raw"; -import CloseOnScrollCallback from "../../examples/closeOnScrollCallback?raw"; -import SelectsRange from "../../examples/selectsRange?raw"; -import selectsRangeWithDisabledDates from "../../examples/selectsRangeWithDisabledDates?raw"; -import CalendarStartDay from "../../examples/calendarStartDay?raw"; -import ExternalForm from "../../examples/externalForm?raw"; -import CalendarIcon from "../../examples/calendarIcon?raw"; -import SelectsMultiple from "../../examples/selectsMultiple?raw"; -import SelectsMultipleMonths from "../../examples/selectsMultipleMonths?raw"; -import CalendarIconExternal from "../../examples/calendarIconExternal?raw"; -import CalendarIconSvgIcon from "../../examples/calendarIconSvgIcon?raw"; -import ToggleCalendarOnIconClick from "../../examples/toggleCalendarOnIconClick?raw"; -import SwapRange from "../../examples/rangeSwapRange?raw"; - -import "./style.scss"; -import "react-datepicker/dist/react-datepicker.css"; - -export default class exampleComponents extends React.Component { - componentDidMount() { - hljs.registerLanguage("javascript", hljsJavaScriptLanguage); - hljs.highlightAll(); - } - - examples = [ - { - title: "Default", - component: Default, - }, - { - title: "Calendar Icon", - component: CalendarIcon, - }, - { - title: "Calendar Icon using React Svg Component", - component: CalendarIconSvgIcon, - }, - { - title: "Calendar Icon using External Lib", - component: CalendarIconExternal, - }, - { - title: "Toggle Calendar open status on click of the calendar icon", - component: ToggleCalendarOnIconClick, - }, - { - title: "Calendar container", - component: CalendarContainer, - }, - { - title: "Calendar open state callbacks", - component: OnCalendarChangeStateCallbacks, - }, - { - title: "Children", - component: Children, - }, - { - title: "Clear datepicker input", - component: ClearInput, - }, - { - title: "Close on scroll", - component: CloseOnScroll, - }, - { - title: "Close on scroll callback", - component: CloseOnScrollCallback, - }, - { - title: "Configure Floating UI Properties", - component: ConfigureFloatingUI, - description: ( -
- Full docs for the underlying library that manages the overlay used can - be found at{" "} - - floating-ui.com - -
- ), - }, - { - title: "Custom input", - component: CustomInput, - }, - { - title: "Custom header", - component: RenderCustomHeader, - }, - { - title: "Custom header with two months displayed", - component: RenderCustomHeaderTwoMonths, - }, - { - title: "Custom Day", - component: RenderCustomDay, - }, - { - title: "Custom Month", - component: RenderCustomMonth, - }, - { - title: "Custom Quarter", - component: RenderCustomQuarter, - }, - { - title: "Custom Year", - component: RenderCustomYear, - }, - { - title: "Custom calendar class name", - component: CustomCalendarClassName, - }, - { - title: "Custom class name", - component: CustomClassName, - }, - { - title: "Custom day class name", - component: CustomDayClassName, - }, - { - title: "Custom date format", - component: CustomDateFormat, - }, - { - title: "Custom time class name", - component: CustomTimeClassName, - }, - { - title: "Custom time input", - component: CustomTimeInput, - }, - { - title: "Date Range", - component: DateRange, - }, - { - title: "Date range for one datepicker", - component: SelectsRange, - }, - { - title: "Date range for one datepicker with disabled dates highlighted", - component: selectsRangeWithDisabledDates, - }, - { - title: "Date Range with disabled navigation shown", - component: DateRangeWithShowDisabledNavigation, - }, - { - title: "Date Range using input with clear button", - component: DateRangeInputWithClearButton, - }, - { - title: "Date Range with Portal", - component: DateRangeWithPortal, - }, - { - title: "Disable datepicker", - component: Disabled, - }, - { - title: "Disable keyboard navigation", - component: DisabledKeyboardNavigation, - }, - { - title: "Display Week Numbers", - component: WeekNumbers, - }, - { - title: "Don't hide calendar on date selection", - component: DontCloseOnSelect, - }, - { - title: "Exclude dates", - component: ExcludeDates, - }, - { - title: "Exclude dates with message", - component: ExcludedWithMessage, - }, - { - title: "Exclude date intervals", - component: ExcludeDateIntervals, - }, - { - title: "Exclude Months in Month Picker", - component: ExcludeDatesMonthPicker, - }, - { - title: "Exclude Months in Range Month Picker", - component: ExcludeDatesRangeMonthPicker, - }, - { - title: "Exclude Times", - component: ExcludeTimes, - }, - { - title: "Filter dates", - component: FilterDates, - }, - { - title: "Filter times", - component: FilterTimes, - }, - { - title: "Fixed height of Calendar", - component: FixedCalendar, - }, - { - title: "Get raw input value on change", - component: RawChange, - }, - { - title: "Highlight dates", - component: HighlightDates, - }, - { - title: "Highlight dates with custom class names and ranges", - component: HighlightDatesRanges, - }, - { - title: "Holiday dates", - component: HolidayDates, - }, - { - title: "Include dates", - component: IncludeDates, - }, - { - title: "Include date intervals", - component: IncludeDateIntervals, - }, - { - title: "Include Months in Month Picker", - component: IncludeDatesMonthPicker, - }, - { - title: "Include Times", - component: IncludeTimes, - }, - { - title: "Inject Specific Times", - component: InjectTimes, - }, - { - title: "Inline version", - component: Inline, - }, - { - title: "Button to show Inline version", - component: InlineVisible, - }, - { - title: "Input time", - component: TimeInput, - }, - { - title: "Locale", - component: Locale, - }, - { - title: "Locale with time", - component: LocaleWithTime, - }, - { - title: "Locale without global variables", - component: LocaleWithoutGlobalVariable, - }, - { - title: "Min date", - component: MinDate, - }, - { - title: "Max date", - component: MaxDate, - }, - { - title: "Month Picker", - component: MonthPicker, - }, - { - title: "Month Picker with Full Name", - component: monthPickerFullName, - }, - { - title: "Month Picker Two Columns Layout", - component: monthPickerTwoColumns, - }, - { - title: "Month Picker Four Columns Layout", - component: monthPickerFourColumns, - }, - { - title: "Month dropdown", - component: MonthDropdown, - }, - { - title: "Month dropdown short month", - component: MonthDropdownShort, - }, - { - title: "MonthYear dropdown", - component: MonthYearDropdown, - }, - { - title: "Multiple months", - component: MultiMonth, - }, - { - title: "Multiple months with year dropdown", - component: MultiMonthDropdown, - }, - { - title: "Multiple months inline", - component: MultiMonthInline, - }, - { - title: "No Anchor Arrow", - component: NoAnchorArrow, - }, - { - title: "onBlur callbacks in console", - component: OnBlurCallbacks, - }, - { - title: "Open to date", - component: OpenToDate, - }, - { - title: "Placeholder text", - component: PlaceholderText, - }, - { - title: "Portal version", - component: Portal, - }, - { - title: "Portal by id", - description: - "If the provided portalId cannot be found in the dom, one will be created by default with that id.", - component: PortalById, - }, - { - title: "Portal version with portal by id", - description: - "If the provided portalId cannot be found in the dom, one will be created by default with that id.", - component: WithPortalById, - }, - { - title: "Quarter Picker", - component: QuarterPicker, - }, - { - title: "Range Month Picker", - component: RangeMonthPicker, - }, - { - title: "Range Month Picker for one month picker", - component: RangeMonthPickerSelectsRange, - }, - { - title: "Range Quarter Picker", - component: RangeQuarterPicker, - }, - { - title: "Range Quarter Picker for one quarter picker", - component: RangeQuarterPickerSelectsRange, - }, - { - title: "Range Swap Range", - description: - "Swap the start and end date if the end date is before the start date in a pick sequence.", - component: SwapRange, - }, - { - title: "Read only datepicker", - component: ReadOnly, - }, - { - title: "Select Time", - component: ShowTime, - }, - { - title: "Select Time Only", - component: ShowTimeOnly, - }, - { - title: "Hide Time Caption", - component: HideTimeCaption, - }, - { - title: "Show previous months", - component: MultiMonthPrevious, - }, - { - title: "Specific date range", - component: SpecificDateRange, - }, - { - title: "Specific Time Range", - component: ExcludeTimePeriod, - }, - { - title: "Select multiple dates", - component: SelectsMultiple, - }, - { - title: "Select multiple months", - component: SelectsMultipleMonths, - }, - { - title: "Strict parsing", - component: StrictParsing, - }, - { - title: "TabIndex", - component: TabIndex, - }, - { - title: "Today button", - component: Today, - }, - { - title: "Year Picker", - component: YearPicker, - }, - { - title: "Range Year Picker", - component: RangeYearPicker, - }, - { - title: "Range Year Picker for one datepicker", - component: RangeYearPickerSelectsRange, - }, - { - title: "Year dropdown", - component: YearDropdown, - }, - { - title: "Year select dropdown", - component: YearSelectDropdown, - }, - { - title: "Year item number", - component: YearItemNumber, - }, - { - title: "Calendar Start day", - component: CalendarStartDay, - }, - { - title: "Week Picker", - component: WeekPicker, - }, - { - title: "Exclude Weeks", - component: ExcludeWeeks, - }, - { - title: "External Form", - component: ExternalForm, - }, - ]; - - handleAnchorClick = (e, id) => { - e.preventDefault(); - window.history.replaceState(null, document.title, `#${id}`); - document - .getElementById(id) - .scrollIntoView({ behavior: "smooth", block: "start" }); - }; - - render() { - return ( - <> -

Examples

- -
- {this.examples.map((example) => ( - - ))} -
- - ); - } -} diff --git a/docs-site/src/components/Examples/index.tsx b/docs-site/src/components/Examples/index.tsx new file mode 100644 index 0000000000..792ee4afc3 --- /dev/null +++ b/docs-site/src/components/Examples/index.tsx @@ -0,0 +1,55 @@ +import React from "react"; +import hljs from "highlight.js/lib/core"; +import hljsJavaScriptLanguage from "highlight.js/lib/languages/javascript"; +import slugify from "slugify"; +import CodeExampleComponent from "../Example/index.jsx"; + +import "./style.scss"; +import "react-datepicker/dist/react-datepicker.css"; +import { EXAMPLE_CONFIG } from './config.js'; + +export default class exampleComponents extends React.Component { + componentDidMount() { + hljs.registerLanguage("javascript", hljsJavaScriptLanguage); + hljs.highlightAll(); + } + + handleAnchorClick = (e: React.MouseEvent, id: string): void => { + e.preventDefault(); + window.history.replaceState(null, document.title, `#${id}`); + document.getElementById(id)?.scrollIntoView({ behavior: "smooth", block: "start" }); + }; + + render() { + return ( + <> +

Examples

+ +
+ {EXAMPLE_CONFIG.map((example) => ( + + ))} +
+ + ); + } +} diff --git a/docs-site/src/components/Examples/reset.scss b/docs-site/src/components/Examples/reset.scss index 04a683bf25..72f4a5c1ad 100644 --- a/docs-site/src/components/Examples/reset.scss +++ b/docs-site/src/components/Examples/reset.scss @@ -114,10 +114,10 @@ blockquote { quotes: none; } -q:before, -q:after, -blockquote:before, -blockquote:after { +q::before, +q::after, +blockquote::before, +blockquote::after { content: ""; content: none; } diff --git a/docs-site/src/components/Examples/style.scss b/docs-site/src/components/Examples/style.scss index cb7ad5e36c..9f3fa05280 100644 --- a/docs-site/src/components/Examples/style.scss +++ b/docs-site/src/components/Examples/style.scss @@ -67,6 +67,7 @@ strong { .wrapper { @extend %container-styling; + padding: 20px; } diff --git a/docs-site/src/examples/calendarContainer.js b/docs-site/src/examples/js/calendarContainer.js similarity index 99% rename from docs-site/src/examples/calendarContainer.js rename to docs-site/src/examples/js/calendarContainer.js index 5bb2563024..813d2fbc34 100644 --- a/docs-site/src/examples/calendarContainer.js +++ b/docs-site/src/examples/js/calendarContainer.js @@ -1,5 +1,6 @@ () => { const [startDate, setStartDate] = useState(new Date()); + const MyContainer = ({ className, children }) => { return (
@@ -12,6 +13,7 @@
); }; + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( setStartDate(date)}>
Don't forget to check the weather!
diff --git a/docs-site/src/examples/clearInput.js b/docs-site/src/examples/js/clearInput.js similarity index 99% rename from docs-site/src/examples/clearInput.js rename to docs-site/src/examples/js/clearInput.js index 759304f4f6..3cd1393e3f 100644 --- a/docs-site/src/examples/clearInput.js +++ b/docs-site/src/examples/js/clearInput.js @@ -1,5 +1,6 @@ () => { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( setStartDate(date)} /> diff --git a/docs-site/src/examples/closeOnScrollCallback.js b/docs-site/src/examples/js/closeOnScrollCallback.js similarity index 99% rename from docs-site/src/examples/closeOnScrollCallback.js rename to docs-site/src/examples/js/closeOnScrollCallback.js index d9a3576d34..fd740a1ba5 100644 --- a/docs-site/src/examples/closeOnScrollCallback.js +++ b/docs-site/src/examples/js/closeOnScrollCallback.js @@ -1,5 +1,6 @@ () => { const [startDate, setStartDate] = useState(new Date()); + return ( e.target === document} diff --git a/docs-site/src/examples/configureFloatingUI.js b/docs-site/src/examples/js/configureFloatingUI.js similarity index 99% rename from docs-site/src/examples/configureFloatingUI.js rename to docs-site/src/examples/js/configureFloatingUI.js index eb8311fd73..b6e57b369e 100644 --- a/docs-site/src/examples/configureFloatingUI.js +++ b/docs-site/src/examples/js/configureFloatingUI.js @@ -1,5 +1,6 @@ () => { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + const ExampleCustomInput = forwardRef( ({ value, onClick, className }, ref) => ( ), ); + return ( { const [startDate, setStartDate] = useState(new Date()); - let handleColor = (time) => { + const handleColor = (time) => { return time.getHours() > 12 ? "text-success" : "text-error"; }; diff --git a/docs-site/src/examples/customTimeInput.js b/docs-site/src/examples/js/customTimeInput.js similarity index 99% rename from docs-site/src/examples/customTimeInput.js rename to docs-site/src/examples/js/customTimeInput.js index 4cb543ed05..8288b5f3aa 100644 --- a/docs-site/src/examples/customTimeInput.js +++ b/docs-site/src/examples/js/customTimeInput.js @@ -1,5 +1,6 @@ () => { const [startDate, setStartDate] = useState(new Date()); + const ExampleCustomTimeInput = ({ value, onChange }) => ( ); + return ( { const [startDate, setStartDate] = useState(new Date("2014/02/08")); const [endDate, setEndDate] = useState(new Date("2014/02/10")); + return ( <> { const [dateRange, setDateRange] = useState([null, null]); const [startDate, endDate] = dateRange; + return ( { setDateRange(update); }} + selectsRange isClearable={true} /> ); diff --git a/docs-site/src/examples/dateRangeWithPortal.js b/docs-site/src/examples/js/dateRangeWithPortal.js similarity index 91% rename from docs-site/src/examples/dateRangeWithPortal.js rename to docs-site/src/examples/js/dateRangeWithPortal.js index fa7f5dbed5..22af3c5628 100644 --- a/docs-site/src/examples/dateRangeWithPortal.js +++ b/docs-site/src/examples/js/dateRangeWithPortal.js @@ -1,14 +1,15 @@ () => { const [dateRange, setDateRange] = useState([null, null]); const [startDate, endDate] = dateRange; + return ( { setDateRange(update); }} + selectsRange withPortal /> ); diff --git a/docs-site/src/examples/dateRangeWithShowDisabledNavigation.js b/docs-site/src/examples/js/dateRangeWithShowDisabledNavigation.js similarity index 99% rename from docs-site/src/examples/dateRangeWithShowDisabledNavigation.js rename to docs-site/src/examples/js/dateRangeWithShowDisabledNavigation.js index 1f574fc8e0..f2cb355f45 100644 --- a/docs-site/src/examples/dateRangeWithShowDisabledNavigation.js +++ b/docs-site/src/examples/js/dateRangeWithShowDisabledNavigation.js @@ -1,11 +1,13 @@ () => { const [startDate, setStartDate] = useState(new Date()); const [endDate, setEndDate] = useState(null); + const onChange = (dates) => { const [start, end] = dates; setStartDate(start); setEndDate(end); }; + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( setStartDate(date)} /> ); diff --git a/docs-site/src/examples/disabled.js b/docs-site/src/examples/js/disabled.js similarity index 99% rename from docs-site/src/examples/disabled.js rename to docs-site/src/examples/js/disabled.js index 237316a241..91e23654d5 100644 --- a/docs-site/src/examples/disabled.js +++ b/docs-site/src/examples/js/disabled.js @@ -1,5 +1,6 @@ () => { const [startDate, setStartDate] = useState(null); + return ( { const [startDate, setStartDate] = useState(null); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date("2024-08-01")); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date("2021/02/22")); + return (
- +
); diff --git a/docs-site/src/examples/filterDates.js b/docs-site/src/examples/js/filterDates.js similarity index 99% rename from docs-site/src/examples/filterDates.js rename to docs-site/src/examples/js/filterDates.js index 9eb67a0084..89cbba8316 100644 --- a/docs-site/src/examples/filterDates.js +++ b/docs-site/src/examples/js/filterDates.js @@ -1,9 +1,11 @@ () => { const [startDate, setStartDate] = useState(null); + const isWeekday = (date) => { const day = getDay(date); return day !== 0 && day !== 6; }; + return ( { const currentDate = new Date(); const selectedDate = new Date(time); return currentDate.getTime() < selectedDate.getTime(); }; + return ( { const [startDate, setStartDate] = useState(null); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); + const highlightWithRanges = [ { "react-datepicker__day--highlighted-custom-1": [ @@ -18,6 +19,7 @@ ], }, ]; + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(null); + return ( { const [startDate, setStartDate] = useState(null); + return ( { const [startDate, setStartDate] = useState(1661990400000); + return ( { const [startDate, setStartDate] = useState(new Date()); + return ( { const [startDate, setStartDate] = useState(new Date()); const [isOpen, setIsOpen] = useState(false); + const handleChange = (e) => { setIsOpen(!isOpen); setStartDate(e); }; + const handleClick = (e) => { e.preventDefault(); setIsOpen(!isOpen); }; + return ( <> + + + ); +}; + +render(); +`; + +export default externalFormTS; diff --git a/docs-site/src/examples/ts/filterDates.ts b/docs-site/src/examples/ts/filterDates.ts new file mode 100644 index 0000000000..980504607e --- /dev/null +++ b/docs-site/src/examples/ts/filterDates.ts @@ -0,0 +1,25 @@ +const filterDatesTS = ` +type TFilterDate = (date: Date) => boolean; + +const Example = () => { + const [startDate, setStartDate] = useState(null); + + const isWeekday: TFilterDate = (date) => { + const day = getDay(date); + return day !== 0 && day !== 6; + }; + + return ( + setStartDate(date)} + filterDate={isWeekday} + placeholderText="Select a weekday" + /> + ); +}; + +render(); +`; + +export default filterDatesTS; diff --git a/docs-site/src/examples/ts/filterTimes.ts b/docs-site/src/examples/ts/filterTimes.ts new file mode 100644 index 0000000000..165f4c3803 --- /dev/null +++ b/docs-site/src/examples/ts/filterTimes.ts @@ -0,0 +1,30 @@ +const filterTimesTS = ` +type TFilterTime = (time: Date) => boolean; + +const Example = () => { + const [startDate, setStartDate] = useState( + setHours(setMinutes(new Date(), 0), 9), + ); + + const filterPassedTime: TFilterTime = (time) => { + const currentDate = new Date(); + const selectedDate = new Date(time); + + return currentDate.getTime() < selectedDate.getTime(); + }; + + return ( + setStartDate(date)} + showTimeSelect + filterTime={filterPassedTime} + dateFormat="MMMM d, yyyy h:mm aa" + /> + ); +}; + +render(); +`; + +export default filterTimesTS; diff --git a/docs-site/src/examples/ts/fixedCalendar.ts b/docs-site/src/examples/ts/fixedCalendar.ts new file mode 100644 index 0000000000..a732a7e81b --- /dev/null +++ b/docs-site/src/examples/ts/fixedCalendar.ts @@ -0,0 +1,17 @@ +const fixedCalendarTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(null); + + return ( + setStartDate(date)} + fixedHeight + /> + ); +}; + +render(); +`; + +export default fixedCalendarTS; diff --git a/docs-site/src/examples/ts/hideTimeCaption.ts b/docs-site/src/examples/ts/hideTimeCaption.ts new file mode 100644 index 0000000000..a496d0a7c8 --- /dev/null +++ b/docs-site/src/examples/ts/hideTimeCaption.ts @@ -0,0 +1,21 @@ +const hideTimeCaptionTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + showTimeSelect + showTimeSelectOnly + timeIntervals={15} + dateFormat="h:mm aa" + showTimeCaption={false} + /> + ); +}; + +render(); +`; + +export default hideTimeCaptionTS; diff --git a/docs-site/src/examples/ts/highlightDates.ts b/docs-site/src/examples/ts/highlightDates.ts new file mode 100644 index 0000000000..bec63ab7dd --- /dev/null +++ b/docs-site/src/examples/ts/highlightDates.ts @@ -0,0 +1,29 @@ +const highlightDatesTS = ` +type HighlightDate = { + [className: string]: Date[]; +} + +type THighlightDates = (Date | HighlightDate)[]; + +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + const highlightDates: THighlightDates = [ + subDays(new Date(), 7), + addDays(new Date(), 7), + ]; + + return ( + setStartDate(date)} + highlightDates={highlightDates} + placeholderText="This highlights a week ago and a week from today" + /> + ); +}; + +render(); +`; + +export default highlightDatesTS; diff --git a/docs-site/src/examples/ts/highlightDatesRanges.ts b/docs-site/src/examples/ts/highlightDatesRanges.ts new file mode 100644 index 0000000000..591588f90e --- /dev/null +++ b/docs-site/src/examples/ts/highlightDatesRanges.ts @@ -0,0 +1,43 @@ +const highlightDatesRangesTS = ` +type HighlightDate = { + [className: string]: Date[]; +} + +type THighlightDates = (Date | HighlightDate)[]; + +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + const highlightWithRanges: THighlightDates = [ + { + "react-datepicker__day--highlighted-custom-1": [ + subDays(new Date(), 4), + subDays(new Date(), 3), + subDays(new Date(), 2), + subDays(new Date(), 1), + ], + }, + { + "react-datepicker__day--highlighted-custom-2": [ + addDays(new Date(), 1), + addDays(new Date(), 2), + addDays(new Date(), 3), + addDays(new Date(), 4), + ], + }, + ]; + + return ( + setStartDate(date)} + highlightDates={highlightWithRanges} + placeholderText="This highlight two ranges with custom classes" + /> + ); +}; + +render(); +`; + +export default highlightDatesRangesTS; diff --git a/docs-site/src/examples/ts/holidayDates.ts b/docs-site/src/examples/ts/holidayDates.ts new file mode 100644 index 0000000000..5ed02e1959 --- /dev/null +++ b/docs-site/src/examples/ts/holidayDates.ts @@ -0,0 +1,31 @@ +const holidayDatesTS = ` +type Holiday = { + date: string; + holidayName: string; +} + +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + const holidays: Holiday[] = [ + { date: "2023-08-15", holidayName: "India's Independence Day" }, + { date: "2023-12-31", holidayName: "New Year's Eve" }, + { date: "2023-12-25", holidayName: "Christmas" }, + { date: "2024-01-01", holidayName: "New Year's Day" }, + { date: "2023-11-23", holidayName: "Thanksgiving Day" }, + ]; + + return ( + setStartDate(date)} + holidays={holidays} + placeholderText="This display holidays" + /> + ); +}; + +render(); +`; + +export default holidayDatesTS; diff --git a/docs-site/src/examples/ts/includeDateIntervals.ts b/docs-site/src/examples/ts/includeDateIntervals.ts new file mode 100644 index 0000000000..78496d9964 --- /dev/null +++ b/docs-site/src/examples/ts/includeDateIntervals.ts @@ -0,0 +1,27 @@ +const includeDateIntervalsTS = ` +type TIncludeDateIntervals = { + start: Date; + end: Date; +}[]; + +const Example = () => { + const [startDate, setStartDate] = useState(null); + + const includeDateIntervals: TIncludeDateIntervals = [ + { start: subDays(new Date(), 5), end: addDays(new Date(), 5) }, + ]; + + return ( + setStartDate(date)} + includeDateIntervals={includeDateIntervals} + placeholderText="This only includes dates from 5 days ago to 5 days in the future" + /> + ); +}; + +render(); +`; + +export default includeDateIntervalsTS; diff --git a/docs-site/src/examples/ts/includeDates.ts b/docs-site/src/examples/ts/includeDates.ts new file mode 100644 index 0000000000..4636ecb28d --- /dev/null +++ b/docs-site/src/examples/ts/includeDates.ts @@ -0,0 +1,24 @@ +const includeDatesTS = ` +type TIncludeDates = Date[]; +const Example = () => { + const [startDate, setStartDate] = useState(null); + + const includeDates: TIncludeDates = [ + new Date(), + addDays(new Date(), 1), + ]; + + return ( + setStartDate(date)} + includeDates={includeDates} + placeholderText="This only includes today and tomorrow" + /> + ); +}; + +render(); +`; + +export default includeDatesTS; diff --git a/docs-site/src/examples/ts/includeDatesMonthPicker.ts b/docs-site/src/examples/ts/includeDatesMonthPicker.ts new file mode 100644 index 0000000000..94352c904e --- /dev/null +++ b/docs-site/src/examples/ts/includeDatesMonthPicker.ts @@ -0,0 +1,23 @@ +const includeDatesMonthPickerTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(null); + + const includeDates: Date[] = [ + 1661990400000, 1664582400000, 1667260800000, 1672531200000, + ]; + + return ( + setStartDate(date)} + dateFormat="MM/yyyy" + includeDates={includeDates} + showMonthYearPicker + /> + ); +}; + +render(); +`; + +export default includeDatesMonthPickerTS; diff --git a/docs-site/src/examples/ts/includeTimes.ts b/docs-site/src/examples/ts/includeTimes.ts new file mode 100644 index 0000000000..00b114625c --- /dev/null +++ b/docs-site/src/examples/ts/includeTimes.ts @@ -0,0 +1,28 @@ +const includeTimesTs = ` +const Example = () => { + const [startDate, setStartDate] = useState( + setHours(setMinutes(new Date(), 30), 16), + ); + + const includeTimes: Date[] = [ + setHours(setMinutes(new Date(), 0), 17), + setHours(setMinutes(new Date(), 30), 18), + setHours(setMinutes(new Date(), 30), 19), + setHours(setMinutes(new Date(), 30), 17), + ]; + + return ( + setStartDate(date)} + showTimeSelect + includeTimes={includeTimes} + dateFormat="MMMM d, yyyy h:mm aa" + /> + ); +}; + +render(); +`; + +export default includeTimesTs; diff --git a/docs-site/src/examples/ts/index.ts b/docs-site/src/examples/ts/index.ts new file mode 100644 index 0000000000..ca32a16025 --- /dev/null +++ b/docs-site/src/examples/ts/index.ts @@ -0,0 +1,106 @@ +export { default as calendarContainerTS } from "./calendarContainer"; +export { default as calendarIconTS } from "./calendarIcon"; +export { default as defaultTS } from "./default"; +export { default as calendarIconSvgIconTS } from "./calendarIconSvgIcon"; +export { default as calendarIconExternalTS } from "./calendarIconExternal"; +export { default as calendarStartDayTS } from "./calendarStartDay"; +export { default as onCalendarOpenStateCallbacksTS } from "./onCalendarOpenStateCallbacks"; +export { default as toggleCalendarOnIconClickTS } from "./toggleCalendarOnIconClick"; +export { default as childrenTS } from "./children"; +export { default as clearInputTS } from "./clearInput"; +export { default as closeOnScrollTS } from "./closeOnScroll"; +export { default as closeOnScrollCallbackTS } from "./closeOnScrollCallback"; +export { default as configureFloatingUIS } from "./configureFloatingUI"; +export { default as customInputTS } from "./customInput"; +export { default as renderCustomHeaderTS } from "./renderCustomHeader"; +export { default as renderCustomHeaderTwoMonthsTS } from "./renderCustomHeaderTwoMonths"; +export { default as renderCustomDayTS } from "./renderCustomDay"; +export { default as renderCustomMonthTS } from "./renderCustomMonth"; +export { default as renderCustomQuarterTS } from "./renderCustomQuarter"; +export { default as renderCustomYearTS } from "./renderCustomYear"; +export { default as customCalendarClassNameTS } from "./customCalendarClassName"; +export { default as customClassNameTS } from "./customClassName"; +export { default as customDayClassNameTS } from "./customDayClassName"; +export { default as customDateFormatTS } from "./customDateFormat"; +export { default as customTimeClassNameTS } from "./customTimeClassName"; +export { default as customTimeInputTS } from "./customTimeInput"; +export { default as dateRangeTS } from "./dateRange"; +export { default as selectsRangeTS } from "./selectsRange"; +export { default as selectsRangeWithDisabledDatesTS } from "./selectsRangeWithDisabledDates"; +export { default as dateRangeWithShowDisabledNavigationTS } from "./dateRangeWithShowDisabledNavigation"; +export { default as dateRangeInputWithClearButtonTS } from "./dateRangeInputWithClearButton"; +export { default as dateRangeWithPortalTS } from "./dateRangeWithPortal"; +export { default as disabledTS } from "./disabled"; +export { default as disabledKeyboardNavigationTS } from "./disabledKeyboardNavigation"; +export { default as weekNumbersTS } from "./weekNumbers"; +export { default as dontCloseOnSelectTS } from "./dontCloseOnSelect"; +export { default as excludeDatesTS } from "./excludeDates"; +export { default as excludeDatesWithMessageTS } from "./excludeDatesWithMessage"; +export { default as excludeDateIntervalsTS } from "./excludeDateIntervals"; +export { default as excludeDatesMonthPickerTS } from "./excludeDatesMonthPicker"; +export { default as excludeDatesRangeMonthPickerTS } from "./excludeDatesRangeMonthPicker"; +export { default as excludeTimesTS } from "./excludeTimes"; +export { default as filterDatesTS } from "./filterDates"; +export { default as filterTimesTS } from "./filterTimes"; +export { default as fixedCalendarTS } from "./fixedCalendar"; +export { default as rawChangeTS } from "./rawChange"; +export { default as highlightDatesTS } from "./highlightDates"; +export { default as highlightDatesRangesTS } from "./highlightDatesRanges"; +export { default as holidayDatesTS } from "./holidayDates"; +export { default as includeDatesTS } from "./includeDates"; +export { default as includeDateIntervalsTS } from "./includeDateIntervals"; +export { default as includeDatesMonthPickerTS } from "./includeDatesMonthPicker"; +export { default as includeTimesTS } from "./includeTimes"; +export { default as injectTimesTS } from "./injectTimes"; +export { default as inlineTS } from "./inline"; +export { default as inlineVisibleTS } from "./inlineVisible"; +export { default as timeInputTS } from "./timeInput"; +export { default as localeTS } from "./locale"; +export { default as localeWithTimeTS } from "./localeWithTime"; +export { default as localeWithoutGlobalVariableTS } from "./localeWithoutGlobalVariable"; +export { default as minDateTS } from "./minDate"; +export { default as maxDateTS } from "./maxDate"; +export { default as monthPickerTS } from "./monthPicker"; +export { default as monthPickerFullNameTS } from "./monthPickerFullName"; +export { default as monthPickerTwoColumnsTS } from "./monthPickerTwoColumns"; +export { default as monthPickerFourColumnsTS } from "./monthPickerFourColumns"; +export { default as monthDropdownTS } from "./monthDropdown"; +export { default as monthDropdownShortTS } from "./monthDropdownShort"; +export { default as monthYearDropdownTS } from "./monthYearDropdown"; +export { default as multiMonthTS } from "./multiMonth"; +export { default as multiMonthDropdownTS } from "./multiMonthDropdown"; +export { default as multiMonthInlineTS } from "./multiMonthInline"; +export { default as noAnchorArrowTS } from "./noAnchorArrow"; +export { default as onBlurCallbacksTS } from "./onBlurCallbacks"; +export { default as openToDateTS } from "./openToDate"; +export { default as placeholderTextTS } from "./placeholderText"; +export { default as portalTS } from "./portal"; +export { default as portalByIdTS } from "./portalById"; +export { default as withPortalByIdTS } from "./withPortalById"; +export { default as quarterPickerTS } from "./quarterPicker"; +export { default as rangeMonthPickerTS } from "./rangeMonthPicker"; +export { default as rangeMonthPickerSelectsRangeTS } from "./rangeMonthPickerSelectsRange"; +export { default as rangeQuarterPickerTS } from "./rangeQuarterPicker"; +export { default as rangeQuarterPickerSelectsRangeTS } from "./rangeQuarterPickerSelectsRange"; +export { default as rangeSwapRangeTS } from "./rangeSwapRange"; +export { default as readOnlyTS } from "./readOnly"; +export { default as showTimeTS } from "./showTime"; +export { default as showTimeOnlyTS } from "./showTimeOnly"; +export { default as hideTimeCaptionTS } from "./hideTimeCaption"; +export { default as multiMonthPreviousTS } from "./multiMonthPrevious"; +export { default as specificDateRangeTS } from "./specificDateRange"; +export { default as excludeTimePeriodTS } from "./excludeTimePeriod"; +export { default as selectsMultipleTS } from "./selectsMultiple"; +export { default as selectsMultipleMonthsTS } from "./selectsMultipleMonths"; +export { default as strictParsingTS } from "./strictParsing"; +export { default as tabIndexTS } from "./tabIndex"; +export { default as todayTS } from "./today"; +export { default as yearPickerTS } from "./yearPicker"; +export { default as rangeYearPickerTS } from "./rangeYearPicker"; +export { default as rangeYearPickerSelectsRangeTS } from "./rangeYearPickerSelectsRange"; +export { default as yearDropdownTS } from "./yearDropdown"; +export { default as yearSelectDropdownTS } from "./yearSelectDropdown"; +export { default as yearItemNumberTS } from "./yearItemNumber"; +export { default as weekPickerTS } from "./weekPicker"; +export { default as excludeWeeksTS } from "./excludeWeeks"; +export { default as externalFormTS } from "./externalForm"; diff --git a/docs-site/src/examples/ts/injectTimes.ts b/docs-site/src/examples/ts/injectTimes.ts new file mode 100644 index 0000000000..9fc3e8606c --- /dev/null +++ b/docs-site/src/examples/ts/injectTimes.ts @@ -0,0 +1,28 @@ +const injectTimesTS = ` +const Example = () => { + const [startDate, setStartDate] = useState( + setHours(setMinutes(new Date(), 30), 16), + ); + + const injectTimes: Date[] = [ + setHours(setMinutes(setSeconds(new Date(), 10), 1), 0), + setHours(setMinutes(new Date(), 5), 12), + setHours(setMinutes(new Date(), 59), 23), + ]; + + return ( + setStartDate(date)} + showTimeSelect + timeFormat="HH:mm:ss" + injectTimes={injectTimes} + dateFormat="MMMM d, yyyy h:mm aa" + /> + ); +}; + +render(); +`; + +export default injectTimesTS; diff --git a/docs-site/src/examples/ts/inline.ts b/docs-site/src/examples/ts/inline.ts new file mode 100644 index 0000000000..fffdff62e7 --- /dev/null +++ b/docs-site/src/examples/ts/inline.ts @@ -0,0 +1,17 @@ +const inlineTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + inline + /> + ); +}; + +render(); +`; + +export default inlineTS; diff --git a/docs-site/src/examples/ts/inlineVisible.ts b/docs-site/src/examples/ts/inlineVisible.ts new file mode 100644 index 0000000000..7f46d2e499 --- /dev/null +++ b/docs-site/src/examples/ts/inlineVisible.ts @@ -0,0 +1,31 @@ +const inlineVisibleTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + const [isOpen, setIsOpen] = useState(false); + + const handleChange = (e: Date | null) => { + setIsOpen(!isOpen); + setStartDate(e); + }; + + const handleClick = (e: React.MouseEvent) => { + e.preventDefault(); + setIsOpen(!isOpen); + }; + + return ( + <> + + {isOpen && ( + + )} + + ); +}; + +render(); +`; + +export default inlineVisibleTS; diff --git a/docs-site/src/examples/ts/locale.ts b/docs-site/src/examples/ts/locale.ts new file mode 100644 index 0000000000..919133db99 --- /dev/null +++ b/docs-site/src/examples/ts/locale.ts @@ -0,0 +1,18 @@ +const localeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + locale="en-GB" + placeholderText="Weeks start on Monday" + /> + ); +}; + +render(); +`; + +export default localeTS; diff --git a/docs-site/src/examples/ts/localeWithTime.ts b/docs-site/src/examples/ts/localeWithTime.ts new file mode 100644 index 0000000000..a9816fe5b6 --- /dev/null +++ b/docs-site/src/examples/ts/localeWithTime.ts @@ -0,0 +1,21 @@ +const localeWithTimeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + locale="pt-BR" + showTimeSelect + timeFormat="p" + timeIntervals={15} + dateFormat="Pp" + /> + ); +}; + +render(); +`; + +export default localeWithTimeTS; diff --git a/docs-site/src/examples/ts/localeWithoutGlobalVariable.ts b/docs-site/src/examples/ts/localeWithoutGlobalVariable.ts new file mode 100644 index 0000000000..4f4aa06b5e --- /dev/null +++ b/docs-site/src/examples/ts/localeWithoutGlobalVariable.ts @@ -0,0 +1,17 @@ +const localeWithoutGlobalVariableTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + locale={fi} + /> + ); +}; + +render(); +`; + +export default localeWithoutGlobalVariableTS; diff --git a/docs-site/src/examples/ts/maxDate.ts b/docs-site/src/examples/ts/maxDate.ts new file mode 100644 index 0000000000..31a03fddc8 --- /dev/null +++ b/docs-site/src/examples/ts/maxDate.ts @@ -0,0 +1,18 @@ +const maxDateTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + maxDate={addDays(new Date(), 5)} + placeholderText="Select a date before 5 days in the future" + /> + ); +}; + +render(); +`; + +export default maxDateTS; diff --git a/docs-site/src/examples/ts/minDate.ts b/docs-site/src/examples/ts/minDate.ts new file mode 100644 index 0000000000..cc58b8b7c1 --- /dev/null +++ b/docs-site/src/examples/ts/minDate.ts @@ -0,0 +1,18 @@ +const minDateTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(null); + + return ( + setStartDate(date)} + minDate={subDays(new Date(), 5)} + placeholderText="Select a date after 5 days ago" + /> + ); +}; + +render(); +`; + +export default minDateTS; diff --git a/docs-site/src/examples/ts/monthDropdown.ts b/docs-site/src/examples/ts/monthDropdown.ts new file mode 100644 index 0000000000..e2d898613f --- /dev/null +++ b/docs-site/src/examples/ts/monthDropdown.ts @@ -0,0 +1,17 @@ +const monthDropdownTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + showMonthDropdown + /> + ); +}; + +render(); +`; + +export default monthDropdownTS; diff --git a/docs-site/src/examples/ts/monthDropdownShort.ts b/docs-site/src/examples/ts/monthDropdownShort.ts new file mode 100644 index 0000000000..eb3317bcaf --- /dev/null +++ b/docs-site/src/examples/ts/monthDropdownShort.ts @@ -0,0 +1,18 @@ +const monthDropdownShortTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + showMonthDropdown + useShortMonthInDropdown + /> + ); +}; + +render(); +`; + +export default monthDropdownShortTS; diff --git a/docs-site/src/examples/ts/monthPicker.ts b/docs-site/src/examples/ts/monthPicker.ts new file mode 100644 index 0000000000..87432655b3 --- /dev/null +++ b/docs-site/src/examples/ts/monthPicker.ts @@ -0,0 +1,18 @@ +const monthPickerTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + dateFormat="MM/yyyy" + showMonthYearPicker + /> + ); +}; + +render(); +`; + +export default monthPickerTS; diff --git a/docs-site/src/examples/ts/monthPickerFourColumns.ts b/docs-site/src/examples/ts/monthPickerFourColumns.ts new file mode 100644 index 0000000000..2f12abe8b7 --- /dev/null +++ b/docs-site/src/examples/ts/monthPickerFourColumns.ts @@ -0,0 +1,20 @@ +const monthPickerFourColumnsTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + dateFormat="MM/yyyy" + showMonthYearPicker + showFullMonthYearPicker + showFourColumnMonthYearPicker + /> + ); +}; + +render(); +`; + +export default monthPickerFourColumnsTS; diff --git a/docs-site/src/examples/ts/monthPickerFullName.ts b/docs-site/src/examples/ts/monthPickerFullName.ts new file mode 100644 index 0000000000..f37533316d --- /dev/null +++ b/docs-site/src/examples/ts/monthPickerFullName.ts @@ -0,0 +1,19 @@ +const monthPickerFullNameTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + dateFormat="MM/yyyy" + showMonthYearPicker + showFullMonthYearPicker + /> + ); +}; + +render(); +`; + +export default monthPickerFullNameTS; diff --git a/docs-site/src/examples/ts/monthPickerTwoColumns.ts b/docs-site/src/examples/ts/monthPickerTwoColumns.ts new file mode 100644 index 0000000000..498948c673 --- /dev/null +++ b/docs-site/src/examples/ts/monthPickerTwoColumns.ts @@ -0,0 +1,20 @@ +const monthPickerTwoColumnsTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + dateFormat="MM/yyyy" + showMonthYearPicker + showFullMonthYearPicker + showTwoColumnMonthYearPicker + /> + ); +}; + +render(); +`; + +export default monthPickerTwoColumnsTS; diff --git a/docs-site/src/examples/ts/monthYearDropdown.ts b/docs-site/src/examples/ts/monthYearDropdown.ts new file mode 100644 index 0000000000..907117474e --- /dev/null +++ b/docs-site/src/examples/ts/monthYearDropdown.ts @@ -0,0 +1,20 @@ +const monthYearDropdownTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + dateFormatCalendar={"MMM yyyy"} + minDate={subMonths(new Date(), 6)} + maxDate={addMonths(new Date(), 6)} + showMonthYearDropdown + /> + ); +}; + +render(); +`; + +export default monthYearDropdownTS; diff --git a/docs-site/src/examples/ts/multiMonth.ts b/docs-site/src/examples/ts/multiMonth.ts new file mode 100644 index 0000000000..3c39daa295 --- /dev/null +++ b/docs-site/src/examples/ts/multiMonth.ts @@ -0,0 +1,17 @@ +const multiMonthTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + monthsShown={2} + /> + ); +}; + +render(); +`; + +export default multiMonthTS; diff --git a/docs-site/src/examples/ts/multiMonthDropdown.ts b/docs-site/src/examples/ts/multiMonthDropdown.ts new file mode 100644 index 0000000000..697090ea90 --- /dev/null +++ b/docs-site/src/examples/ts/multiMonthDropdown.ts @@ -0,0 +1,18 @@ +const multiMonthDropdownTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + monthsShown={2} + showYearDropdown + /> + ); +}; + +render(); +`; + +export default multiMonthDropdownTS; diff --git a/docs-site/src/examples/ts/multiMonthInline.ts b/docs-site/src/examples/ts/multiMonthInline.ts new file mode 100644 index 0000000000..55752c34ed --- /dev/null +++ b/docs-site/src/examples/ts/multiMonthInline.ts @@ -0,0 +1,18 @@ +const multiMonthInlineTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + monthsShown={2} + inline + /> + ); +}; + +render(); +`; + +export default multiMonthInlineTS; diff --git a/docs-site/src/examples/ts/multiMonthPrevious.ts b/docs-site/src/examples/ts/multiMonthPrevious.ts new file mode 100644 index 0000000000..12627cecdb --- /dev/null +++ b/docs-site/src/examples/ts/multiMonthPrevious.ts @@ -0,0 +1,18 @@ +const multiMonthPreviousTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + monthsShown={2} + /> + ); +}; + +render(); +`; + +export default multiMonthPreviousTS; diff --git a/docs-site/src/examples/ts/noAnchorArrow.ts b/docs-site/src/examples/ts/noAnchorArrow.ts new file mode 100644 index 0000000000..17dde3a775 --- /dev/null +++ b/docs-site/src/examples/ts/noAnchorArrow.ts @@ -0,0 +1,17 @@ +const noAnchorArrowTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + /> + ); +}; + +render(); +`; + +export default noAnchorArrowTS; diff --git a/docs-site/src/examples/ts/onBlurCallbacks.ts b/docs-site/src/examples/ts/onBlurCallbacks.ts new file mode 100644 index 0000000000..1059dfc767 --- /dev/null +++ b/docs-site/src/examples/ts/onBlurCallbacks.ts @@ -0,0 +1,28 @@ +const onBlurCallbacksTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(null); + + const handleOnBlur = ({ target: { value } }: React.FocusEvent) => { + const date = new Date(value); + if (isValid(date)) { + console.log("date: %s", format(date, "dd/MM/yyyy")); + } else { + console.log("value: %s", date); + } + }; + + return ( + setStartDate(date)} + onBlur={handleOnBlur} + placeholderText="View blur callbacks in console" + /> + ); +}; + +render(); +`; + +export default onBlurCallbacksTS; diff --git a/docs-site/src/examples/ts/onCalendarOpenStateCallbacks.ts b/docs-site/src/examples/ts/onCalendarOpenStateCallbacks.ts new file mode 100644 index 0000000000..5b90d15fe8 --- /dev/null +++ b/docs-site/src/examples/ts/onCalendarOpenStateCallbacks.ts @@ -0,0 +1,21 @@ +const onCalendarOpenStateCallbacksTS = ` +const Example = () => { + const [date, setDate] = useState(new Date()); + + const handleCalendarClose = () => console.log("Calendar closed"); + const handleCalendarOpen = () => console.log("Calendar opened"); + + return ( + setDate(date)} + onCalendarClose={handleCalendarClose} + onCalendarOpen={handleCalendarOpen} + /> + ); +}; + +render(); +`; + +export default onCalendarOpenStateCallbacksTS; diff --git a/docs-site/src/examples/ts/openToDate.ts b/docs-site/src/examples/ts/openToDate.ts new file mode 100644 index 0000000000..730ffa3083 --- /dev/null +++ b/docs-site/src/examples/ts/openToDate.ts @@ -0,0 +1,17 @@ +const openToDateTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(null); + + return ( + setStartDate(date)} + openToDate={new Date("1993/09/28")} + /> + ); +}; + +render(); +`; + +export default openToDateTS; diff --git a/docs-site/src/examples/ts/placeholderText.ts b/docs-site/src/examples/ts/placeholderText.ts new file mode 100644 index 0000000000..7ac0df4400 --- /dev/null +++ b/docs-site/src/examples/ts/placeholderText.ts @@ -0,0 +1,9 @@ +const placeholderTextTS = ` +const Example = () => { + return ; +}; + +render(); +`; + +export default placeholderTextTS; diff --git a/docs-site/src/examples/ts/portal.ts b/docs-site/src/examples/ts/portal.ts new file mode 100644 index 0000000000..98763c3300 --- /dev/null +++ b/docs-site/src/examples/ts/portal.ts @@ -0,0 +1,17 @@ +const portalTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + withPortal + /> + ); +}; + +render(); +`; + +export default portalTS; diff --git a/docs-site/src/examples/ts/portalById.ts b/docs-site/src/examples/ts/portalById.ts new file mode 100644 index 0000000000..9e1463df3b --- /dev/null +++ b/docs-site/src/examples/ts/portalById.ts @@ -0,0 +1,17 @@ +const portalByIdTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + portalId="root-portal" + /> + ); +}; + +render(); +`; + +export default portalByIdTS; diff --git a/docs-site/src/examples/ts/quarterPicker.ts b/docs-site/src/examples/ts/quarterPicker.ts new file mode 100644 index 0000000000..a5de662e8a --- /dev/null +++ b/docs-site/src/examples/ts/quarterPicker.ts @@ -0,0 +1,18 @@ +const quarterPickerTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + dateFormat="yyyy, QQQ" + showQuarterYearPicker + /> + ); +}; + +render(); +`; + +export default quarterPickerTS; diff --git a/docs-site/src/examples/ts/rangeMonthPicker.ts b/docs-site/src/examples/ts/rangeMonthPicker.ts new file mode 100644 index 0000000000..71f589bfd5 --- /dev/null +++ b/docs-site/src/examples/ts/rangeMonthPicker.ts @@ -0,0 +1,33 @@ +const rangeMonthPickerTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date("2014/02/08")); + const [endDate, setEndDate] = useState(new Date("2014/04/08")); + + return ( + <> + setStartDate(date)} + selectsStart + startDate={startDate} + endDate={endDate} + dateFormat="MM/yyyy" + showMonthYearPicker + /> + setEndDate(date)} + selectsEnd + startDate={startDate} + endDate={endDate} + dateFormat="MM/yyyy" + showMonthYearPicker + /> + + ); +}; + +render(); +`; + +export default rangeMonthPickerTS; diff --git a/docs-site/src/examples/ts/rangeMonthPickerSelectsRange.ts b/docs-site/src/examples/ts/rangeMonthPickerSelectsRange.ts new file mode 100644 index 0000000000..1a562b6cd5 --- /dev/null +++ b/docs-site/src/examples/ts/rangeMonthPickerSelectsRange.ts @@ -0,0 +1,27 @@ +const rangeMonthPickerSelectsRangeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date("2014/02/08")); + const [endDate, setEndDate] = useState(null); + + const handleChange = ([newStartDate, newEndDate]: [Date | null, Date | null]) => { + setStartDate(newStartDate); + setEndDate(newEndDate); + }; + + return ( + + ); +}; + +render(); +`; + +export default rangeMonthPickerSelectsRangeTS; diff --git a/docs-site/src/examples/ts/rangeQuarterPicker.ts b/docs-site/src/examples/ts/rangeQuarterPicker.ts new file mode 100644 index 0000000000..59f5408ca1 --- /dev/null +++ b/docs-site/src/examples/ts/rangeQuarterPicker.ts @@ -0,0 +1,33 @@ +const rangeQuarterPickerTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date("2014/02/08")); + const [endDate, setEndDate] = useState(new Date("2014/07/08")); + + return ( + <> + setStartDate(date)} + selectsStart + startDate={startDate} + endDate={endDate} + dateFormat="yyyy, QQQ" + showQuarterYearPicker + /> + setEndDate(date)} + selectsEnd + startDate={startDate} + endDate={endDate} + dateFormat="yyyy, QQQ" + showQuarterYearPicker + /> + + ); +}; + +render(); +`; + +export default rangeQuarterPickerTS; diff --git a/docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.ts b/docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.ts new file mode 100644 index 0000000000..36f9adfcf9 --- /dev/null +++ b/docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.ts @@ -0,0 +1,27 @@ +const rangeQuarterPickerSelectsRangeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date("2014/02/08")); + const [endDate, setEndDate] = useState(null); + + const handleChange = ([newStartDate, newEndDate]: [Date | null, Date | null]) => { + setStartDate(newStartDate); + setEndDate(newEndDate); + }; + + return ( + + ); +}; + +render(); +`; + +export default rangeQuarterPickerSelectsRangeTS; diff --git a/docs-site/src/examples/ts/rangeSwapRange.ts b/docs-site/src/examples/ts/rangeSwapRange.ts new file mode 100644 index 0000000000..207e2275b7 --- /dev/null +++ b/docs-site/src/examples/ts/rangeSwapRange.ts @@ -0,0 +1,37 @@ +const rangeSwapRangeTS = ` +type TExcludeDates = { + date: Date; + message?: string; +}[] | Date[]; + +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + const [endDate, setEndDate] = useState(null); + + const onChange = (dates: [Date | null, Date | null]) => { + const [start, end] = dates; + setStartDate(start); + setEndDate(end); + }; + + const excludeDates: TExcludeDates = [addDays(new Date(), 1), addDays(new Date(), 5)] + + return ( + + ); +}; + +render(); +`; + +export default rangeSwapRangeTS; diff --git a/docs-site/src/examples/ts/rangeYearPicker.ts b/docs-site/src/examples/ts/rangeYearPicker.ts new file mode 100644 index 0000000000..b20ac57b48 --- /dev/null +++ b/docs-site/src/examples/ts/rangeYearPicker.ts @@ -0,0 +1,33 @@ +const rangeYearPickerTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date("2014/02/08")); + const [endDate, setEndDate] = useState(new Date("2024/04/08")); + + return ( + <> + setStartDate(date)} + selectsStart + startDate={startDate} + endDate={endDate} + dateFormat="yyyy" + showYearPicker + /> + setEndDate(date)} + selectsEnd + startDate={startDate} + endDate={endDate} + dateFormat="yyyy" + showYearPicker + /> + + ); +}; + +render(); +`; + +export default rangeYearPickerTS; diff --git a/docs-site/src/examples/ts/rangeYearPickerSelectsRange.ts b/docs-site/src/examples/ts/rangeYearPickerSelectsRange.ts new file mode 100644 index 0000000000..1294b1ad3e --- /dev/null +++ b/docs-site/src/examples/ts/rangeYearPickerSelectsRange.ts @@ -0,0 +1,27 @@ +const rangeYearPickerSelectsRangeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date("2014/02/08")); + const [endDate, setEndDate] = useState(null); + + const handleChange = ([newStartDate, newEndDate]: [Date | null, Date | null]) => { + setStartDate(newStartDate); + setEndDate(newEndDate); + }; + + return ( + + ); +}; + +render(); +`; + +export default rangeYearPickerSelectsRangeTS; diff --git a/docs-site/src/examples/ts/rawChange.ts b/docs-site/src/examples/ts/rawChange.ts new file mode 100644 index 0000000000..acca77166f --- /dev/null +++ b/docs-site/src/examples/ts/rawChange.ts @@ -0,0 +1,24 @@ +const rawChangeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(null); + + const handleChangeRaw = (value: string) => { + if (value === "tomorrow") { + setStartDate(addDays(new Date(), 1)); + } + }; + + return ( + setStartDate(date)} + placeholderText='Enter "tomorrow"' + onChangeRaw={(event: React.MouseEvent | React.KeyboardEvent) => handleChangeRaw(event.target.value)} + /> + ); +}; + +render(); +`; + +export default rawChangeTS; diff --git a/docs-site/src/examples/ts/readOnly.ts b/docs-site/src/examples/ts/readOnly.ts new file mode 100644 index 0000000000..ab91fe18fb --- /dev/null +++ b/docs-site/src/examples/ts/readOnly.ts @@ -0,0 +1,18 @@ +const readOnlyTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(null); + + return ( + setStartDate(date)} + placeholderText="This is readOnly" + readOnly + /> + ); +}; + +render(); +`; + +export default readOnlyTS; diff --git a/docs-site/src/examples/ts/renderCustomDay.ts b/docs-site/src/examples/ts/renderCustomDay.ts new file mode 100644 index 0000000000..d916f92a05 --- /dev/null +++ b/docs-site/src/examples/ts/renderCustomDay.ts @@ -0,0 +1,23 @@ +const RenderCustomDayTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + const renderDayContents = (day: number, date: Date): React.ReactNode => { + const tooltipText = \`Tooltip for date: \${date}\`; + + return {getDate(date)}; + }; + + return ( + setStartDate(date)} + renderDayContents={renderDayContents} + /> + ); +}; + +render(); +`; + +export default RenderCustomDayTS; diff --git a/docs-site/src/examples/ts/renderCustomHeader.ts b/docs-site/src/examples/ts/renderCustomHeader.ts new file mode 100644 index 0000000000..2d00577f0e --- /dev/null +++ b/docs-site/src/examples/ts/renderCustomHeader.ts @@ -0,0 +1,85 @@ +const renderCustomHeaderTS = ` + +const MONTHS = [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", +] as const; + +const years = range(1990, getYear(new Date()) + 1, 1); + +const CustomHeader = ({ + date, + changeYear, + changeMonth, + decreaseMonth, + increaseMonth, + prevMonthButtonDisabled, + nextMonthButtonDisabled, +}: ReactDatePickerCustomHeaderProps) => ( +
+ + + + + + +
+); + + +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + /> + ); +}; + +render(); +`; + +export default renderCustomHeaderTS; diff --git a/docs-site/src/examples/ts/renderCustomHeaderTwoMonths.ts b/docs-site/src/examples/ts/renderCustomHeaderTwoMonths.ts new file mode 100644 index 0000000000..4790ea38f7 --- /dev/null +++ b/docs-site/src/examples/ts/renderCustomHeaderTwoMonths.ts @@ -0,0 +1,67 @@ +const renderCustomHeaderTwoMonthsTS = ` + +const CustomHeader = ({ + monthDate, + customHeaderCount, + decreaseMonth, + increaseMonth, +}: ReactDatePickerCustomHeaderProps) => ( +
+ + + {monthDate.toLocaleString("en-US", { + month: "long", + year: "numeric", + })} + + +
+); + +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + monthsShown={2} + /> + ); +}; + +render(); +`; + +export default renderCustomHeaderTwoMonthsTS; diff --git a/docs-site/src/examples/ts/renderCustomMonth.ts b/docs-site/src/examples/ts/renderCustomMonth.ts new file mode 100644 index 0000000000..cc98f93f46 --- /dev/null +++ b/docs-site/src/examples/ts/renderCustomMonth.ts @@ -0,0 +1,23 @@ +const RenderCustomMonthTS = ` +const Example = () => { + const renderMonthContent = (month: number, shortMonth: string, longMonth: string, day: Date): React.ReactNode => { + const fullYear = new Date(day).getFullYear(); + const tooltipText = \`Tooltip for month: \${longMonth} \${fullYear}\`; + + return {shortMonth}; + }; + + return ( + + ); +}; + +render(); +`; + +export default RenderCustomMonthTS; diff --git a/docs-site/src/examples/ts/renderCustomQuarter.ts b/docs-site/src/examples/ts/renderCustomQuarter.ts new file mode 100644 index 0000000000..cf29164e39 --- /dev/null +++ b/docs-site/src/examples/ts/renderCustomQuarter.ts @@ -0,0 +1,22 @@ +const RenderCustomQuarterTS = ` +const Example = () => { + const renderQuarterContent = (quarter: number, shortQuarter: string): React.ReactNode => { + const tooltipText = \`Tooltip for quarter: \${quarter}\`; + + return {shortQuarter}; + }; + + return ( + + ); +}; + +render(); +`; + +export default RenderCustomQuarterTS; diff --git a/docs-site/src/examples/ts/renderCustomYear.ts b/docs-site/src/examples/ts/renderCustomYear.ts new file mode 100644 index 0000000000..90c13e2607 --- /dev/null +++ b/docs-site/src/examples/ts/renderCustomYear.ts @@ -0,0 +1,21 @@ +const RenderCustomYearTS = ` +const Example = () => { + const renderYearContent = (year: number): React.ReactNode => { + const tooltipText = \`Tooltip for year: \${year}\`; + return {year}; + }; + + return ( + + ); +}; + +render(); +`; + +export default RenderCustomYearTS; diff --git a/docs-site/src/examples/ts/selectsMultiple.ts b/docs-site/src/examples/ts/selectsMultiple.ts new file mode 100644 index 0000000000..70d228af44 --- /dev/null +++ b/docs-site/src/examples/ts/selectsMultiple.ts @@ -0,0 +1,23 @@ +const selectsMultipleTS = ` +const Example = () => { + const [selectedDates, setSelectedDates] = useState([new Date()]); + + const onChange = (dates: Date[] | null) => { + setSelectedDates(dates); + }; + + return ( + + ); +}; + +render(); +`; + +export default selectsMultipleTS; diff --git a/docs-site/src/examples/ts/selectsMultipleMonths.ts b/docs-site/src/examples/ts/selectsMultipleMonths.ts new file mode 100644 index 0000000000..e9f2974b63 --- /dev/null +++ b/docs-site/src/examples/ts/selectsMultipleMonths.ts @@ -0,0 +1,25 @@ +const selectsMultipleMonthsTS = ` +const Example = () => { + const [selectedDates, setSelectedDates] = useState(null); + + const onChange = (dates: Date[] | null) => { + setSelectedDates(dates); + }; + + return ( + + ); +}; + +render(); +`; + +export default selectsMultipleMonthsTS; diff --git a/docs-site/src/examples/ts/selectsRange.ts b/docs-site/src/examples/ts/selectsRange.ts new file mode 100644 index 0000000000..2297a0eb01 --- /dev/null +++ b/docs-site/src/examples/ts/selectsRange.ts @@ -0,0 +1,27 @@ +const SelectsRangeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + const [endDate, setEndDate] = useState(null); + + const onChange = (dates: [Date | null, Date | null]) => { + const [start, end] = dates; + setStartDate(start); + setEndDate(end); + }; + + return ( + + ); +}; + +render(); +`; + +export default SelectsRangeTS; diff --git a/docs-site/src/examples/ts/selectsRangeWithDisabledDates.ts b/docs-site/src/examples/ts/selectsRangeWithDisabledDates.ts new file mode 100644 index 0000000000..3cf6de92c4 --- /dev/null +++ b/docs-site/src/examples/ts/selectsRangeWithDisabledDates.ts @@ -0,0 +1,36 @@ +const SelectsRangeWithDisabledDatesTS = ` +type TExcludeDate = { + date: Date; + message?: string; +}[] | Date[]; + +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + const [endDate, setEndDate] = useState(null); + + const onChange = (dates: [Date | null, Date | null]) => { + const [start, end] = dates; + setStartDate(start); + setEndDate(end); + }; + + const excludeDates: TExcludeDate = [addDays(new Date(), 1), addDays(new Date(), 5)]; + + return ( + + ); +}; + +render(); +`; + +export default SelectsRangeWithDisabledDatesTS; diff --git a/docs-site/src/examples/ts/showTime.ts b/docs-site/src/examples/ts/showTime.ts new file mode 100644 index 0000000000..ea86f0a7b6 --- /dev/null +++ b/docs-site/src/examples/ts/showTime.ts @@ -0,0 +1,21 @@ +const showTimeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + showTimeSelect + timeFormat="HH:mm" + timeIntervals={15} + timeCaption="time" + dateFormat="MMMM d, yyyy h:mm aa" + /> + ); +}; + +render(); +`; + +export default showTimeTS; diff --git a/docs-site/src/examples/ts/showTimeOnly.ts b/docs-site/src/examples/ts/showTimeOnly.ts new file mode 100644 index 0000000000..4014d1a187 --- /dev/null +++ b/docs-site/src/examples/ts/showTimeOnly.ts @@ -0,0 +1,21 @@ +const showTimeReadonlyTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + showTimeSelect + showTimeSelectOnly + timeIntervals={15} + timeCaption="Time" + dateFormat="h:mm aa" + /> + ); +}; + +render(); +`; + +export default showTimeReadonlyTS; diff --git a/docs-site/src/examples/ts/specificDateRange.ts b/docs-site/src/examples/ts/specificDateRange.ts new file mode 100644 index 0000000000..91fef2b380 --- /dev/null +++ b/docs-site/src/examples/ts/specificDateRange.ts @@ -0,0 +1,19 @@ +const specificDateRangeTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(null); + + return ( + setStartDate(date)} + minDate={new Date()} + maxDate={addDays(new Date(), 5)} + placeholderText="Select a date between today and 5 days in the future" + /> + ); +}; + +render(); +`; + +export default specificDateRangeTS; diff --git a/docs-site/src/examples/ts/strictParsing.ts b/docs-site/src/examples/ts/strictParsing.ts new file mode 100644 index 0000000000..196de886e0 --- /dev/null +++ b/docs-site/src/examples/ts/strictParsing.ts @@ -0,0 +1,17 @@ +const strictParsingTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + strictParsing + /> + ); +}; + +render(); +`; + +export default strictParsingTS; diff --git a/docs-site/src/examples/ts/tabIndex.ts b/docs-site/src/examples/ts/tabIndex.ts new file mode 100644 index 0000000000..336841df74 --- /dev/null +++ b/docs-site/src/examples/ts/tabIndex.ts @@ -0,0 +1,17 @@ +const tabIndexTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + + ); +}; + +render(); +`; + +export default tabIndexTS; diff --git a/docs-site/src/examples/ts/timeInput.ts b/docs-site/src/examples/ts/timeInput.ts new file mode 100644 index 0000000000..ce5e55d07b --- /dev/null +++ b/docs-site/src/examples/ts/timeInput.ts @@ -0,0 +1,19 @@ +const timeInputTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + timeInputLabel="Time:" + dateFormat="MM/dd/yyyy h:mm aa" + showTimeInput + /> + ); +}; + +render(); +`; + +export default timeInputTS; diff --git a/docs-site/src/examples/ts/today.ts b/docs-site/src/examples/ts/today.ts new file mode 100644 index 0000000000..a671e0e7fc --- /dev/null +++ b/docs-site/src/examples/ts/today.ts @@ -0,0 +1,17 @@ +const todayTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + /> + ); +}; + +render(); +`; + +export default todayTS; diff --git a/docs-site/src/examples/ts/toggleCalendarOnIconClick.ts b/docs-site/src/examples/ts/toggleCalendarOnIconClick.ts new file mode 100644 index 0000000000..6e67c2d3f8 --- /dev/null +++ b/docs-site/src/examples/ts/toggleCalendarOnIconClick.ts @@ -0,0 +1,18 @@ +const toggleCalendarOnIconClickTS = ` +const Example = () => { + const [selectedDate, setSelectedDate] = useState(new Date()); + + return ( + setSelectedDate(date)} + /> + ); +}; + +render(); +`; + +export default toggleCalendarOnIconClickTS; diff --git a/docs-site/src/examples/ts/weekNumbers.ts b/docs-site/src/examples/ts/weekNumbers.ts new file mode 100644 index 0000000000..1abd11a4c8 --- /dev/null +++ b/docs-site/src/examples/ts/weekNumbers.ts @@ -0,0 +1,18 @@ +const WeekNumbersTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + locale="en-GB" + showWeekNumbers + /> + ); +}; + +render(); +`; + +export default WeekNumbersTS; diff --git a/docs-site/src/examples/ts/weekPicker.ts b/docs-site/src/examples/ts/weekPicker.ts new file mode 100644 index 0000000000..cb944bca36 --- /dev/null +++ b/docs-site/src/examples/ts/weekPicker.ts @@ -0,0 +1,20 @@ +const weekPickerTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date("2021/02/22")); + + return ( + setStartDate(date)} + dateFormat="I/R" + locale="en-GB" + showWeekNumbers + showWeekPicker + /> + ); +}; + +render(); +`; + +export default weekPickerTS; diff --git a/docs-site/src/examples/ts/withPortalById.ts b/docs-site/src/examples/ts/withPortalById.ts new file mode 100644 index 0000000000..20486bb41b --- /dev/null +++ b/docs-site/src/examples/ts/withPortalById.ts @@ -0,0 +1,18 @@ +const withPortalByIdTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + withPortal + portalId="root-portal" + /> + ); +}; + +render(); +`; + +export default withPortalByIdTS; diff --git a/docs-site/src/examples/ts/yearDropdown.ts b/docs-site/src/examples/ts/yearDropdown.ts new file mode 100644 index 0000000000..e5d336abdf --- /dev/null +++ b/docs-site/src/examples/ts/yearDropdown.ts @@ -0,0 +1,20 @@ +const yearDropdownTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + showYearDropdown + dateFormatCalendar="MMMM" + yearDropdownItemNumber={15} + scrollableYearDropdown + /> + ); +}; + +render(); +`; + +export default yearDropdownTS; diff --git a/docs-site/src/examples/ts/yearItemNumber.ts b/docs-site/src/examples/ts/yearItemNumber.ts new file mode 100644 index 0000000000..b468b90dc7 --- /dev/null +++ b/docs-site/src/examples/ts/yearItemNumber.ts @@ -0,0 +1,19 @@ +const yearItemNumberTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + showYearPicker + dateFormat="yyyy" + yearItemNumber={9} + /> + ); +}; + +render(); +`; + +export default yearItemNumberTS; diff --git a/docs-site/src/examples/ts/yearPicker.ts b/docs-site/src/examples/ts/yearPicker.ts new file mode 100644 index 0000000000..caecdcb7a5 --- /dev/null +++ b/docs-site/src/examples/ts/yearPicker.ts @@ -0,0 +1,18 @@ +const yearPickerTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + showYearPicker + dateFormat="yyyy" + /> + ); +}; + +render(); +`; + +export default yearPickerTS; diff --git a/docs-site/src/examples/ts/yearSelectDropdown.ts b/docs-site/src/examples/ts/yearSelectDropdown.ts new file mode 100644 index 0000000000..8f140400b1 --- /dev/null +++ b/docs-site/src/examples/ts/yearSelectDropdown.ts @@ -0,0 +1,20 @@ +const yearSelectDropdownTS = ` +const Example = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + peekNextMonth + showMonthDropdown + showYearDropdown + dropdownMode="select" + /> + ); +}; + +render(); +`; + +export default yearSelectDropdownTS; diff --git a/docs-site/src/index.jsx b/docs-site/src/index.tsx similarity index 90% rename from docs-site/src/index.jsx rename to docs-site/src/index.tsx index f50634d567..1275002e11 100644 --- a/docs-site/src/index.jsx +++ b/docs-site/src/index.tsx @@ -1,5 +1,5 @@ import ReactDOM from "react-dom/client"; import App from "./components/App"; -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement); root.render(); diff --git a/docs-site/src/types/global.d.ts b/docs-site/src/types/global.d.ts new file mode 100644 index 0000000000..c9de3efe9c --- /dev/null +++ b/docs-site/src/types/global.d.ts @@ -0,0 +1,9 @@ +declare module "*.svg" { + const content: string; + export default content; +} + +declare module "*?raw" { + const content: string; + export default content; +} diff --git a/docs-site/src/types/index.ts b/docs-site/src/types/index.ts new file mode 100644 index 0000000000..0e2366c7c7 --- /dev/null +++ b/docs-site/src/types/index.ts @@ -0,0 +1,6 @@ +export interface IExampleConfig { + title: string; + component: string; + componentTS?: string; + description?: string | React.ReactElement; +} diff --git a/docs-site/tsconfig.json b/docs-site/tsconfig.json new file mode 100644 index 0000000000..42a14a6e38 --- /dev/null +++ b/docs-site/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "allowJs": true, + "esModuleInterop": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/docs-site/tsconfig.node.json b/docs-site/tsconfig.node.json new file mode 100644 index 0000000000..42872c59f5 --- /dev/null +++ b/docs-site/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/docs-site/vite.config.js b/docs-site/vite.config.ts similarity index 100% rename from docs-site/vite.config.js rename to docs-site/vite.config.ts diff --git a/docs-site/yarn.lock b/docs-site/yarn.lock index 9147c6dad9..0ef27a7b91 100644 --- a/docs-site/yarn.lock +++ b/docs-site/yarn.lock @@ -464,7 +464,18 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.12.1": +"@eslint-community/eslint-utils@npm:^4.4.0": + version: 4.6.1 + resolution: "@eslint-community/eslint-utils@npm:4.6.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/cdeb6f8fc33a83726357d7f736075cdbd6e79dc7ac4b00b15680f1111d0f33bda583e7fafa5937245a058cc66302dc47568bba57b251302dc74964d8e87f56d7 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": version: 4.12.1 resolution: "@eslint-community/regexpp@npm:4.12.1" checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 @@ -741,6 +752,33 @@ __metadata: languageName: node linkType: hard +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + "@npmcli/agent@npm:^2.0.0": version: 2.2.2 resolution: "@npmcli/agent@npm:2.2.2" @@ -1092,6 +1130,13 @@ __metadata: languageName: node linkType: hard +"@types/lodash@npm:^4.17.11": + version: 4.17.16 + resolution: "@types/lodash@npm:4.17.16" + checksum: 10c0/cf017901b8ab1d7aabc86d5189d9288f4f99f19a75caf020c0e2c77b8d4cead4db0d0b842d009b029339f92399f49f34377dd7c2721053388f251778b4c23534 + languageName: node + linkType: hard + "@types/prismjs@npm:^1.26.0": version: 1.26.3 resolution: "@types/prismjs@npm:1.26.3" @@ -1117,6 +1162,124 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:^7.0.0": + version: 7.18.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/type-utils": "npm:7.18.0" + "@typescript-eslint/utils": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/2b37948fa1b0dab77138909dabef242a4d49ab93e4019d4ef930626f0a7d96b03e696cd027fa0087881c20e73be7be77c942606b4a76fa599e6b37f6985304c3 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^7.0.0": + version: 7.18.0 + resolution: "@typescript-eslint/parser@npm:7.18.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/370e73fca4278091bc1b657f85e7d74cd52b24257ea20c927a8e17546107ce04fbf313fec99aed0cc2a145ddbae1d3b12e9cc2c1320117636dc1281bcfd08059 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/scope-manager@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + checksum: 10c0/038cd58c2271de146b3a594afe2c99290034033326d57ff1f902976022c8b0138ffd3cb893ae439ae41003b5e4bcc00cabf6b244ce40e8668f9412cc96d97b8e + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/type-utils@npm:7.18.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:7.18.0" + "@typescript-eslint/utils": "npm:7.18.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/ad92a38007be620f3f7036f10e234abdc2fdc518787b5a7227e55fd12896dacf56e8b34578723fbf9bea8128df2510ba8eb6739439a3879eda9519476d5783fd + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/types@npm:7.18.0" + checksum: 10c0/eb7371ac55ca77db8e59ba0310b41a74523f17e06f485a0ef819491bc3dd8909bb930120ff7d30aaf54e888167e0005aa1337011f3663dc90fb19203ce478054 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0c7f109a2e460ec8a1524339479cf78ff17814d23c83aa5112c77fb345e87b3642616291908dcddea1e671da63686403dfb712e4a4435104f92abdfddf9aba81 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/utils@npm:7.18.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:7.18.0" + peerDependencies: + eslint: ^8.56.0 + checksum: 10c0/a25a6d50eb45c514469a01ff01f215115a4725fb18401055a847ddf20d1b681409c4027f349033a95c4ff7138d28c3b0a70253dfe8262eb732df4b87c547bd1e + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/538b645f8ff1d9debf264865c69a317074eaff0255e63d7407046176b0f6a6beba34a6c51d511f12444bae12a98c69891eb6f403c9f54c6c2e2849d1c1cb73c0 + languageName: node + linkType: hard + "@vitejs/plugin-react@npm:^4.3.4": version: 4.3.4 resolution: "@vitejs/plugin-react@npm:4.3.4" @@ -1279,6 +1442,13 @@ __metadata: languageName: node linkType: hard +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + "array.prototype.findlast@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlast@npm:1.2.5" @@ -1387,7 +1557,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2": +"braces@npm:^3.0.2, braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -1744,6 +1914,15 @@ __metadata: languageName: node linkType: hard +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -2198,6 +2377,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^4.2.0": version: 4.2.0 resolution: "eslint-visitor-keys@npm:4.2.0" @@ -2312,6 +2498,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.2.9": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -2326,6 +2525,15 @@ __metadata: languageName: node linkType: hard +"fastq@npm:^1.6.0": + version: 1.19.1 + resolution: "fastq@npm:1.19.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + languageName: node + linkType: hard + "file-entry-cache@npm:^8.0.0": version: 8.0.0 resolution: "file-entry-cache@npm:8.0.0" @@ -2592,6 +2800,15 @@ __metadata: languageName: node linkType: hard +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + "glob-parent@npm:^6.0.2": version: 6.0.2 resolution: "glob-parent@npm:6.0.2" @@ -2672,6 +2889,20 @@ __metadata: languageName: node linkType: hard +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -2695,6 +2926,13 @@ __metadata: languageName: node linkType: hard +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -2843,6 +3081,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.3.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + "immutable@npm:^5.0.2": version: 5.0.2 resolution: "immutable@npm:5.0.2" @@ -3059,7 +3304,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.3": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -3514,6 +3759,13 @@ __metadata: languageName: node linkType: hard +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + "micromatch@npm:^4.0.5": version: 4.0.5 resolution: "micromatch@npm:4.0.5" @@ -3524,6 +3776,16 @@ __metadata: languageName: node linkType: hard +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + "minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -3949,6 +4211,13 @@ __metadata: languageName: node linkType: hard +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -4061,13 +4330,23 @@ __metadata: languageName: node linkType: hard +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + "react-datepicker-docs@workspace:.": version: 0.0.0-use.local resolution: "react-datepicker-docs@workspace:." dependencies: "@eslint/js": "npm:^9.24.0" + "@types/lodash": "npm:^4.17.11" "@types/react": "npm:^19.1.0" "@types/react-dom": "npm:^19.1.2" + "@typescript-eslint/eslint-plugin": "npm:^7.0.0" + "@typescript-eslint/parser": "npm:^7.0.0" "@vitejs/plugin-react": "npm:^4.3.4" date-fns: "npm:^4.1.0" eslint: "npm:^9.23.0" @@ -4084,6 +4363,7 @@ __metadata: react-live: "npm:^4.1.8" sass: "npm:^1.86.3" slugify: "npm:^1.6.6" + typescript: "npm:^5.3.3" vite: "npm:^6.2.5" languageName: unknown linkType: soft @@ -4235,6 +4515,13 @@ __metadata: languageName: node linkType: hard +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + "rollup@npm:^4.30.1": version: 4.34.6 resolution: "rollup@npm:4.34.6" @@ -4307,6 +4594,15 @@ __metadata: languageName: node linkType: hard +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + "safe-array-concat@npm:^1.1.3": version: 1.1.3 resolution: "safe-array-concat@npm:1.1.3" @@ -4403,6 +4699,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.0": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 + languageName: node + linkType: hard + "set-function-length@npm:^1.2.1, set-function-length@npm:^1.2.2": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -4522,6 +4827,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + "slugify@npm:^1.6.6": version: 1.6.6 resolution: "slugify@npm:1.6.6" @@ -4825,6 +5137,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.3.0": + version: 1.4.3 + resolution: "ts-api-utils@npm:1.4.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/e65dc6e7e8141140c23e1dc94984bf995d4f6801919c71d6dc27cf0cd51b100a91ffcfe5217626193e5bea9d46831e8586febdc7e172df3f1091a7384299e23a + languageName: node + linkType: hard + "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" @@ -4905,6 +5226,26 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.3.3": + version: 5.8.3 + resolution: "typescript@npm:5.8.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": + version: 5.8.3 + resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/39117e346ff8ebd87ae1510b3a77d5d92dae5a89bde588c747d25da5c146603a99c8ee588c7ef80faaf123d89ed46f6dbd918d534d641083177d5fac38b8a1cb + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.2": version: 1.0.2 resolution: "unbox-primitive@npm:1.0.2" From d1288643c21d047590d62b81e6ce1f690046d653 Mon Sep 17 00:00:00 2001 From: Sergey Kazarinov Date: Sun, 4 May 2025 14:35:05 +0500 Subject: [PATCH 02/18] refactor: formatting code in docs-site --- docs-site/src/components/Examples/index.tsx | 6 ++++-- docs-site/src/examples/ts/calendarIcon.ts | 2 +- docs-site/src/index.tsx | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs-site/src/components/Examples/index.tsx b/docs-site/src/components/Examples/index.tsx index 792ee4afc3..68f15f97e1 100644 --- a/docs-site/src/components/Examples/index.tsx +++ b/docs-site/src/components/Examples/index.tsx @@ -6,7 +6,7 @@ import CodeExampleComponent from "../Example/index.jsx"; import "./style.scss"; import "react-datepicker/dist/react-datepicker.css"; -import { EXAMPLE_CONFIG } from './config.js'; +import { EXAMPLE_CONFIG } from "./config.js"; export default class exampleComponents extends React.Component { componentDidMount() { @@ -17,7 +17,9 @@ export default class exampleComponents extends React.Component { handleAnchorClick = (e: React.MouseEvent, id: string): void => { e.preventDefault(); window.history.replaceState(null, document.title, `#${id}`); - document.getElementById(id)?.scrollIntoView({ behavior: "smooth", block: "start" }); + document + .getElementById(id) + ?.scrollIntoView({ behavior: "smooth", block: "start" }); }; render() { diff --git a/docs-site/src/examples/ts/calendarIcon.ts b/docs-site/src/examples/ts/calendarIcon.ts index b62434ab67..8fc1b37258 100644 --- a/docs-site/src/examples/ts/calendarIcon.ts +++ b/docs-site/src/examples/ts/calendarIcon.ts @@ -1,4 +1,4 @@ -const calendarIconTS = ` +const calendarIconTS = ` const Example = () => { const [startDate, setStartDate] = useState(new Date()); diff --git a/docs-site/src/index.tsx b/docs-site/src/index.tsx index 1275002e11..3b2f90aac6 100644 --- a/docs-site/src/index.tsx +++ b/docs-site/src/index.tsx @@ -1,5 +1,7 @@ import ReactDOM from "react-dom/client"; import App from "./components/App"; -const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement); +const root = ReactDOM.createRoot( + document.getElementById("root") as HTMLElement, +); root.render(); From 09fa619e25c5cf3e5f3da5e303dad67e9acc060e Mon Sep 17 00:00:00 2001 From: balajis-qb Date: Wed, 10 Sep 2025 20:08:49 +0530 Subject: [PATCH 03/18] feat: Update TypeScript examples from string to actual components by skipping the type check for the files - Added a custom tsconfig.json to skip the type checking inside examples/ - Made TypeScript tab is the default tab for documentation --- docs-site/src/components/Example/index.tsx | 14 +- docs-site/src/components/Examples/config.tsx | 442 +++++++++--------- ...ndarContainer.ts => calendarContainer.tsx} | 18 +- .../ts/{calendarIcon.ts => calendarIcon.tsx} | 8 +- ...onExternal.ts => calendarIconExternal.tsx} | 8 +- ...IconSvgIcon.ts => calendarIconSvgIcon.tsx} | 8 +- ...lendarStartDay.ts => calendarStartDay.tsx} | 8 +- docs-site/src/examples/ts/children.ts | 15 - docs-site/src/examples/ts/children.tsx | 14 + .../ts/{clearInput.ts => clearInput.tsx} | 8 +- .../{closeOnScroll.ts => closeOnScroll.tsx} | 8 +- ...lCallback.ts => closeOnScrollCallback.tsx} | 8 +- ...eFloatingUI.ts => configureFloatingUI.tsx} | 8 +- ...assName.ts => customCalendarClassName.tsx} | 8 +- ...customClassName.ts => customClassName.tsx} | 8 +- ...stomDateFormat.ts => customDateFormat.tsx} | 8 +- ...DayClassName.ts => customDayClassName.tsx} | 8 +- .../ts/{customInput.ts => customInput.tsx} | 27 +- ...meClassName.ts => customTimeClassName.tsx} | 8 +- ...customTimeInput.ts => customTimeInput.tsx} | 14 +- .../ts/{dateRange.ts => dateRange.tsx} | 12 +- ...n.ts => dateRangeInputWithClearButton.tsx} | 13 +- ...eWithPortal.ts => dateRangeWithPortal.tsx} | 13 +- ...> dateRangeWithShowDisabledNavigation.tsx} | 8 +- .../examples/ts/{default.ts => default.tsx} | 8 +- .../examples/ts/{disabled.ts => disabled.tsx} | 8 +- ...tion.ts => disabledKeyboardNavigation.tsx} | 8 +- ...CloseOnSelect.ts => dontCloseOnSelect.tsx} | 8 +- ...eIntervals.ts => excludeDateIntervals.tsx} | 12 +- .../ts/{excludeDates.ts => excludeDates.tsx} | 20 +- ...hPicker.ts => excludeDatesMonthPicker.tsx} | 24 +- ...er.ts => excludeDatesRangeMonthPicker.tsx} | 25 +- ...Message.ts => excludeDatesWithMessage.tsx} | 20 +- ...udeTimePeriod.ts => excludeTimePeriod.tsx} | 8 +- .../ts/{excludeTimes.ts => excludeTimes.tsx} | 10 +- .../ts/{excludeWeeks.ts => excludeWeeks.tsx} | 14 +- .../ts/{externalForm.ts => externalForm.tsx} | 8 +- .../ts/{filterDates.ts => filterDates.tsx} | 8 +- .../ts/{filterTimes.ts => filterTimes.tsx} | 8 +- .../{fixedCalendar.ts => fixedCalendar.tsx} | 8 +- ...hideTimeCaption.ts => hideTimeCaption.tsx} | 8 +- .../{highlightDates.ts => highlightDates.tsx} | 10 +- ...atesRanges.ts => highlightDatesRanges.tsx} | 10 +- .../ts/{holidayDates.ts => holidayDates.tsx} | 10 +- ...eIntervals.ts => includeDateIntervals.tsx} | 8 +- .../ts/{includeDates.ts => includeDates.tsx} | 14 +- ...hPicker.ts => includeDatesMonthPicker.tsx} | 8 +- .../ts/{includeTimes.ts => includeTimes.tsx} | 8 +- docs-site/src/examples/ts/index.ts | 106 ----- .../ts/{injectTimes.ts => injectTimes.tsx} | 8 +- .../src/examples/ts/{inline.ts => inline.tsx} | 8 +- .../{inlineVisible.ts => inlineVisible.tsx} | 8 +- .../src/examples/ts/{locale.ts => locale.tsx} | 8 +- .../{localeWithTime.ts => localeWithTime.tsx} | 8 +- .../ts/localeWithoutGlobalVariable.ts | 17 - .../ts/localeWithoutGlobalVariable.tsx | 13 + .../examples/ts/{maxDate.ts => maxDate.tsx} | 8 +- .../examples/ts/{minDate.ts => minDate.tsx} | 8 +- .../{monthDropdown.ts => monthDropdown.tsx} | 8 +- ...ropdownShort.ts => monthDropdownShort.tsx} | 8 +- .../ts/{monthPicker.ts => monthPicker.tsx} | 8 +- ...rColumns.ts => monthPickerFourColumns.tsx} | 8 +- ...kerFullName.ts => monthPickerFullName.tsx} | 8 +- ...woColumns.ts => monthPickerTwoColumns.tsx} | 8 +- ...hYearDropdown.ts => monthYearDropdown.tsx} | 8 +- .../ts/{multiMonth.ts => multiMonth.tsx} | 8 +- ...onthDropdown.ts => multiMonthDropdown.tsx} | 8 +- ...ltiMonthInline.ts => multiMonthInline.tsx} | 8 +- ...onthPrevious.ts => multiMonthPrevious.tsx} | 8 +- .../{noAnchorArrow.ts => noAnchorArrow.tsx} | 8 +- ...onBlurCallbacks.ts => onBlurCallbacks.tsx} | 12 +- ...ks.ts => onCalendarOpenStateCallbacks.tsx} | 8 +- .../ts/{openToDate.ts => openToDate.tsx} | 8 +- docs-site/src/examples/ts/placeholderText.ts | 9 - docs-site/src/examples/ts/placeholderText.tsx | 5 + .../src/examples/ts/{portal.ts => portal.tsx} | 8 +- .../ts/{portalById.ts => portalById.tsx} | 8 +- .../{quarterPicker.ts => quarterPicker.tsx} | 8 +- ...ngeMonthPicker.ts => rangeMonthPicker.tsx} | 12 +- ...ge.ts => rangeMonthPickerSelectsRange.tsx} | 17 +- ...uarterPicker.ts => rangeQuarterPicker.tsx} | 12 +- ....ts => rangeQuarterPickerSelectsRange.tsx} | 17 +- .../{rangeSwapRange.ts => rangeSwapRange.tsx} | 23 +- ...rangeYearPicker.ts => rangeYearPicker.tsx} | 12 +- ...nge.ts => rangeYearPickerSelectsRange.tsx} | 17 +- .../ts/{rawChange.ts => rawChange.tsx} | 12 +- .../examples/ts/{readOnly.ts => readOnly.tsx} | 8 +- ...renderCustomDay.ts => renderCustomDay.tsx} | 10 +- ...CustomHeader.ts => renderCustomHeader.tsx} | 14 +- ...ths.ts => renderCustomHeaderTwoMonths.tsx} | 9 +- .../src/examples/ts/renderCustomMonth.ts | 23 - .../src/examples/ts/renderCustomMonth.tsx | 24 + .../src/examples/ts/renderCustomQuarter.ts | 22 - .../src/examples/ts/renderCustomQuarter.tsx | 21 + ...nderCustomYear.ts => renderCustomYear.tsx} | 10 +- ...selectsMultiple.ts => selectsMultiple.tsx} | 12 +- ...pleMonths.ts => selectsMultipleMonths.tsx} | 8 +- .../ts/{selectsRange.ts => selectsRange.tsx} | 8 +- ...s.ts => selectsRangeWithDisabledDates.tsx} | 23 +- .../examples/ts/{showTime.ts => showTime.tsx} | 8 +- .../ts/{showTimeOnly.ts => showTimeOnly.tsx} | 8 +- ...ificDateRange.ts => specificDateRange.tsx} | 8 +- .../{strictParsing.ts => strictParsing.tsx} | 8 +- docs-site/src/examples/ts/tabIndex.ts | 17 - docs-site/src/examples/ts/tabIndex.tsx | 9 + .../ts/{timeInput.ts => timeInput.tsx} | 8 +- .../src/examples/ts/{today.ts => today.tsx} | 8 +- ...Click.ts => toggleCalendarOnIconClick.tsx} | 8 +- .../ts/{weekNumbers.ts => weekNumbers.tsx} | 8 +- .../ts/{weekPicker.ts => weekPicker.tsx} | 12 +- .../{withPortalById.ts => withPortalById.tsx} | 8 +- .../ts/{yearDropdown.ts => yearDropdown.tsx} | 8 +- .../{yearItemNumber.ts => yearItemNumber.tsx} | 8 +- .../ts/{yearPicker.ts => yearPicker.tsx} | 8 +- ...lectDropdown.ts => yearSelectDropdown.tsx} | 8 +- docs-site/src/examples/tsconfig.json | 6 + 116 files changed, 665 insertions(+), 1118 deletions(-) rename docs-site/src/examples/ts/{calendarContainer.ts => calendarContainer.tsx} (73%) rename docs-site/src/examples/ts/{calendarIcon.ts => calendarIcon.tsx} (67%) rename docs-site/src/examples/ts/{calendarIconExternal.ts => calendarIconExternal.tsx} (66%) rename docs-site/src/examples/ts/{calendarIconSvgIcon.ts => calendarIconSvgIcon.tsx} (89%) rename docs-site/src/examples/ts/{calendarStartDay.ts => calendarStartDay.tsx} (66%) delete mode 100644 docs-site/src/examples/ts/children.ts create mode 100644 docs-site/src/examples/ts/children.tsx rename docs-site/src/examples/ts/{clearInput.ts => clearInput.tsx} (72%) rename docs-site/src/examples/ts/{closeOnScroll.ts => closeOnScroll.tsx} (67%) rename docs-site/src/examples/ts/{closeOnScrollCallback.ts => closeOnScrollCallback.tsx} (68%) rename docs-site/src/examples/ts/{configureFloatingUI.ts => configureFloatingUI.tsx} (80%) rename docs-site/src/examples/ts/{customCalendarClassName.ts => customCalendarClassName.tsx} (65%) rename docs-site/src/examples/ts/{customClassName.ts => customClassName.tsx} (67%) rename docs-site/src/examples/ts/{customDateFormat.ts => customDateFormat.tsx} (67%) rename docs-site/src/examples/ts/{customDayClassName.ts => customDayClassName.tsx} (72%) rename docs-site/src/examples/ts/{customInput.ts => customInput.tsx} (76%) rename docs-site/src/examples/ts/{customTimeClassName.ts => customTimeClassName.tsx} (75%) rename docs-site/src/examples/ts/{customTimeInput.ts => customTimeInput.tsx} (73%) rename docs-site/src/examples/ts/{dateRange.ts => dateRange.tsx} (74%) rename docs-site/src/examples/ts/{dateRangeInputWithClearButton.ts => dateRangeInputWithClearButton.tsx} (67%) rename docs-site/src/examples/ts/{dateRangeWithPortal.ts => dateRangeWithPortal.tsx} (70%) rename docs-site/src/examples/ts/{dateRangeWithShowDisabledNavigation.ts => dateRangeWithShowDisabledNavigation.tsx} (78%) rename docs-site/src/examples/ts/{default.ts => default.tsx} (64%) rename docs-site/src/examples/ts/{disabled.ts => disabled.tsx} (72%) rename docs-site/src/examples/ts/{disabledKeyboardNavigation.ts => disabledKeyboardNavigation.tsx} (68%) rename docs-site/src/examples/ts/{dontCloseOnSelect.ts => dontCloseOnSelect.tsx} (67%) rename docs-site/src/examples/ts/{excludeDateIntervals.ts => excludeDateIntervals.tsx} (76%) rename docs-site/src/examples/ts/{excludeDates.ts => excludeDates.tsx} (66%) rename docs-site/src/examples/ts/{excludeDatesMonthPicker.ts => excludeDatesMonthPicker.tsx} (52%) rename docs-site/src/examples/ts/{excludeDatesRangeMonthPicker.ts => excludeDatesRangeMonthPicker.tsx} (72%) rename docs-site/src/examples/ts/{excludeDatesWithMessage.ts => excludeDatesWithMessage.tsx} (70%) rename docs-site/src/examples/ts/{excludeTimePeriod.ts => excludeTimePeriod.tsx} (78%) rename docs-site/src/examples/ts/{excludeTimes.ts => excludeTimes.tsx} (84%) rename docs-site/src/examples/ts/{excludeWeeks.ts => excludeWeeks.tsx} (70%) rename docs-site/src/examples/ts/{externalForm.ts => externalForm.tsx} (77%) rename docs-site/src/examples/ts/{filterDates.ts => filterDates.tsx} (80%) rename docs-site/src/examples/ts/{filterTimes.ts => filterTimes.tsx} (84%) rename docs-site/src/examples/ts/{fixedCalendar.ts => fixedCalendar.tsx} (66%) rename docs-site/src/examples/ts/{hideTimeCaption.ts => hideTimeCaption.tsx} (74%) rename docs-site/src/examples/ts/{highlightDates.ts => highlightDates.tsx} (82%) rename docs-site/src/examples/ts/{highlightDatesRanges.ts => highlightDatesRanges.tsx} (87%) rename docs-site/src/examples/ts/{holidayDates.ts => holidayDates.tsx} (86%) rename docs-site/src/examples/ts/{includeDateIntervals.ts => includeDateIntervals.tsx} (81%) rename docs-site/src/examples/ts/{includeDates.ts => includeDates.tsx} (62%) rename docs-site/src/examples/ts/{includeDatesMonthPicker.ts => includeDatesMonthPicker.tsx} (75%) rename docs-site/src/examples/ts/{includeTimes.ts => includeTimes.tsx} (84%) delete mode 100644 docs-site/src/examples/ts/index.ts rename docs-site/src/examples/ts/{injectTimes.ts => injectTimes.tsx} (84%) rename docs-site/src/examples/ts/{inline.ts => inline.tsx} (69%) rename docs-site/src/examples/ts/{inlineVisible.ts => inlineVisible.tsx} (84%) rename docs-site/src/examples/ts/{locale.ts => locale.tsx} (74%) rename docs-site/src/examples/ts/{localeWithTime.ts => localeWithTime.tsx} (74%) delete mode 100644 docs-site/src/examples/ts/localeWithoutGlobalVariable.ts create mode 100644 docs-site/src/examples/ts/localeWithoutGlobalVariable.tsx rename docs-site/src/examples/ts/{maxDate.ts => maxDate.tsx} (76%) rename docs-site/src/examples/ts/{minDate.ts => minDate.tsx} (75%) rename docs-site/src/examples/ts/{monthDropdown.ts => monthDropdown.tsx} (67%) rename docs-site/src/examples/ts/{monthDropdownShort.ts => monthDropdownShort.tsx} (68%) rename docs-site/src/examples/ts/{monthPicker.ts => monthPicker.tsx} (71%) rename docs-site/src/examples/ts/{monthPickerFourColumns.ts => monthPickerFourColumns.tsx} (71%) rename docs-site/src/examples/ts/{monthPickerFullName.ts => monthPickerFullName.tsx} (70%) rename docs-site/src/examples/ts/{monthPickerTwoColumns.ts => monthPickerTwoColumns.tsx} (72%) rename docs-site/src/examples/ts/{monthYearDropdown.ts => monthYearDropdown.tsx} (75%) rename docs-site/src/examples/ts/{multiMonth.ts => multiMonth.tsx} (68%) rename docs-site/src/examples/ts/{multiMonthDropdown.ts => multiMonthDropdown.tsx} (67%) rename docs-site/src/examples/ts/{multiMonthInline.ts => multiMonthInline.tsx} (67%) rename docs-site/src/examples/ts/{multiMonthPrevious.ts => multiMonthPrevious.tsx} (67%) rename docs-site/src/examples/ts/{noAnchorArrow.ts => noAnchorArrow.tsx} (68%) rename docs-site/src/examples/ts/{onBlurCallbacks.ts => onBlurCallbacks.tsx} (71%) rename docs-site/src/examples/ts/{onCalendarOpenStateCallbacks.ts => onCalendarOpenStateCallbacks.tsx} (74%) rename docs-site/src/examples/ts/{openToDate.ts => openToDate.tsx} (70%) delete mode 100644 docs-site/src/examples/ts/placeholderText.ts create mode 100644 docs-site/src/examples/ts/placeholderText.tsx rename docs-site/src/examples/ts/{portal.ts => portal.tsx} (70%) rename docs-site/src/examples/ts/{portalById.ts => portalById.tsx} (69%) rename docs-site/src/examples/ts/{quarterPicker.ts => quarterPicker.tsx} (70%) rename docs-site/src/examples/ts/{rangeMonthPicker.ts => rangeMonthPicker.tsx} (75%) rename docs-site/src/examples/ts/{rangeMonthPickerSelectsRange.ts => rangeMonthPickerSelectsRange.tsx} (53%) rename docs-site/src/examples/ts/{rangeQuarterPicker.ts => rangeQuarterPicker.tsx} (75%) rename docs-site/src/examples/ts/{rangeQuarterPickerSelectsRange.ts => rangeQuarterPickerSelectsRange.tsx} (53%) rename docs-site/src/examples/ts/{rangeSwapRange.ts => rangeSwapRange.tsx} (66%) rename docs-site/src/examples/ts/{rangeYearPicker.ts => rangeYearPicker.tsx} (75%) rename docs-site/src/examples/ts/{rangeYearPickerSelectsRange.ts => rangeYearPickerSelectsRange.tsx} (53%) rename docs-site/src/examples/ts/{rawChange.ts => rawChange.tsx} (61%) rename docs-site/src/examples/ts/{readOnly.ts => readOnly.tsx} (72%) rename docs-site/src/examples/ts/{renderCustomDay.ts => renderCustomDay.tsx} (69%) rename docs-site/src/examples/ts/{renderCustomHeader.ts => renderCustomHeader.tsx} (86%) rename docs-site/src/examples/ts/{renderCustomHeaderTwoMonths.ts => renderCustomHeaderTwoMonths.tsx} (91%) delete mode 100644 docs-site/src/examples/ts/renderCustomMonth.ts create mode 100644 docs-site/src/examples/ts/renderCustomMonth.tsx delete mode 100644 docs-site/src/examples/ts/renderCustomQuarter.ts create mode 100644 docs-site/src/examples/ts/renderCustomQuarter.tsx rename docs-site/src/examples/ts/{renderCustomYear.ts => renderCustomYear.tsx} (62%) rename docs-site/src/examples/ts/{selectsMultiple.ts => selectsMultiple.tsx} (72%) rename docs-site/src/examples/ts/{selectsMultipleMonths.ts => selectsMultipleMonths.tsx} (75%) rename docs-site/src/examples/ts/{selectsRange.ts => selectsRange.tsx} (81%) rename docs-site/src/examples/ts/{selectsRangeWithDisabledDates.ts => selectsRangeWithDisabledDates.tsx} (63%) rename docs-site/src/examples/ts/{showTime.ts => showTime.tsx} (77%) rename docs-site/src/examples/ts/{showTimeOnly.ts => showTimeOnly.tsx} (74%) rename docs-site/src/examples/ts/{specificDateRange.ts => specificDateRange.tsx} (74%) rename docs-site/src/examples/ts/{strictParsing.ts => strictParsing.tsx} (67%) delete mode 100644 docs-site/src/examples/ts/tabIndex.ts create mode 100644 docs-site/src/examples/ts/tabIndex.tsx rename docs-site/src/examples/ts/{timeInput.ts => timeInput.tsx} (74%) rename docs-site/src/examples/ts/{today.ts => today.tsx} (71%) rename docs-site/src/examples/ts/{toggleCalendarOnIconClick.ts => toggleCalendarOnIconClick.tsx} (66%) rename docs-site/src/examples/ts/{weekNumbers.ts => weekNumbers.tsx} (70%) rename docs-site/src/examples/ts/{weekPicker.ts => weekPicker.tsx} (54%) rename docs-site/src/examples/ts/{withPortalById.ts => withPortalById.tsx} (69%) rename docs-site/src/examples/ts/{yearDropdown.ts => yearDropdown.tsx} (75%) rename docs-site/src/examples/ts/{yearItemNumber.ts => yearItemNumber.tsx} (71%) rename docs-site/src/examples/ts/{yearPicker.ts => yearPicker.tsx} (70%) rename docs-site/src/examples/ts/{yearSelectDropdown.ts => yearSelectDropdown.tsx} (71%) create mode 100644 docs-site/src/examples/tsconfig.json diff --git a/docs-site/src/components/Example/index.tsx b/docs-site/src/components/Example/index.tsx index 74529ff556..59bfb2a07f 100644 --- a/docs-site/src/components/Example/index.tsx +++ b/docs-site/src/components/Example/index.tsx @@ -27,7 +27,7 @@ export default class CodeExampleComponent extends React.Component< TState > { state: TState = { - activeTab: "js", + activeTab: "ts", }; componentDidMount() { @@ -58,12 +58,6 @@ export default class CodeExampleComponent extends React.Component<

{title}

{description &&

{description}

}
- {tsCode && (
), - componentTS: configureFloatingUIS, + componentTS: ConfigureFloatingUITS, }, { title: "Custom input", component: CustomInput, - componentTS: customInputTS, + componentTS: CustomInputTS, }, { title: "Custom header", component: RenderCustomHeader, - componentTS: renderCustomHeaderTS, + componentTS: RenderCustomHeaderTS, }, { title: "Custom header with two months displayed", component: RenderCustomHeaderTwoMonths, - componentTS: renderCustomHeaderTwoMonthsTS, + componentTS: RenderCustomHeaderTwoMonthsTS, }, { title: "Custom Day", component: RenderCustomDay, - componentTS: renderCustomDayTS, + componentTS: RenderCustomDayTS, }, { title: "Custom Month", component: RenderCustomMonth, - componentTS: renderCustomMonthTS, + componentTS: RenderCustomMonthTS, }, { title: "Custom Quarter", component: RenderCustomQuarter, - componentTS: renderCustomQuarterTS, + componentTS: RenderCustomQuarterTS, }, { title: "Custom Year", component: RenderCustomYear, - componentTS: renderCustomYearTS, + componentTS: RenderCustomYearTS, }, { title: "Custom calendar class name", component: CustomCalendarClassName, - componentTS: customCalendarClassNameTS, + componentTS: CustomCalendarClassNameTS, }, { title: "Custom class name", component: CustomClassName, - componentTS: customClassNameTS, + componentTS: CustomClassNameTS, }, { title: "Custom day class name", component: CustomDayClassName, - componentTS: customDayClassNameTS, + componentTS: CustomDayClassNameTS, }, { title: "Custom date format", component: CustomDateFormat, - componentTS: customDateFormatTS, + componentTS: CustomDateFormatTS, }, { title: "Custom time class name", component: CustomTimeClassName, - componentTS: customTimeClassNameTS, + componentTS: CustomTimeClassNameTS, }, { title: "Custom time input", component: CustomTimeInput, - componentTS: customTimeInputTS, + componentTS: CustomTimeInputTS, }, { title: "Date Range", component: DateRange, - componentTS: dateRangeTS, + componentTS: DateRangeTS, }, { title: "Date range for one datepicker", component: SelectsRange, - componentTS: selectsRangeTS, + componentTS: SelectsRangeTS, }, { title: "Date range for one datepicker with disabled dates highlighted", - component: selectsRangeWithDisabledDates, - componentTS: selectsRangeWithDisabledDatesTS, + component: SelectsRangeWithDisabledDates, + componentTS: SelectsRangeWithDisabledDatesTS, }, { title: "Date Range with disabled navigation shown", component: DateRangeWithShowDisabledNavigation, - componentTS: dateRangeWithShowDisabledNavigationTS, + componentTS: DateRangeWithShowDisabledNavigationTS, }, { title: "Date Range using input with clear button", component: DateRangeInputWithClearButton, - componentTS: dateRangeInputWithClearButtonTS, + componentTS: DateRangeInputWithClearButtonTS, }, { title: "Date Range with Portal", component: DateRangeWithPortal, - componentTS: dateRangeWithPortalTS, + componentTS: DateRangeWithPortalTS, }, { title: "Disable datepicker", component: Disabled, - componentTS: disabledTS, + componentTS: DisabledTS, }, { title: "Disable keyboard navigation", component: DisabledKeyboardNavigation, - componentTS: disabledKeyboardNavigationTS, + componentTS: DisabledKeyboardNavigationTS, }, { title: "Display Week Numbers", component: WeekNumbers, - componentTS: weekNumbersTS, + componentTS: WeekNumbersTS, }, { title: "Don't hide calendar on date selection", component: DontCloseOnSelect, - componentTS: dontCloseOnSelectTS, + componentTS: DontCloseOnSelectTS, }, { title: "Exclude dates", component: ExcludeDates, - componentTS: excludeDatesTS, + componentTS: ExcludeDatesTS, }, { title: "Exclude dates with message", component: ExcludedWithMessage, - componentTS: excludeDatesWithMessageTS, + componentTS: ExcludeDatesWithMessageTS, }, { title: "Exclude date intervals", component: ExcludeDateIntervals, - componentTS: excludeDateIntervalsTS, + componentTS: ExcludeDateIntervalsTS, }, { title: "Exclude Months in Month Picker", component: ExcludeDatesMonthPicker, - componentTS: excludeDatesMonthPickerTS, + componentTS: ExcludeDatesMonthPickerTS, }, { title: "Exclude Months in Range Month Picker", component: ExcludeDatesRangeMonthPicker, - componentTS: excludeDatesRangeMonthPickerTS, + componentTS: ExcludeDatesRangeMonthPickerTS, }, { title: "Exclude Times", component: ExcludeTimes, - componentTS: excludeTimesTS, + componentTS: ExcludeTimesTS, }, { title: "Filter dates", component: FilterDates, - componentTS: filterDatesTS, + componentTS: FilterDatesTS, }, { title: "Filter times", component: FilterTimes, - componentTS: filterTimesTS, + componentTS: FilterTimesTS, }, { title: "Fixed height of Calendar", component: FixedCalendar, - componentTS: fixedCalendarTS, + componentTS: FixedCalendarTS, }, { title: "Get raw input value on change", component: RawChange, - componentTS: rawChangeTS, + componentTS: RawChangeTS, }, { title: "Highlight dates", component: HighlightDates, - componentTS: highlightDatesTS, + componentTS: HighlightDatesTS, }, { title: "Highlight dates with custom class names and ranges", component: HighlightDatesRanges, - componentTS: highlightDatesRangesTS, + componentTS: HighlightDatesRangesTS, }, { title: "Holiday dates", component: HolidayDates, - componentTS: holidayDatesTS, + componentTS: HolidayDatesTS, }, { title: "Include dates", component: IncludeDates, - componentTS: includeDatesTS, + componentTS: IncludeDatesTS, }, { title: "Include date intervals", component: IncludeDateIntervals, - componentTS: includeDateIntervalsTS, + componentTS: IncludeDateIntervalsTS, }, { title: "Include Months in Month Picker", component: IncludeDatesMonthPicker, - componentTS: includeDatesMonthPickerTS, + componentTS: IncludeDatesMonthPickerTS, }, { title: "Include Times", component: IncludeTimes, - componentTS: includeTimesTS, + componentTS: IncludeTimesTS, }, { title: "Inject Specific Times", component: InjectTimes, - componentTS: injectTimesTS, + componentTS: InjectTimesTS, }, { title: "Inline version", component: Inline, - componentTS: inlineTS, + componentTS: InlineTS, }, { title: "Button to show Inline version", component: InlineVisible, - componentTS: inlineVisibleTS, + componentTS: InlineVisibleTS, }, { title: "Input time", component: TimeInput, - componentTS: timeInputTS, + componentTS: TimeInputTS, }, { title: "Locale", component: Locale, - componentTS: localeTS, + componentTS: LocaleTS, }, { title: "Locale with time", component: LocaleWithTime, - componentTS: localeWithTimeTS, + componentTS: LocaleWithTimeTS, }, { title: "Locale without global variables", component: LocaleWithoutGlobalVariable, - componentTS: localeWithoutGlobalVariableTS, + componentTS: LocaleWithoutGlobalVariableTS, }, { title: "Min date", component: MinDate, - componentTS: minDateTS, + componentTS: MinDateTS, }, { title: "Max date", component: MaxDate, - componentTS: maxDateTS, + componentTS: MaxDateTS, }, { title: "Month Picker", component: MonthPicker, - componentTS: monthPickerTS, + componentTS: MonthPickerTS, }, { title: "Month Picker with Full Name", - component: monthPickerFullName, - componentTS: monthPickerFullNameTS, + component: MonthPickerFullName, + componentTS: MonthPickerFullNameTS, }, { title: "Month Picker Two Columns Layout", - component: monthPickerTwoColumns, - componentTS: monthPickerTwoColumnsTS, + component: MonthPickerTwoColumns, + componentTS: MonthPickerTwoColumnsTS, }, { title: "Month Picker Four Columns Layout", - component: monthPickerFourColumns, - componentTS: monthPickerFourColumnsTS, + component: MonthPickerFourColumns, + componentTS: MonthPickerFourColumnsTS, }, { title: "Month dropdown", component: MonthDropdown, - componentTS: monthDropdownTS, + componentTS: MonthDropdownTS, }, { title: "Month dropdown short month", component: MonthDropdownShort, - componentTS: monthDropdownShortTS, + componentTS: MonthDropdownShortTS, }, { title: "MonthYear dropdown", component: MonthYearDropdown, - componentTS: monthYearDropdownTS, + componentTS: MonthYearDropdownTS, }, { title: "Multiple months", component: MultiMonth, - componentTS: multiMonthTS, + componentTS: MultiMonthTS, }, { title: "Multiple months with year dropdown", component: MultiMonthDropdown, - componentTS: multiMonthDropdownTS, + componentTS: MultiMonthDropdownTS, }, { title: "Multiple months inline", component: MultiMonthInline, - componentTS: multiMonthInlineTS, + componentTS: MultiMonthInlineTS, }, { title: "No Anchor Arrow", component: NoAnchorArrow, - componentTS: noAnchorArrowTS, + componentTS: NoAnchorArrowTS, }, { title: "onBlur callbacks in console", component: OnBlurCallbacks, - componentTS: onBlurCallbacksTS, + componentTS: OnBlurCallbacksTS, }, { title: "Open to date", component: OpenToDate, - componentTS: openToDateTS, + componentTS: OpenToDateTS, }, { title: "Placeholder text", component: PlaceholderText, - componentTS: placeholderTextTS, + componentTS: PlaceholderTextTS, }, { title: "Portal version", component: Portal, - componentTS: portalTS, + componentTS: PortalTS, }, { title: "Portal by id", description: "If the provided portalId cannot be found in the dom, one will be created by default with that id.", component: PortalById, - componentTS: portalByIdTS, + componentTS: PortalByIdTS, }, { title: "Portal version with portal by id", description: "If the provided portalId cannot be found in the dom, one will be created by default with that id.", component: WithPortalById, - componentTS: withPortalByIdTS, + componentTS: WithPortalByIdTS, }, { title: "Quarter Picker", component: QuarterPicker, - componentTS: quarterPickerTS, + componentTS: QuarterPickerTS, }, { title: "Range Month Picker", component: RangeMonthPicker, - componentTS: rangeMonthPickerTS, + componentTS: RangeMonthPickerTS, }, { title: "Range Month Picker for one month picker", component: RangeMonthPickerSelectsRange, - componentTS: rangeMonthPickerSelectsRangeTS, + componentTS: RangeMonthPickerSelectsRangeTS, }, { title: "Range Quarter Picker", component: RangeQuarterPicker, - componentTS: rangeQuarterPickerTS, + componentTS: RangeQuarterPickerTS, }, { title: "Range Quarter Picker for one quarter picker", component: RangeQuarterPickerSelectsRange, - componentTS: rangeQuarterPickerSelectsRangeTS, + componentTS: RangeQuarterPickerSelectsRangeTS, }, { title: "Range Swap Range", description: "Swap the start and end date if the end date is before the start date in a pick sequence.", component: RangeSwapRange, - componentTS: rangeSwapRangeTS, + componentTS: RangeSwapRangeTS, }, { title: "Read only datepicker", component: ReadOnly, - componentTS: readOnlyTS, + componentTS: ReadOnlyTS, }, { title: "Select Time", component: ShowTime, - componentTS: showTimeTS, + componentTS: ShowTimeTS, }, { title: "Select Time Only", component: ShowTimeOnly, - componentTS: showTimeOnlyTS, + componentTS: ShowTimeOnlyTS, }, { title: "Hide Time Caption", component: HideTimeCaption, - componentTS: hideTimeCaptionTS, + componentTS: HideTimeCaptionTS, }, { title: "Show previous months", component: MultiMonthPrevious, - componentTS: multiMonthPreviousTS, + componentTS: MultiMonthPreviousTS, }, { title: "Specific date range", component: SpecificDateRange, - componentTS: specificDateRangeTS, + componentTS: SpecificDateRangeTS, }, { title: "Specific Time Range", component: ExcludeTimePeriod, - componentTS: excludeTimePeriodTS, + componentTS: ExcludeTimePeriodTS, }, { title: "Select multiple dates", component: SelectsMultiple, - componentTS: selectsMultipleTS, + componentTS: SelectsMultipleTS, }, { title: "Select multiple months", component: SelectsMultipleMonths, - componentTS: selectsMultipleMonthsTS, + componentTS: SelectsMultipleMonthsTS, }, { title: "Strict parsing", description: "Enables strict format validation for manual date input. When this flag is activated, the component will only accept values that exactly match the specified date format (`dateFormat`).", component: StrictParsing, - componentTS: strictParsingTS, + componentTS: StrictParsingTS, }, { title: "TabIndex", component: TabIndex, - componentTS: tabIndexTS, + componentTS: TabIndexTS, }, { title: "Today button", component: Today, - componentTS: todayTS, + componentTS: TodayTS, }, { title: "Year Picker", component: YearPicker, - componentTS: yearPickerTS, + componentTS: YearPickerTS, }, { title: "Range Year Picker", component: RangeYearPicker, - componentTS: rangeYearPickerTS, + componentTS: RangeYearPickerTS, }, { title: "Range Year Picker for one datepicker", component: RangeYearPickerSelectsRange, - componentTS: rangeYearPickerSelectsRangeTS, + componentTS: RangeYearPickerSelectsRangeTS, }, { title: "Year dropdown", component: YearDropdown, - componentTS: yearDropdownTS, + componentTS: YearDropdownTS, }, { title: "Year select dropdown", component: YearSelectDropdown, - componentTS: yearSelectDropdownTS, + componentTS: YearSelectDropdownTS, }, { title: "Year item number", component: YearItemNumber, - componentTS: yearItemNumberTS, + componentTS: YearItemNumberTS, }, { title: "Calendar Start day", component: CalendarStartDay, - componentTS: calendarStartDayTS, + componentTS: CalendarStartDayTS, }, { title: "Week Picker", component: WeekPicker, - componentTS: weekPickerTS, + componentTS: WeekPickerTS, }, { title: "Exclude Weeks", component: ExcludeWeeks, - componentTS: excludeWeeksTS, + componentTS: ExcludeWeeksTS, }, { title: "External Form", component: ExternalForm, - componentTS: externalFormTS, + componentTS: ExternalFormTS, }, ]; diff --git a/docs-site/src/examples/ts/calendarContainer.ts b/docs-site/src/examples/ts/calendarContainer.tsx similarity index 73% rename from docs-site/src/examples/ts/calendarContainer.ts rename to docs-site/src/examples/ts/calendarContainer.tsx index bdfe718090..d9ba2d5cf9 100644 --- a/docs-site/src/examples/ts/calendarContainer.ts +++ b/docs-site/src/examples/ts/calendarContainer.tsx @@ -1,8 +1,13 @@ -const calendarContainerTS = ` -const Example = () => { +const CustomCalendarContainer = () => { const [startDate, setStartDate] = useState(new Date()); - const MyContainer = ({ className, children }: {className: string, children: ReactNode}) => { + const MyContainer = ({ + className, + children, + }: { + className: string; + children: ReactNode; + }) => { return (
@@ -22,9 +27,6 @@ const Example = () => { calendarContainer={MyContainer} /> ); -} +}; -render(); -`; - -export default calendarContainerTS; +render(CustomCalendarContainer); diff --git a/docs-site/src/examples/ts/calendarIcon.ts b/docs-site/src/examples/ts/calendarIcon.tsx similarity index 67% rename from docs-site/src/examples/ts/calendarIcon.ts rename to docs-site/src/examples/ts/calendarIcon.tsx index 8fc1b37258..db199dc8a4 100644 --- a/docs-site/src/examples/ts/calendarIcon.ts +++ b/docs-site/src/examples/ts/calendarIcon.tsx @@ -1,5 +1,4 @@ -const calendarIconTS = ` -const Example = () => { +const CalendarIcon = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default calendarIconTS; +render(CalendarIcon); diff --git a/docs-site/src/examples/ts/calendarIconExternal.ts b/docs-site/src/examples/ts/calendarIconExternal.tsx similarity index 66% rename from docs-site/src/examples/ts/calendarIconExternal.ts rename to docs-site/src/examples/ts/calendarIconExternal.tsx index d3675509dc..9f3c9eba70 100644 --- a/docs-site/src/examples/ts/calendarIconExternal.ts +++ b/docs-site/src/examples/ts/calendarIconExternal.tsx @@ -1,5 +1,4 @@ -const calendarIconExternalTS = ` -const Example = () => { +const CalendarIconExternal = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default calendarIconExternalTS; +render(CalendarIconExternal); diff --git a/docs-site/src/examples/ts/calendarIconSvgIcon.ts b/docs-site/src/examples/ts/calendarIconSvgIcon.tsx similarity index 89% rename from docs-site/src/examples/ts/calendarIconSvgIcon.ts rename to docs-site/src/examples/ts/calendarIconSvgIcon.tsx index 0da06a0c04..ac145395b1 100644 --- a/docs-site/src/examples/ts/calendarIconSvgIcon.ts +++ b/docs-site/src/examples/ts/calendarIconSvgIcon.tsx @@ -1,5 +1,4 @@ -const calendarIconSvgIconTS = ` -const Example = () => { +const CalendarIconSvgIcon = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -34,7 +33,4 @@ const Example = () => { ); }; -render(); -`; - -export default calendarIconSvgIconTS; +render(CalendarIconSvgIcon); diff --git a/docs-site/src/examples/ts/calendarStartDay.ts b/docs-site/src/examples/ts/calendarStartDay.tsx similarity index 66% rename from docs-site/src/examples/ts/calendarStartDay.ts rename to docs-site/src/examples/ts/calendarStartDay.tsx index b8d0d7fef2..624615db18 100644 --- a/docs-site/src/examples/ts/calendarStartDay.ts +++ b/docs-site/src/examples/ts/calendarStartDay.tsx @@ -1,5 +1,4 @@ -const calendarStartDayTS = ` -const Example = () => { +const CalendarStartDay = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default calendarStartDayTS; +render(CalendarStartDay); diff --git a/docs-site/src/examples/ts/children.ts b/docs-site/src/examples/ts/children.ts deleted file mode 100644 index 6d75178277..0000000000 --- a/docs-site/src/examples/ts/children.ts +++ /dev/null @@ -1,15 +0,0 @@ -const childrenTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)}> -
Don't forget to check the weather!
-
- ); -}; - -render(); -`; - -export default childrenTS; diff --git a/docs-site/src/examples/ts/children.tsx b/docs-site/src/examples/ts/children.tsx new file mode 100644 index 0000000000..fe41af9720 --- /dev/null +++ b/docs-site/src/examples/ts/children.tsx @@ -0,0 +1,14 @@ +const Children = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + > +
Don't forget to check the weather!
+
+ ); +}; + +render(Children); diff --git a/docs-site/src/examples/ts/clearInput.ts b/docs-site/src/examples/ts/clearInput.tsx similarity index 72% rename from docs-site/src/examples/ts/clearInput.ts rename to docs-site/src/examples/ts/clearInput.tsx index 856a097cdc..0fe2be87ae 100644 --- a/docs-site/src/examples/ts/clearInput.ts +++ b/docs-site/src/examples/ts/clearInput.tsx @@ -1,5 +1,4 @@ -const clearInputTS = ` -const Example = () => { +const ClearInput = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default clearInputTS; +render(ClearInput); diff --git a/docs-site/src/examples/ts/closeOnScroll.ts b/docs-site/src/examples/ts/closeOnScroll.tsx similarity index 67% rename from docs-site/src/examples/ts/closeOnScroll.ts rename to docs-site/src/examples/ts/closeOnScroll.tsx index 043b244031..3ad18c700a 100644 --- a/docs-site/src/examples/ts/closeOnScroll.ts +++ b/docs-site/src/examples/ts/closeOnScroll.tsx @@ -1,5 +1,4 @@ -const closeOnScrollTS = ` -const Example = () => { +const CloseOnScroll = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default closeOnScrollTS; +render(CloseOnScroll); diff --git a/docs-site/src/examples/ts/closeOnScrollCallback.ts b/docs-site/src/examples/ts/closeOnScrollCallback.tsx similarity index 68% rename from docs-site/src/examples/ts/closeOnScrollCallback.ts rename to docs-site/src/examples/ts/closeOnScrollCallback.tsx index 7d4ef9489e..41b6fd6297 100644 --- a/docs-site/src/examples/ts/closeOnScrollCallback.ts +++ b/docs-site/src/examples/ts/closeOnScrollCallback.tsx @@ -1,5 +1,4 @@ -const closeOnScrollCallbackTS = ` -const Example = () => { +const CloseOnScrollCallback = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default closeOnScrollCallbackTS; +render(CloseOnScrollCallback); diff --git a/docs-site/src/examples/ts/configureFloatingUI.ts b/docs-site/src/examples/ts/configureFloatingUI.tsx similarity index 80% rename from docs-site/src/examples/ts/configureFloatingUI.ts rename to docs-site/src/examples/ts/configureFloatingUI.tsx index c5afca7a29..8f097b56e8 100644 --- a/docs-site/src/examples/ts/configureFloatingUI.ts +++ b/docs-site/src/examples/ts/configureFloatingUI.tsx @@ -1,5 +1,4 @@ -const configureFloatingUIS = ` -const Example = () => { +const ConfigureFloatingUI = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -21,7 +20,4 @@ const Example = () => { ); }; -render(); -`; - -export default configureFloatingUIS; +render(ConfigureFloatingUI); diff --git a/docs-site/src/examples/ts/customCalendarClassName.ts b/docs-site/src/examples/ts/customCalendarClassName.tsx similarity index 65% rename from docs-site/src/examples/ts/customCalendarClassName.ts rename to docs-site/src/examples/ts/customCalendarClassName.tsx index e588c285ab..cc347ed9e6 100644 --- a/docs-site/src/examples/ts/customCalendarClassName.ts +++ b/docs-site/src/examples/ts/customCalendarClassName.tsx @@ -1,5 +1,4 @@ -const CustomCalendarClassNameTS = ` -const Example = () => { +const CustomCalendarClassName = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default CustomCalendarClassNameTS; +render(CustomCalendarClassName); diff --git a/docs-site/src/examples/ts/customClassName.ts b/docs-site/src/examples/ts/customClassName.tsx similarity index 67% rename from docs-site/src/examples/ts/customClassName.ts rename to docs-site/src/examples/ts/customClassName.tsx index ef6cf8e867..d9910bc80e 100644 --- a/docs-site/src/examples/ts/customClassName.ts +++ b/docs-site/src/examples/ts/customClassName.tsx @@ -1,5 +1,4 @@ -const CustomClassNameTS = ` -const Example = () => { +const CustomClassName = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default CustomClassNameTS; +render(CustomClassName); diff --git a/docs-site/src/examples/ts/customDateFormat.ts b/docs-site/src/examples/ts/customDateFormat.tsx similarity index 67% rename from docs-site/src/examples/ts/customDateFormat.ts rename to docs-site/src/examples/ts/customDateFormat.tsx index 1ebbe6cfb2..cc56053ca7 100644 --- a/docs-site/src/examples/ts/customDateFormat.ts +++ b/docs-site/src/examples/ts/customDateFormat.tsx @@ -1,5 +1,4 @@ -const CustomDateFormatTS = ` -const Example = () => { +const CustomDateFormat = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default CustomDateFormatTS; +render(CustomDateFormat); diff --git a/docs-site/src/examples/ts/customDayClassName.ts b/docs-site/src/examples/ts/customDayClassName.tsx similarity index 72% rename from docs-site/src/examples/ts/customDayClassName.ts rename to docs-site/src/examples/ts/customDayClassName.tsx index d4db65f670..d9468bffba 100644 --- a/docs-site/src/examples/ts/customDayClassName.ts +++ b/docs-site/src/examples/ts/customDayClassName.tsx @@ -1,5 +1,4 @@ -const CustomDayClassNameTS = ` -const Example = () => { +const CustomDayClassName = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -13,7 +12,4 @@ const Example = () => { ); }; -render(); -`; - -export default CustomDayClassNameTS; +render(CustomDayClassName); diff --git a/docs-site/src/examples/ts/customInput.ts b/docs-site/src/examples/ts/customInput.tsx similarity index 76% rename from docs-site/src/examples/ts/customInput.ts rename to docs-site/src/examples/ts/customInput.tsx index 2594f7e88b..08a4ca5894 100644 --- a/docs-site/src/examples/ts/customInput.ts +++ b/docs-site/src/examples/ts/customInput.tsx @@ -1,10 +1,11 @@ -const customInputTS = ` type ExampleCustomInputProps = { className?: string; value?: string; onClick?: () => void; onBlur?: (event: React.FocusEvent) => void; - onChange?: (...args: Parameters["onChangeRaw"]>) => void; + onChange?: ( + ...args: Parameters["onChangeRaw"]> + ) => void; onFocus?: (event: React.FocusEvent) => void; onKeyDown?: (event: React.KeyboardEvent) => void; id?: ComponentProps["id"]; @@ -23,16 +24,17 @@ type ExampleCustomInputProps = { "aria-labelledby"?: ComponentProps["ariaLabelledBy"]; }; -const Example = () => { +const CustomInput = () => { const [startDate, setStartDate] = useState(new Date()); - const ExampleCustomInput = forwardRef( - ({ value, onClick, className }, ref) => ( - - ), - ); + const ExampleCustomInput = forwardRef< + HTMLButtonElement, + ExampleCustomInputProps + >(({ value, onClick, className }, ref) => ( + + )); return ( { ); }; -render(); -`; - -export default customInputTS; +render(CustomInput); diff --git a/docs-site/src/examples/ts/customTimeClassName.ts b/docs-site/src/examples/ts/customTimeClassName.tsx similarity index 75% rename from docs-site/src/examples/ts/customTimeClassName.ts rename to docs-site/src/examples/ts/customTimeClassName.tsx index f0027b52e0..eadf7ec918 100644 --- a/docs-site/src/examples/ts/customTimeClassName.ts +++ b/docs-site/src/examples/ts/customTimeClassName.tsx @@ -1,5 +1,4 @@ -const CustomTimeClassNameTS = ` -const Example = () => { +const CustomTimeClassName = () => { const [startDate, setStartDate] = useState(new Date()); const handleColor = (time: Date): string => { @@ -16,7 +15,4 @@ const Example = () => { ); }; -render(); -`; - -export default CustomTimeClassNameTS; +render(CustomTimeClassName); diff --git a/docs-site/src/examples/ts/customTimeInput.ts b/docs-site/src/examples/ts/customTimeInput.tsx similarity index 73% rename from docs-site/src/examples/ts/customTimeInput.ts rename to docs-site/src/examples/ts/customTimeInput.tsx index b38d9a37ac..f14f42a2e6 100644 --- a/docs-site/src/examples/ts/customTimeInput.ts +++ b/docs-site/src/examples/ts/customTimeInput.tsx @@ -1,15 +1,16 @@ -const CustomTimeInputTS = ` - interface ExampleCustomTimeInputProps { date?: Date; value: string; onChange: (time: string) => void; } -const Example = () => { +const CustomTimeInput = () => { const [startDate, setStartDate] = useState(new Date()); - const ExampleCustomTimeInput = ({ value, onChange }: ExampleCustomTimeInputProps) => ( + const ExampleCustomTimeInput = ({ + value, + onChange, + }: ExampleCustomTimeInputProps) => ( onChange(e.target.value)} @@ -28,7 +29,4 @@ const Example = () => { ); }; -render(); -`; - -export default CustomTimeInputTS; +render(CustomTimeInput); diff --git a/docs-site/src/examples/ts/dateRange.ts b/docs-site/src/examples/ts/dateRange.tsx similarity index 74% rename from docs-site/src/examples/ts/dateRange.ts rename to docs-site/src/examples/ts/dateRange.tsx index e82cf91bd4..03eaf92629 100644 --- a/docs-site/src/examples/ts/dateRange.ts +++ b/docs-site/src/examples/ts/dateRange.tsx @@ -1,6 +1,7 @@ -const dateRangeTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); +const DateRange = () => { + const [startDate, setStartDate] = useState( + new Date("2014/02/08"), + ); const [endDate, setEndDate] = useState(new Date("2014/02/10")); return ( @@ -24,7 +25,4 @@ const Example = () => { ); }; -render(); -`; - -export default dateRangeTS; +render(DateRange); diff --git a/docs-site/src/examples/ts/dateRangeInputWithClearButton.ts b/docs-site/src/examples/ts/dateRangeInputWithClearButton.tsx similarity index 67% rename from docs-site/src/examples/ts/dateRangeInputWithClearButton.ts rename to docs-site/src/examples/ts/dateRangeInputWithClearButton.tsx index 72b3a3c6fe..766f15c70d 100644 --- a/docs-site/src/examples/ts/dateRangeInputWithClearButton.ts +++ b/docs-site/src/examples/ts/dateRangeInputWithClearButton.tsx @@ -1,6 +1,8 @@ -const DateRangeInputWithClearButtonTS = ` -const Example = () => { - const [dateRange, setDateRange] = useState<[Date | null, Date | null]>([null, null]); +const DateRangeInputWithClearButton = () => { + const [dateRange, setDateRange] = useState<[Date | null, Date | null]>([ + null, + null, + ]); const [startDate, endDate] = dateRange; return ( @@ -16,7 +18,4 @@ const Example = () => { ); }; -render(); -`; - -export default DateRangeInputWithClearButtonTS; +render(DateRangeInputWithClearButton); diff --git a/docs-site/src/examples/ts/dateRangeWithPortal.ts b/docs-site/src/examples/ts/dateRangeWithPortal.tsx similarity index 70% rename from docs-site/src/examples/ts/dateRangeWithPortal.ts rename to docs-site/src/examples/ts/dateRangeWithPortal.tsx index 95d13c31dc..54da56e9de 100644 --- a/docs-site/src/examples/ts/dateRangeWithPortal.ts +++ b/docs-site/src/examples/ts/dateRangeWithPortal.tsx @@ -1,6 +1,8 @@ -const DateRangeWithPortalTS = ` -const Example = () => { - const [dateRange, setDateRange] = useState<[Date | null, Date | null]>([null, null]); +const DateRangeWithPortal = () => { + const [dateRange, setDateRange] = useState<[Date | null, Date | null]>([ + null, + null, + ]); const [startDate, endDate] = dateRange; return ( @@ -16,7 +18,4 @@ const Example = () => { ); }; -render(); -`; - -export default DateRangeWithPortalTS; +render(DateRangeWithPortal); diff --git a/docs-site/src/examples/ts/dateRangeWithShowDisabledNavigation.ts b/docs-site/src/examples/ts/dateRangeWithShowDisabledNavigation.tsx similarity index 78% rename from docs-site/src/examples/ts/dateRangeWithShowDisabledNavigation.ts rename to docs-site/src/examples/ts/dateRangeWithShowDisabledNavigation.tsx index a38423bff9..b70c4dde5c 100644 --- a/docs-site/src/examples/ts/dateRangeWithShowDisabledNavigation.ts +++ b/docs-site/src/examples/ts/dateRangeWithShowDisabledNavigation.tsx @@ -1,5 +1,4 @@ -const dateRangeWithShowDisabledNavigationTS = ` -const Example = () => { +const DateRangeWithShowDisabledNavigation = () => { const [startDate, setStartDate] = useState(new Date()); const [endDate, setEndDate] = useState(null); @@ -24,7 +23,4 @@ const Example = () => { ); }; -render(); -`; - -export default dateRangeWithShowDisabledNavigationTS; +render(DateRangeWithShowDisabledNavigation); diff --git a/docs-site/src/examples/ts/default.ts b/docs-site/src/examples/ts/default.tsx similarity index 64% rename from docs-site/src/examples/ts/default.ts rename to docs-site/src/examples/ts/default.tsx index 5cbb5e8af0..06e6768cd2 100644 --- a/docs-site/src/examples/ts/default.ts +++ b/docs-site/src/examples/ts/default.tsx @@ -1,5 +1,4 @@ -const defaultTS = ` -const Example = () => { +const Default = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -7,7 +6,4 @@ const Example = () => { ); }; -render(); -`; - -export default defaultTS; +render(Default); diff --git a/docs-site/src/examples/ts/disabled.ts b/docs-site/src/examples/ts/disabled.tsx similarity index 72% rename from docs-site/src/examples/ts/disabled.ts rename to docs-site/src/examples/ts/disabled.tsx index 0488676599..9c8e2a8326 100644 --- a/docs-site/src/examples/ts/disabled.ts +++ b/docs-site/src/examples/ts/disabled.tsx @@ -1,5 +1,4 @@ -const DisabledTS = ` -const Example = () => { +const Disabled = () => { const [startDate, setStartDate] = useState(null); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default DisabledTS; +render(Disabled); diff --git a/docs-site/src/examples/ts/disabledKeyboardNavigation.ts b/docs-site/src/examples/ts/disabledKeyboardNavigation.tsx similarity index 68% rename from docs-site/src/examples/ts/disabledKeyboardNavigation.ts rename to docs-site/src/examples/ts/disabledKeyboardNavigation.tsx index ee8733cbdc..4460dbce72 100644 --- a/docs-site/src/examples/ts/disabledKeyboardNavigation.ts +++ b/docs-site/src/examples/ts/disabledKeyboardNavigation.tsx @@ -1,5 +1,4 @@ -const DisabledKeyboardNavigationTS = ` -const Example = () => { +const DisabledKeyboardNavigation = () => { const [startDate, setStartDate] = useState(null); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default DisabledKeyboardNavigationTS; +render(DisabledKeyboardNavigation); diff --git a/docs-site/src/examples/ts/dontCloseOnSelect.ts b/docs-site/src/examples/ts/dontCloseOnSelect.tsx similarity index 67% rename from docs-site/src/examples/ts/dontCloseOnSelect.ts rename to docs-site/src/examples/ts/dontCloseOnSelect.tsx index f3d144a988..54966a1f28 100644 --- a/docs-site/src/examples/ts/dontCloseOnSelect.ts +++ b/docs-site/src/examples/ts/dontCloseOnSelect.tsx @@ -1,5 +1,4 @@ -const DontCloseOnSelectTS = ` -const Example = () => { +const DontCloseOnSelect = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default DontCloseOnSelectTS; +render(DontCloseOnSelect); diff --git a/docs-site/src/examples/ts/excludeDateIntervals.ts b/docs-site/src/examples/ts/excludeDateIntervals.tsx similarity index 76% rename from docs-site/src/examples/ts/excludeDateIntervals.ts rename to docs-site/src/examples/ts/excludeDateIntervals.tsx index 9d7648139d..04f874d971 100644 --- a/docs-site/src/examples/ts/excludeDateIntervals.ts +++ b/docs-site/src/examples/ts/excludeDateIntervals.tsx @@ -1,18 +1,17 @@ -const excludeDateIntervalsTS = ` type TExcludeDateIntervals = { start: Date; end: Date; }[]; -const Example = () => { +const ExcludeDateIntervals = () => { const [startDate, setStartDate] = useState(new Date()); const excludeDateIntervals: TExcludeDateIntervals = [ { start: subDays(new Date(), 5), - end: addDays(new Date(), 5) + end: addDays(new Date(), 5), }, - ] + ]; return ( { ); }; -render(); -`; - -export default excludeDateIntervalsTS; +render(ExcludeDateIntervals); diff --git a/docs-site/src/examples/ts/excludeDates.ts b/docs-site/src/examples/ts/excludeDates.tsx similarity index 66% rename from docs-site/src/examples/ts/excludeDates.ts rename to docs-site/src/examples/ts/excludeDates.tsx index cfebc66bf1..cd18a6d74a 100644 --- a/docs-site/src/examples/ts/excludeDates.ts +++ b/docs-site/src/examples/ts/excludeDates.tsx @@ -1,13 +1,14 @@ -const excludeDatesTS = ` -type TExcludeDates = { - date: Date; - message?: string; -}[] | Date[]; +type TExcludeDates = + | { + date: Date; + message?: string; + }[] + | Date[]; -const Example = () => { +const ExcludeDates = () => { const [startDate, setStartDate] = useState(new Date()); - const excludeDates: TExcludeDates = [new Date(), subDays(new Date(), 1)] + const excludeDates: TExcludeDates = [new Date(), subDays(new Date(), 1)]; return ( { ); }; -render(); -`; - -export default excludeDatesTS; +render(ExcludeDates); diff --git a/docs-site/src/examples/ts/excludeDatesMonthPicker.ts b/docs-site/src/examples/ts/excludeDatesMonthPicker.tsx similarity index 52% rename from docs-site/src/examples/ts/excludeDatesMonthPicker.ts rename to docs-site/src/examples/ts/excludeDatesMonthPicker.tsx index 093cbc0945..7567120dc8 100644 --- a/docs-site/src/examples/ts/excludeDatesMonthPicker.ts +++ b/docs-site/src/examples/ts/excludeDatesMonthPicker.tsx @@ -1,16 +1,19 @@ -const excludeDatesMonthPickerTS = ` -type TExcludeDates = { - date: Date; - message?: string; -}[] | Date[]; +type TExcludeDates = + | { + date: Date; + message?: string; + }[] + | Date[]; -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2024-08-01")); +const ExcludeDatesMonthPicker = () => { + const [startDate, setStartDate] = useState( + new Date("2024-08-01"), + ); const excludeDates: TExcludeDates = [ new Date("2024-05-01"), new Date("2024-06-01"), - ] + ]; return ( { ); }; -render(); -`; - -export default excludeDatesMonthPickerTS; +render(ExcludeDatesMonthPicker); diff --git a/docs-site/src/examples/ts/excludeDatesRangeMonthPicker.ts b/docs-site/src/examples/ts/excludeDatesRangeMonthPicker.tsx similarity index 72% rename from docs-site/src/examples/ts/excludeDatesRangeMonthPicker.ts rename to docs-site/src/examples/ts/excludeDatesRangeMonthPicker.tsx index 7e340e1151..5732fd1931 100644 --- a/docs-site/src/examples/ts/excludeDatesRangeMonthPicker.ts +++ b/docs-site/src/examples/ts/excludeDatesRangeMonthPicker.tsx @@ -1,16 +1,20 @@ -const excludeDatesRangeMonthPickerTS = ` -type TExcludeDates = { - date: Date; - message?: string; -}[] | Date[]; +type TExcludeDates = + | { + date: Date; + message?: string; + }[] + | Date[]; -const Example = () => { +const ExcludeDatesRangeMonthPicker = () => { const defaultStartDate = new Date("2024-08-01"); const defaultEndDate = new Date("2024-10-01"); const [startDate, setStartDate] = useState(defaultStartDate); const [endDate, setEndDate] = useState(defaultEndDate); - const handleChange = ([newStartDate, newEndDate]: [Date | null, Date | null]) => { + const handleChange = ([newStartDate, newEndDate]: [ + Date | null, + Date | null, + ]) => { setStartDate(newStartDate); setEndDate(newEndDate); }; @@ -20,7 +24,7 @@ const Example = () => { new Date("2024-02-01"), new Date("2024-01-01"), new Date("2024-11-01"), - ] + ]; return ( { ); }; -render(); -`; - -export default excludeDatesRangeMonthPickerTS; +render(ExcludeDatesRangeMonthPicker); diff --git a/docs-site/src/examples/ts/excludeDatesWithMessage.ts b/docs-site/src/examples/ts/excludeDatesWithMessage.tsx similarity index 70% rename from docs-site/src/examples/ts/excludeDatesWithMessage.ts rename to docs-site/src/examples/ts/excludeDatesWithMessage.tsx index e520e74ab4..44b1f25d6c 100644 --- a/docs-site/src/examples/ts/excludeDatesWithMessage.ts +++ b/docs-site/src/examples/ts/excludeDatesWithMessage.tsx @@ -1,16 +1,17 @@ -const excludeDatesWithMessageTS = ` -type TExcludeDates = { - date: Date; - message?: string; -}[] | Date[]; +type TExcludeDates = + | { + date: Date; + message?: string; + }[] + | Date[]; -const Example = () => { +const ExcludeDatesWithMessage = () => { const [startDate, setStartDate] = useState(new Date()); const excludeDates: TExcludeDates = [ { date: new Date(), message: "Today is excluded" }, { date: subDays(new Date(), 1), message: "This day is excluded" }, - ] + ]; return ( { ); }; -render(); -`; - -export default excludeDatesWithMessageTS; +render(ExcludeDatesWithMessage); diff --git a/docs-site/src/examples/ts/excludeTimePeriod.ts b/docs-site/src/examples/ts/excludeTimePeriod.tsx similarity index 78% rename from docs-site/src/examples/ts/excludeTimePeriod.ts rename to docs-site/src/examples/ts/excludeTimePeriod.tsx index 2aa804f9c7..5d0527338a 100644 --- a/docs-site/src/examples/ts/excludeTimePeriod.ts +++ b/docs-site/src/examples/ts/excludeTimePeriod.tsx @@ -1,5 +1,4 @@ -const excludeTimePeriodTS = ` -const Example = () => { +const ExcludeTimePeriod = () => { const [startDate, setStartDate] = useState( setHours(setMinutes(new Date(), 30), 17), ); @@ -16,7 +15,4 @@ const Example = () => { ); }; -render(); -`; - -export default excludeTimePeriodTS; +render(ExcludeTimePeriod); diff --git a/docs-site/src/examples/ts/excludeTimes.ts b/docs-site/src/examples/ts/excludeTimes.tsx similarity index 84% rename from docs-site/src/examples/ts/excludeTimes.ts rename to docs-site/src/examples/ts/excludeTimes.tsx index 2d9aae610d..d2a45b10f5 100644 --- a/docs-site/src/examples/ts/excludeTimes.ts +++ b/docs-site/src/examples/ts/excludeTimes.tsx @@ -1,7 +1,6 @@ -const excludeTimesTS = ` type TExcludeTimes = Date[]; -const Example = () => { +const ExcludeTimes = () => { const [startDate, setStartDate] = useState( setHours(setMinutes(new Date(), 30), 16), ); @@ -11,7 +10,7 @@ const Example = () => { setHours(setMinutes(new Date(), 30), 18), setHours(setMinutes(new Date(), 30), 19), setHours(setMinutes(new Date(), 30), 17), - ] + ]; return ( { ); }; -render(); -`; - -export default excludeTimesTS; +render(ExcludeTimes); diff --git a/docs-site/src/examples/ts/excludeWeeks.ts b/docs-site/src/examples/ts/excludeWeeks.tsx similarity index 70% rename from docs-site/src/examples/ts/excludeWeeks.ts rename to docs-site/src/examples/ts/excludeWeeks.tsx index 05e1453bfb..b061e81960 100644 --- a/docs-site/src/examples/ts/excludeWeeks.ts +++ b/docs-site/src/examples/ts/excludeWeeks.tsx @@ -1,16 +1,17 @@ -const excludeWeeksTS = ` type TExcludeDateIntervals = { start: Date; end: Date; }[]; -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2021/02/22")); +const ExcludeWeeks = () => { + const [startDate, setStartDate] = useState( + new Date("2021/02/22"), + ); const excludeWeeks: TExcludeDateIntervals = [ { start: "2021/02/08", end: "2021/02/14" }, { start: "2021/01/18", end: "2021/01/24" }, - ] + ]; return ( { ); }; -render(); -`; - -export default excludeWeeksTS; +render(ExcludeWeeks); diff --git a/docs-site/src/examples/ts/externalForm.ts b/docs-site/src/examples/ts/externalForm.tsx similarity index 77% rename from docs-site/src/examples/ts/externalForm.ts rename to docs-site/src/examples/ts/externalForm.tsx index ef43f561e0..3b60f97140 100644 --- a/docs-site/src/examples/ts/externalForm.ts +++ b/docs-site/src/examples/ts/externalForm.tsx @@ -1,5 +1,4 @@ -const externalFormTS = ` -const Example = () => { +const ExternalForm = () => { const [startDate, setStartDate] = useState(null); return ( @@ -17,7 +16,4 @@ const Example = () => { ); }; -render(); -`; - -export default externalFormTS; +render(ExternalForm); diff --git a/docs-site/src/examples/ts/filterDates.ts b/docs-site/src/examples/ts/filterDates.tsx similarity index 80% rename from docs-site/src/examples/ts/filterDates.ts rename to docs-site/src/examples/ts/filterDates.tsx index 980504607e..fb88ebe413 100644 --- a/docs-site/src/examples/ts/filterDates.ts +++ b/docs-site/src/examples/ts/filterDates.tsx @@ -1,7 +1,6 @@ -const filterDatesTS = ` type TFilterDate = (date: Date) => boolean; -const Example = () => { +const FilterDates = () => { const [startDate, setStartDate] = useState(null); const isWeekday: TFilterDate = (date) => { @@ -19,7 +18,4 @@ const Example = () => { ); }; -render(); -`; - -export default filterDatesTS; +render(FilterDates); diff --git a/docs-site/src/examples/ts/filterTimes.ts b/docs-site/src/examples/ts/filterTimes.tsx similarity index 84% rename from docs-site/src/examples/ts/filterTimes.ts rename to docs-site/src/examples/ts/filterTimes.tsx index 165f4c3803..828123c311 100644 --- a/docs-site/src/examples/ts/filterTimes.ts +++ b/docs-site/src/examples/ts/filterTimes.tsx @@ -1,7 +1,6 @@ -const filterTimesTS = ` type TFilterTime = (time: Date) => boolean; -const Example = () => { +const FilterTimes = () => { const [startDate, setStartDate] = useState( setHours(setMinutes(new Date(), 0), 9), ); @@ -24,7 +23,4 @@ const Example = () => { ); }; -render(); -`; - -export default filterTimesTS; +render(FilterTimes); diff --git a/docs-site/src/examples/ts/fixedCalendar.ts b/docs-site/src/examples/ts/fixedCalendar.tsx similarity index 66% rename from docs-site/src/examples/ts/fixedCalendar.ts rename to docs-site/src/examples/ts/fixedCalendar.tsx index a732a7e81b..e9f49d5950 100644 --- a/docs-site/src/examples/ts/fixedCalendar.ts +++ b/docs-site/src/examples/ts/fixedCalendar.tsx @@ -1,5 +1,4 @@ -const fixedCalendarTS = ` -const Example = () => { +const FixedCalendar = () => { const [startDate, setStartDate] = useState(null); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default fixedCalendarTS; +render(FixedCalendar); diff --git a/docs-site/src/examples/ts/hideTimeCaption.ts b/docs-site/src/examples/ts/hideTimeCaption.tsx similarity index 74% rename from docs-site/src/examples/ts/hideTimeCaption.ts rename to docs-site/src/examples/ts/hideTimeCaption.tsx index a496d0a7c8..c2469739b9 100644 --- a/docs-site/src/examples/ts/hideTimeCaption.ts +++ b/docs-site/src/examples/ts/hideTimeCaption.tsx @@ -1,5 +1,4 @@ -const hideTimeCaptionTS = ` -const Example = () => { +const HideTimeCaption = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -15,7 +14,4 @@ const Example = () => { ); }; -render(); -`; - -export default hideTimeCaptionTS; +render(HideTimeCaption); diff --git a/docs-site/src/examples/ts/highlightDates.ts b/docs-site/src/examples/ts/highlightDates.tsx similarity index 82% rename from docs-site/src/examples/ts/highlightDates.ts rename to docs-site/src/examples/ts/highlightDates.tsx index bec63ab7dd..1b7b97ab59 100644 --- a/docs-site/src/examples/ts/highlightDates.ts +++ b/docs-site/src/examples/ts/highlightDates.tsx @@ -1,11 +1,10 @@ -const highlightDatesTS = ` type HighlightDate = { [className: string]: Date[]; -} +}; type THighlightDates = (Date | HighlightDate)[]; -const Example = () => { +const HighlightDates = () => { const [startDate, setStartDate] = useState(new Date()); const highlightDates: THighlightDates = [ @@ -23,7 +22,4 @@ const Example = () => { ); }; -render(); -`; - -export default highlightDatesTS; +render(HighlightDates); diff --git a/docs-site/src/examples/ts/highlightDatesRanges.ts b/docs-site/src/examples/ts/highlightDatesRanges.tsx similarity index 87% rename from docs-site/src/examples/ts/highlightDatesRanges.ts rename to docs-site/src/examples/ts/highlightDatesRanges.tsx index 591588f90e..c020e2af31 100644 --- a/docs-site/src/examples/ts/highlightDatesRanges.ts +++ b/docs-site/src/examples/ts/highlightDatesRanges.tsx @@ -1,11 +1,10 @@ -const highlightDatesRangesTS = ` type HighlightDate = { [className: string]: Date[]; -} +}; type THighlightDates = (Date | HighlightDate)[]; -const Example = () => { +const HighlightDatesRanges = () => { const [startDate, setStartDate] = useState(new Date()); const highlightWithRanges: THighlightDates = [ @@ -37,7 +36,4 @@ const Example = () => { ); }; -render(); -`; - -export default highlightDatesRangesTS; +render(HighlightDatesRanges); diff --git a/docs-site/src/examples/ts/holidayDates.ts b/docs-site/src/examples/ts/holidayDates.tsx similarity index 86% rename from docs-site/src/examples/ts/holidayDates.ts rename to docs-site/src/examples/ts/holidayDates.tsx index 5ed02e1959..ae4e1dc0fc 100644 --- a/docs-site/src/examples/ts/holidayDates.ts +++ b/docs-site/src/examples/ts/holidayDates.tsx @@ -1,10 +1,9 @@ -const holidayDatesTS = ` type Holiday = { date: string; holidayName: string; -} +}; -const Example = () => { +const HolidayDates = () => { const [startDate, setStartDate] = useState(new Date()); const holidays: Holiday[] = [ @@ -25,7 +24,4 @@ const Example = () => { ); }; -render(); -`; - -export default holidayDatesTS; +render(HolidayDates); diff --git a/docs-site/src/examples/ts/includeDateIntervals.ts b/docs-site/src/examples/ts/includeDateIntervals.tsx similarity index 81% rename from docs-site/src/examples/ts/includeDateIntervals.ts rename to docs-site/src/examples/ts/includeDateIntervals.tsx index 78496d9964..1250f6291f 100644 --- a/docs-site/src/examples/ts/includeDateIntervals.ts +++ b/docs-site/src/examples/ts/includeDateIntervals.tsx @@ -1,10 +1,9 @@ -const includeDateIntervalsTS = ` type TIncludeDateIntervals = { start: Date; end: Date; }[]; -const Example = () => { +const IncludeDateIntervals = () => { const [startDate, setStartDate] = useState(null); const includeDateIntervals: TIncludeDateIntervals = [ @@ -21,7 +20,4 @@ const Example = () => { ); }; -render(); -`; - -export default includeDateIntervalsTS; +render(IncludeDateIntervals); diff --git a/docs-site/src/examples/ts/includeDates.ts b/docs-site/src/examples/ts/includeDates.tsx similarity index 62% rename from docs-site/src/examples/ts/includeDates.ts rename to docs-site/src/examples/ts/includeDates.tsx index 4636ecb28d..e5ccbdc914 100644 --- a/docs-site/src/examples/ts/includeDates.ts +++ b/docs-site/src/examples/ts/includeDates.tsx @@ -1,12 +1,9 @@ -const includeDatesTS = ` type TIncludeDates = Date[]; -const Example = () => { + +const IncludeDates = () => { const [startDate, setStartDate] = useState(null); - const includeDates: TIncludeDates = [ - new Date(), - addDays(new Date(), 1), - ]; + const includeDates: TIncludeDates = [new Date(), addDays(new Date(), 1)]; return ( { ); }; -render(); -`; - -export default includeDatesTS; +render(IncludeDates); diff --git a/docs-site/src/examples/ts/includeDatesMonthPicker.ts b/docs-site/src/examples/ts/includeDatesMonthPicker.tsx similarity index 75% rename from docs-site/src/examples/ts/includeDatesMonthPicker.ts rename to docs-site/src/examples/ts/includeDatesMonthPicker.tsx index 94352c904e..99ced37fa2 100644 --- a/docs-site/src/examples/ts/includeDatesMonthPicker.ts +++ b/docs-site/src/examples/ts/includeDatesMonthPicker.tsx @@ -1,5 +1,4 @@ -const includeDatesMonthPickerTS = ` -const Example = () => { +const IncludeDatesMonthPicker = () => { const [startDate, setStartDate] = useState(null); const includeDates: Date[] = [ @@ -17,7 +16,4 @@ const Example = () => { ); }; -render(); -`; - -export default includeDatesMonthPickerTS; +render(IncludeDatesMonthPicker); diff --git a/docs-site/src/examples/ts/includeTimes.ts b/docs-site/src/examples/ts/includeTimes.tsx similarity index 84% rename from docs-site/src/examples/ts/includeTimes.ts rename to docs-site/src/examples/ts/includeTimes.tsx index 00b114625c..62fab0c438 100644 --- a/docs-site/src/examples/ts/includeTimes.ts +++ b/docs-site/src/examples/ts/includeTimes.tsx @@ -1,5 +1,4 @@ -const includeTimesTs = ` -const Example = () => { +const IncludeTimes = () => { const [startDate, setStartDate] = useState( setHours(setMinutes(new Date(), 30), 16), ); @@ -22,7 +21,4 @@ const Example = () => { ); }; -render(); -`; - -export default includeTimesTs; +render(IncludeTimes); diff --git a/docs-site/src/examples/ts/index.ts b/docs-site/src/examples/ts/index.ts deleted file mode 100644 index ca32a16025..0000000000 --- a/docs-site/src/examples/ts/index.ts +++ /dev/null @@ -1,106 +0,0 @@ -export { default as calendarContainerTS } from "./calendarContainer"; -export { default as calendarIconTS } from "./calendarIcon"; -export { default as defaultTS } from "./default"; -export { default as calendarIconSvgIconTS } from "./calendarIconSvgIcon"; -export { default as calendarIconExternalTS } from "./calendarIconExternal"; -export { default as calendarStartDayTS } from "./calendarStartDay"; -export { default as onCalendarOpenStateCallbacksTS } from "./onCalendarOpenStateCallbacks"; -export { default as toggleCalendarOnIconClickTS } from "./toggleCalendarOnIconClick"; -export { default as childrenTS } from "./children"; -export { default as clearInputTS } from "./clearInput"; -export { default as closeOnScrollTS } from "./closeOnScroll"; -export { default as closeOnScrollCallbackTS } from "./closeOnScrollCallback"; -export { default as configureFloatingUIS } from "./configureFloatingUI"; -export { default as customInputTS } from "./customInput"; -export { default as renderCustomHeaderTS } from "./renderCustomHeader"; -export { default as renderCustomHeaderTwoMonthsTS } from "./renderCustomHeaderTwoMonths"; -export { default as renderCustomDayTS } from "./renderCustomDay"; -export { default as renderCustomMonthTS } from "./renderCustomMonth"; -export { default as renderCustomQuarterTS } from "./renderCustomQuarter"; -export { default as renderCustomYearTS } from "./renderCustomYear"; -export { default as customCalendarClassNameTS } from "./customCalendarClassName"; -export { default as customClassNameTS } from "./customClassName"; -export { default as customDayClassNameTS } from "./customDayClassName"; -export { default as customDateFormatTS } from "./customDateFormat"; -export { default as customTimeClassNameTS } from "./customTimeClassName"; -export { default as customTimeInputTS } from "./customTimeInput"; -export { default as dateRangeTS } from "./dateRange"; -export { default as selectsRangeTS } from "./selectsRange"; -export { default as selectsRangeWithDisabledDatesTS } from "./selectsRangeWithDisabledDates"; -export { default as dateRangeWithShowDisabledNavigationTS } from "./dateRangeWithShowDisabledNavigation"; -export { default as dateRangeInputWithClearButtonTS } from "./dateRangeInputWithClearButton"; -export { default as dateRangeWithPortalTS } from "./dateRangeWithPortal"; -export { default as disabledTS } from "./disabled"; -export { default as disabledKeyboardNavigationTS } from "./disabledKeyboardNavigation"; -export { default as weekNumbersTS } from "./weekNumbers"; -export { default as dontCloseOnSelectTS } from "./dontCloseOnSelect"; -export { default as excludeDatesTS } from "./excludeDates"; -export { default as excludeDatesWithMessageTS } from "./excludeDatesWithMessage"; -export { default as excludeDateIntervalsTS } from "./excludeDateIntervals"; -export { default as excludeDatesMonthPickerTS } from "./excludeDatesMonthPicker"; -export { default as excludeDatesRangeMonthPickerTS } from "./excludeDatesRangeMonthPicker"; -export { default as excludeTimesTS } from "./excludeTimes"; -export { default as filterDatesTS } from "./filterDates"; -export { default as filterTimesTS } from "./filterTimes"; -export { default as fixedCalendarTS } from "./fixedCalendar"; -export { default as rawChangeTS } from "./rawChange"; -export { default as highlightDatesTS } from "./highlightDates"; -export { default as highlightDatesRangesTS } from "./highlightDatesRanges"; -export { default as holidayDatesTS } from "./holidayDates"; -export { default as includeDatesTS } from "./includeDates"; -export { default as includeDateIntervalsTS } from "./includeDateIntervals"; -export { default as includeDatesMonthPickerTS } from "./includeDatesMonthPicker"; -export { default as includeTimesTS } from "./includeTimes"; -export { default as injectTimesTS } from "./injectTimes"; -export { default as inlineTS } from "./inline"; -export { default as inlineVisibleTS } from "./inlineVisible"; -export { default as timeInputTS } from "./timeInput"; -export { default as localeTS } from "./locale"; -export { default as localeWithTimeTS } from "./localeWithTime"; -export { default as localeWithoutGlobalVariableTS } from "./localeWithoutGlobalVariable"; -export { default as minDateTS } from "./minDate"; -export { default as maxDateTS } from "./maxDate"; -export { default as monthPickerTS } from "./monthPicker"; -export { default as monthPickerFullNameTS } from "./monthPickerFullName"; -export { default as monthPickerTwoColumnsTS } from "./monthPickerTwoColumns"; -export { default as monthPickerFourColumnsTS } from "./monthPickerFourColumns"; -export { default as monthDropdownTS } from "./monthDropdown"; -export { default as monthDropdownShortTS } from "./monthDropdownShort"; -export { default as monthYearDropdownTS } from "./monthYearDropdown"; -export { default as multiMonthTS } from "./multiMonth"; -export { default as multiMonthDropdownTS } from "./multiMonthDropdown"; -export { default as multiMonthInlineTS } from "./multiMonthInline"; -export { default as noAnchorArrowTS } from "./noAnchorArrow"; -export { default as onBlurCallbacksTS } from "./onBlurCallbacks"; -export { default as openToDateTS } from "./openToDate"; -export { default as placeholderTextTS } from "./placeholderText"; -export { default as portalTS } from "./portal"; -export { default as portalByIdTS } from "./portalById"; -export { default as withPortalByIdTS } from "./withPortalById"; -export { default as quarterPickerTS } from "./quarterPicker"; -export { default as rangeMonthPickerTS } from "./rangeMonthPicker"; -export { default as rangeMonthPickerSelectsRangeTS } from "./rangeMonthPickerSelectsRange"; -export { default as rangeQuarterPickerTS } from "./rangeQuarterPicker"; -export { default as rangeQuarterPickerSelectsRangeTS } from "./rangeQuarterPickerSelectsRange"; -export { default as rangeSwapRangeTS } from "./rangeSwapRange"; -export { default as readOnlyTS } from "./readOnly"; -export { default as showTimeTS } from "./showTime"; -export { default as showTimeOnlyTS } from "./showTimeOnly"; -export { default as hideTimeCaptionTS } from "./hideTimeCaption"; -export { default as multiMonthPreviousTS } from "./multiMonthPrevious"; -export { default as specificDateRangeTS } from "./specificDateRange"; -export { default as excludeTimePeriodTS } from "./excludeTimePeriod"; -export { default as selectsMultipleTS } from "./selectsMultiple"; -export { default as selectsMultipleMonthsTS } from "./selectsMultipleMonths"; -export { default as strictParsingTS } from "./strictParsing"; -export { default as tabIndexTS } from "./tabIndex"; -export { default as todayTS } from "./today"; -export { default as yearPickerTS } from "./yearPicker"; -export { default as rangeYearPickerTS } from "./rangeYearPicker"; -export { default as rangeYearPickerSelectsRangeTS } from "./rangeYearPickerSelectsRange"; -export { default as yearDropdownTS } from "./yearDropdown"; -export { default as yearSelectDropdownTS } from "./yearSelectDropdown"; -export { default as yearItemNumberTS } from "./yearItemNumber"; -export { default as weekPickerTS } from "./weekPicker"; -export { default as excludeWeeksTS } from "./excludeWeeks"; -export { default as externalFormTS } from "./externalForm"; diff --git a/docs-site/src/examples/ts/injectTimes.ts b/docs-site/src/examples/ts/injectTimes.tsx similarity index 84% rename from docs-site/src/examples/ts/injectTimes.ts rename to docs-site/src/examples/ts/injectTimes.tsx index 9fc3e8606c..6ef27fa6f9 100644 --- a/docs-site/src/examples/ts/injectTimes.ts +++ b/docs-site/src/examples/ts/injectTimes.tsx @@ -1,5 +1,4 @@ -const injectTimesTS = ` -const Example = () => { +const InjectTimes = () => { const [startDate, setStartDate] = useState( setHours(setMinutes(new Date(), 30), 16), ); @@ -22,7 +21,4 @@ const Example = () => { ); }; -render(); -`; - -export default injectTimesTS; +render(InjectTimes); diff --git a/docs-site/src/examples/ts/inline.ts b/docs-site/src/examples/ts/inline.tsx similarity index 69% rename from docs-site/src/examples/ts/inline.ts rename to docs-site/src/examples/ts/inline.tsx index fffdff62e7..2c421ad91d 100644 --- a/docs-site/src/examples/ts/inline.ts +++ b/docs-site/src/examples/ts/inline.tsx @@ -1,5 +1,4 @@ -const inlineTS = ` -const Example = () => { +const Inline = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default inlineTS; +render(Inline); diff --git a/docs-site/src/examples/ts/inlineVisible.ts b/docs-site/src/examples/ts/inlineVisible.tsx similarity index 84% rename from docs-site/src/examples/ts/inlineVisible.ts rename to docs-site/src/examples/ts/inlineVisible.tsx index 7f46d2e499..f14aa177e7 100644 --- a/docs-site/src/examples/ts/inlineVisible.ts +++ b/docs-site/src/examples/ts/inlineVisible.tsx @@ -1,5 +1,4 @@ -const inlineVisibleTS = ` -const Example = () => { +const InlineVisible = () => { const [startDate, setStartDate] = useState(new Date()); const [isOpen, setIsOpen] = useState(false); @@ -25,7 +24,4 @@ const Example = () => { ); }; -render(); -`; - -export default inlineVisibleTS; +render(InlineVisible); diff --git a/docs-site/src/examples/ts/locale.ts b/docs-site/src/examples/ts/locale.tsx similarity index 74% rename from docs-site/src/examples/ts/locale.ts rename to docs-site/src/examples/ts/locale.tsx index 919133db99..859653fb1f 100644 --- a/docs-site/src/examples/ts/locale.ts +++ b/docs-site/src/examples/ts/locale.tsx @@ -1,5 +1,4 @@ -const localeTS = ` -const Example = () => { +const Locale = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default localeTS; +render(Locale); diff --git a/docs-site/src/examples/ts/localeWithTime.ts b/docs-site/src/examples/ts/localeWithTime.tsx similarity index 74% rename from docs-site/src/examples/ts/localeWithTime.ts rename to docs-site/src/examples/ts/localeWithTime.tsx index a9816fe5b6..2e84f03943 100644 --- a/docs-site/src/examples/ts/localeWithTime.ts +++ b/docs-site/src/examples/ts/localeWithTime.tsx @@ -1,5 +1,4 @@ -const localeWithTimeTS = ` -const Example = () => { +const LocaleWithTime = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -15,7 +14,4 @@ const Example = () => { ); }; -render(); -`; - -export default localeWithTimeTS; +render(LocaleWithTime); diff --git a/docs-site/src/examples/ts/localeWithoutGlobalVariable.ts b/docs-site/src/examples/ts/localeWithoutGlobalVariable.ts deleted file mode 100644 index 4f4aa06b5e..0000000000 --- a/docs-site/src/examples/ts/localeWithoutGlobalVariable.ts +++ /dev/null @@ -1,17 +0,0 @@ -const localeWithoutGlobalVariableTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - locale={fi} - /> - ); -}; - -render(); -`; - -export default localeWithoutGlobalVariableTS; diff --git a/docs-site/src/examples/ts/localeWithoutGlobalVariable.tsx b/docs-site/src/examples/ts/localeWithoutGlobalVariable.tsx new file mode 100644 index 0000000000..5551e72684 --- /dev/null +++ b/docs-site/src/examples/ts/localeWithoutGlobalVariable.tsx @@ -0,0 +1,13 @@ +const LocaleWithoutGlobalVariable = () => { + const [startDate, setStartDate] = useState(new Date()); + + return ( + setStartDate(date)} + locale={fi} + /> + ); +}; + +render(LocaleWithoutGlobalVariable); diff --git a/docs-site/src/examples/ts/maxDate.ts b/docs-site/src/examples/ts/maxDate.tsx similarity index 76% rename from docs-site/src/examples/ts/maxDate.ts rename to docs-site/src/examples/ts/maxDate.tsx index 31a03fddc8..a994a10fd6 100644 --- a/docs-site/src/examples/ts/maxDate.ts +++ b/docs-site/src/examples/ts/maxDate.tsx @@ -1,5 +1,4 @@ -const maxDateTS = ` -const Example = () => { +const MaxDate = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default maxDateTS; +render(MaxDate); diff --git a/docs-site/src/examples/ts/minDate.ts b/docs-site/src/examples/ts/minDate.tsx similarity index 75% rename from docs-site/src/examples/ts/minDate.ts rename to docs-site/src/examples/ts/minDate.tsx index cc58b8b7c1..48c7efeb30 100644 --- a/docs-site/src/examples/ts/minDate.ts +++ b/docs-site/src/examples/ts/minDate.tsx @@ -1,5 +1,4 @@ -const minDateTS = ` -const Example = () => { +const MinDate = () => { const [startDate, setStartDate] = useState(null); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default minDateTS; +render(MinDate); diff --git a/docs-site/src/examples/ts/monthDropdown.ts b/docs-site/src/examples/ts/monthDropdown.tsx similarity index 67% rename from docs-site/src/examples/ts/monthDropdown.ts rename to docs-site/src/examples/ts/monthDropdown.tsx index e2d898613f..e6394d8139 100644 --- a/docs-site/src/examples/ts/monthDropdown.ts +++ b/docs-site/src/examples/ts/monthDropdown.tsx @@ -1,5 +1,4 @@ -const monthDropdownTS = ` -const Example = () => { +const MonthDropdown = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default monthDropdownTS; +render(MonthDropdown); diff --git a/docs-site/src/examples/ts/monthDropdownShort.ts b/docs-site/src/examples/ts/monthDropdownShort.tsx similarity index 68% rename from docs-site/src/examples/ts/monthDropdownShort.ts rename to docs-site/src/examples/ts/monthDropdownShort.tsx index eb3317bcaf..3b172bba77 100644 --- a/docs-site/src/examples/ts/monthDropdownShort.ts +++ b/docs-site/src/examples/ts/monthDropdownShort.tsx @@ -1,5 +1,4 @@ -const monthDropdownShortTS = ` -const Example = () => { +const MonthDropdownShort = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default monthDropdownShortTS; +render(MonthDropdownShort); diff --git a/docs-site/src/examples/ts/monthPicker.ts b/docs-site/src/examples/ts/monthPicker.tsx similarity index 71% rename from docs-site/src/examples/ts/monthPicker.ts rename to docs-site/src/examples/ts/monthPicker.tsx index 87432655b3..7163698433 100644 --- a/docs-site/src/examples/ts/monthPicker.ts +++ b/docs-site/src/examples/ts/monthPicker.tsx @@ -1,5 +1,4 @@ -const monthPickerTS = ` -const Example = () => { +const MonthPicker = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default monthPickerTS; +render(MonthPicker); diff --git a/docs-site/src/examples/ts/monthPickerFourColumns.ts b/docs-site/src/examples/ts/monthPickerFourColumns.tsx similarity index 71% rename from docs-site/src/examples/ts/monthPickerFourColumns.ts rename to docs-site/src/examples/ts/monthPickerFourColumns.tsx index 2f12abe8b7..f10f041265 100644 --- a/docs-site/src/examples/ts/monthPickerFourColumns.ts +++ b/docs-site/src/examples/ts/monthPickerFourColumns.tsx @@ -1,5 +1,4 @@ -const monthPickerFourColumnsTS = ` -const Example = () => { +const MonthPickerFourColumns = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -14,7 +13,4 @@ const Example = () => { ); }; -render(); -`; - -export default monthPickerFourColumnsTS; +render(MonthPickerFourColumns); diff --git a/docs-site/src/examples/ts/monthPickerFullName.ts b/docs-site/src/examples/ts/monthPickerFullName.tsx similarity index 70% rename from docs-site/src/examples/ts/monthPickerFullName.ts rename to docs-site/src/examples/ts/monthPickerFullName.tsx index f37533316d..51a0dbeb86 100644 --- a/docs-site/src/examples/ts/monthPickerFullName.ts +++ b/docs-site/src/examples/ts/monthPickerFullName.tsx @@ -1,5 +1,4 @@ -const monthPickerFullNameTS = ` -const Example = () => { +const MonthPickerFullName = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -13,7 +12,4 @@ const Example = () => { ); }; -render(); -`; - -export default monthPickerFullNameTS; +render(MonthPickerFullName); diff --git a/docs-site/src/examples/ts/monthPickerTwoColumns.ts b/docs-site/src/examples/ts/monthPickerTwoColumns.tsx similarity index 72% rename from docs-site/src/examples/ts/monthPickerTwoColumns.ts rename to docs-site/src/examples/ts/monthPickerTwoColumns.tsx index 498948c673..e452b9cebf 100644 --- a/docs-site/src/examples/ts/monthPickerTwoColumns.ts +++ b/docs-site/src/examples/ts/monthPickerTwoColumns.tsx @@ -1,5 +1,4 @@ -const monthPickerTwoColumnsTS = ` -const Example = () => { +const MonthPickerTwoColumns = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -14,7 +13,4 @@ const Example = () => { ); }; -render(); -`; - -export default monthPickerTwoColumnsTS; +render(MonthPickerTwoColumns); diff --git a/docs-site/src/examples/ts/monthYearDropdown.ts b/docs-site/src/examples/ts/monthYearDropdown.tsx similarity index 75% rename from docs-site/src/examples/ts/monthYearDropdown.ts rename to docs-site/src/examples/ts/monthYearDropdown.tsx index 907117474e..64bdbff6db 100644 --- a/docs-site/src/examples/ts/monthYearDropdown.ts +++ b/docs-site/src/examples/ts/monthYearDropdown.tsx @@ -1,5 +1,4 @@ -const monthYearDropdownTS = ` -const Example = () => { +const MonthYearDropdown = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -14,7 +13,4 @@ const Example = () => { ); }; -render(); -`; - -export default monthYearDropdownTS; +render(MonthYearDropdown); diff --git a/docs-site/src/examples/ts/multiMonth.ts b/docs-site/src/examples/ts/multiMonth.tsx similarity index 68% rename from docs-site/src/examples/ts/multiMonth.ts rename to docs-site/src/examples/ts/multiMonth.tsx index 3c39daa295..91f707e30d 100644 --- a/docs-site/src/examples/ts/multiMonth.ts +++ b/docs-site/src/examples/ts/multiMonth.tsx @@ -1,5 +1,4 @@ -const multiMonthTS = ` -const Example = () => { +const MultiMonth = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default multiMonthTS; +render(MultiMonth); diff --git a/docs-site/src/examples/ts/multiMonthDropdown.ts b/docs-site/src/examples/ts/multiMonthDropdown.tsx similarity index 67% rename from docs-site/src/examples/ts/multiMonthDropdown.ts rename to docs-site/src/examples/ts/multiMonthDropdown.tsx index 697090ea90..e937675ec8 100644 --- a/docs-site/src/examples/ts/multiMonthDropdown.ts +++ b/docs-site/src/examples/ts/multiMonthDropdown.tsx @@ -1,5 +1,4 @@ -const multiMonthDropdownTS = ` -const Example = () => { +const MultiMonthDropdown = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default multiMonthDropdownTS; +render(MultiMonthDropdown); diff --git a/docs-site/src/examples/ts/multiMonthInline.ts b/docs-site/src/examples/ts/multiMonthInline.tsx similarity index 67% rename from docs-site/src/examples/ts/multiMonthInline.ts rename to docs-site/src/examples/ts/multiMonthInline.tsx index 55752c34ed..be22f4cd9e 100644 --- a/docs-site/src/examples/ts/multiMonthInline.ts +++ b/docs-site/src/examples/ts/multiMonthInline.tsx @@ -1,5 +1,4 @@ -const multiMonthInlineTS = ` -const Example = () => { +const MultiMonthInline = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default multiMonthInlineTS; +render(MultiMonthInline); diff --git a/docs-site/src/examples/ts/multiMonthPrevious.ts b/docs-site/src/examples/ts/multiMonthPrevious.tsx similarity index 67% rename from docs-site/src/examples/ts/multiMonthPrevious.ts rename to docs-site/src/examples/ts/multiMonthPrevious.tsx index 12627cecdb..01057b9cfb 100644 --- a/docs-site/src/examples/ts/multiMonthPrevious.ts +++ b/docs-site/src/examples/ts/multiMonthPrevious.tsx @@ -1,5 +1,4 @@ -const multiMonthPreviousTS = ` -const Example = () => { +const MultiMonthPrevious = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default multiMonthPreviousTS; +render(MultiMonthPrevious); diff --git a/docs-site/src/examples/ts/noAnchorArrow.ts b/docs-site/src/examples/ts/noAnchorArrow.tsx similarity index 68% rename from docs-site/src/examples/ts/noAnchorArrow.ts rename to docs-site/src/examples/ts/noAnchorArrow.tsx index 17dde3a775..115576afca 100644 --- a/docs-site/src/examples/ts/noAnchorArrow.ts +++ b/docs-site/src/examples/ts/noAnchorArrow.tsx @@ -1,5 +1,4 @@ -const noAnchorArrowTS = ` -const Example = () => { +const NoAnchorArrow = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default noAnchorArrowTS; +render(NoAnchorArrow); diff --git a/docs-site/src/examples/ts/onBlurCallbacks.ts b/docs-site/src/examples/ts/onBlurCallbacks.tsx similarity index 71% rename from docs-site/src/examples/ts/onBlurCallbacks.ts rename to docs-site/src/examples/ts/onBlurCallbacks.tsx index 1059dfc767..8fbae44333 100644 --- a/docs-site/src/examples/ts/onBlurCallbacks.ts +++ b/docs-site/src/examples/ts/onBlurCallbacks.tsx @@ -1,8 +1,9 @@ -const onBlurCallbacksTS = ` -const Example = () => { +const OnBlurCallbacks = () => { const [startDate, setStartDate] = useState(null); - const handleOnBlur = ({ target: { value } }: React.FocusEvent) => { + const handleOnBlur = ({ + target: { value }, + }: React.FocusEvent) => { const date = new Date(value); if (isValid(date)) { console.log("date: %s", format(date, "dd/MM/yyyy")); @@ -22,7 +23,4 @@ const Example = () => { ); }; -render(); -`; - -export default onBlurCallbacksTS; +render(OnBlurCallbacks); diff --git a/docs-site/src/examples/ts/onCalendarOpenStateCallbacks.ts b/docs-site/src/examples/ts/onCalendarOpenStateCallbacks.tsx similarity index 74% rename from docs-site/src/examples/ts/onCalendarOpenStateCallbacks.ts rename to docs-site/src/examples/ts/onCalendarOpenStateCallbacks.tsx index 5b90d15fe8..034a01bbc3 100644 --- a/docs-site/src/examples/ts/onCalendarOpenStateCallbacks.ts +++ b/docs-site/src/examples/ts/onCalendarOpenStateCallbacks.tsx @@ -1,5 +1,4 @@ -const onCalendarOpenStateCallbacksTS = ` -const Example = () => { +const OnCalendarOpenStateCallbacks = () => { const [date, setDate] = useState(new Date()); const handleCalendarClose = () => console.log("Calendar closed"); @@ -15,7 +14,4 @@ const Example = () => { ); }; -render(); -`; - -export default onCalendarOpenStateCallbacksTS; +render(OnCalendarOpenStateCallbacks); diff --git a/docs-site/src/examples/ts/openToDate.ts b/docs-site/src/examples/ts/openToDate.tsx similarity index 70% rename from docs-site/src/examples/ts/openToDate.ts rename to docs-site/src/examples/ts/openToDate.tsx index 730ffa3083..88af076b2e 100644 --- a/docs-site/src/examples/ts/openToDate.ts +++ b/docs-site/src/examples/ts/openToDate.tsx @@ -1,5 +1,4 @@ -const openToDateTS = ` -const Example = () => { +const OpenToDate = () => { const [startDate, setStartDate] = useState(null); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default openToDateTS; +render(OpenToDate); diff --git a/docs-site/src/examples/ts/placeholderText.ts b/docs-site/src/examples/ts/placeholderText.ts deleted file mode 100644 index 7ac0df4400..0000000000 --- a/docs-site/src/examples/ts/placeholderText.ts +++ /dev/null @@ -1,9 +0,0 @@ -const placeholderTextTS = ` -const Example = () => { - return ; -}; - -render(); -`; - -export default placeholderTextTS; diff --git a/docs-site/src/examples/ts/placeholderText.tsx b/docs-site/src/examples/ts/placeholderText.tsx new file mode 100644 index 0000000000..6bb807b6ea --- /dev/null +++ b/docs-site/src/examples/ts/placeholderText.tsx @@ -0,0 +1,5 @@ +const PlaceholderText = () => { + return ; +}; + +render(PlaceholderText); diff --git a/docs-site/src/examples/ts/portal.ts b/docs-site/src/examples/ts/portal.tsx similarity index 70% rename from docs-site/src/examples/ts/portal.ts rename to docs-site/src/examples/ts/portal.tsx index 98763c3300..bb153d7be2 100644 --- a/docs-site/src/examples/ts/portal.ts +++ b/docs-site/src/examples/ts/portal.tsx @@ -1,5 +1,4 @@ -const portalTS = ` -const Example = () => { +const Portal = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default portalTS; +render(Portal); diff --git a/docs-site/src/examples/ts/portalById.ts b/docs-site/src/examples/ts/portalById.tsx similarity index 69% rename from docs-site/src/examples/ts/portalById.ts rename to docs-site/src/examples/ts/portalById.tsx index 9e1463df3b..725f581d7f 100644 --- a/docs-site/src/examples/ts/portalById.ts +++ b/docs-site/src/examples/ts/portalById.tsx @@ -1,5 +1,4 @@ -const portalByIdTS = ` -const Example = () => { +const PortalById = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -11,7 +10,4 @@ const Example = () => { ); }; -render(); -`; - -export default portalByIdTS; +render(PortalById); diff --git a/docs-site/src/examples/ts/quarterPicker.ts b/docs-site/src/examples/ts/quarterPicker.tsx similarity index 70% rename from docs-site/src/examples/ts/quarterPicker.ts rename to docs-site/src/examples/ts/quarterPicker.tsx index a5de662e8a..ba6bcd3f17 100644 --- a/docs-site/src/examples/ts/quarterPicker.ts +++ b/docs-site/src/examples/ts/quarterPicker.tsx @@ -1,5 +1,4 @@ -const quarterPickerTS = ` -const Example = () => { +const QuarterPicker = () => { const [startDate, setStartDate] = useState(new Date()); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default quarterPickerTS; +render(QuarterPicker); diff --git a/docs-site/src/examples/ts/rangeMonthPicker.ts b/docs-site/src/examples/ts/rangeMonthPicker.tsx similarity index 75% rename from docs-site/src/examples/ts/rangeMonthPicker.ts rename to docs-site/src/examples/ts/rangeMonthPicker.tsx index 71f589bfd5..dbdefd5f46 100644 --- a/docs-site/src/examples/ts/rangeMonthPicker.ts +++ b/docs-site/src/examples/ts/rangeMonthPicker.tsx @@ -1,6 +1,7 @@ -const rangeMonthPickerTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); +const RangeMonthPicker = () => { + const [startDate, setStartDate] = useState( + new Date("2014/02/08"), + ); const [endDate, setEndDate] = useState(new Date("2014/04/08")); return ( @@ -27,7 +28,4 @@ const Example = () => { ); }; -render(); -`; - -export default rangeMonthPickerTS; +render(RangeMonthPicker); diff --git a/docs-site/src/examples/ts/rangeMonthPickerSelectsRange.ts b/docs-site/src/examples/ts/rangeMonthPickerSelectsRange.tsx similarity index 53% rename from docs-site/src/examples/ts/rangeMonthPickerSelectsRange.ts rename to docs-site/src/examples/ts/rangeMonthPickerSelectsRange.tsx index 1a562b6cd5..4ddbd8a241 100644 --- a/docs-site/src/examples/ts/rangeMonthPickerSelectsRange.ts +++ b/docs-site/src/examples/ts/rangeMonthPickerSelectsRange.tsx @@ -1,9 +1,13 @@ -const rangeMonthPickerSelectsRangeTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); +const RangeMonthPickerSelectsRange = () => { + const [startDate, setStartDate] = useState( + new Date("2014/02/08"), + ); const [endDate, setEndDate] = useState(null); - const handleChange = ([newStartDate, newEndDate]: [Date | null, Date | null]) => { + const handleChange = ([newStartDate, newEndDate]: [ + Date | null, + Date | null, + ]) => { setStartDate(newStartDate); setEndDate(newEndDate); }; @@ -21,7 +25,4 @@ const Example = () => { ); }; -render(); -`; - -export default rangeMonthPickerSelectsRangeTS; +render(RangeMonthPickerSelectsRange); diff --git a/docs-site/src/examples/ts/rangeQuarterPicker.ts b/docs-site/src/examples/ts/rangeQuarterPicker.tsx similarity index 75% rename from docs-site/src/examples/ts/rangeQuarterPicker.ts rename to docs-site/src/examples/ts/rangeQuarterPicker.tsx index 59f5408ca1..91b169784b 100644 --- a/docs-site/src/examples/ts/rangeQuarterPicker.ts +++ b/docs-site/src/examples/ts/rangeQuarterPicker.tsx @@ -1,6 +1,7 @@ -const rangeQuarterPickerTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); +const RangeQuarterPicker = () => { + const [startDate, setStartDate] = useState( + new Date("2014/02/08"), + ); const [endDate, setEndDate] = useState(new Date("2014/07/08")); return ( @@ -27,7 +28,4 @@ const Example = () => { ); }; -render(); -`; - -export default rangeQuarterPickerTS; +render(RangeQuarterPicker); diff --git a/docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.ts b/docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.tsx similarity index 53% rename from docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.ts rename to docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.tsx index 36f9adfcf9..7db4798e6f 100644 --- a/docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.ts +++ b/docs-site/src/examples/ts/rangeQuarterPickerSelectsRange.tsx @@ -1,9 +1,13 @@ -const rangeQuarterPickerSelectsRangeTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); +const RangeQuarterPickerSelectsRange = () => { + const [startDate, setStartDate] = useState( + new Date("2014/02/08"), + ); const [endDate, setEndDate] = useState(null); - const handleChange = ([newStartDate, newEndDate]: [Date | null, Date | null]) => { + const handleChange = ([newStartDate, newEndDate]: [ + Date | null, + Date | null, + ]) => { setStartDate(newStartDate); setEndDate(newEndDate); }; @@ -21,7 +25,4 @@ const Example = () => { ); }; -render(); -`; - -export default rangeQuarterPickerSelectsRangeTS; +render(RangeQuarterPickerSelectsRange); diff --git a/docs-site/src/examples/ts/rangeSwapRange.ts b/docs-site/src/examples/ts/rangeSwapRange.tsx similarity index 66% rename from docs-site/src/examples/ts/rangeSwapRange.ts rename to docs-site/src/examples/ts/rangeSwapRange.tsx index 207e2275b7..79c2f36b05 100644 --- a/docs-site/src/examples/ts/rangeSwapRange.ts +++ b/docs-site/src/examples/ts/rangeSwapRange.tsx @@ -1,10 +1,11 @@ -const rangeSwapRangeTS = ` -type TExcludeDates = { - date: Date; - message?: string; -}[] | Date[]; +type TExcludeDates = + | { + date: Date; + message?: string; + }[] + | Date[]; -const Example = () => { +const RangeSwapRange = () => { const [startDate, setStartDate] = useState(new Date()); const [endDate, setEndDate] = useState(null); @@ -14,7 +15,10 @@ const Example = () => { setEndDate(end); }; - const excludeDates: TExcludeDates = [addDays(new Date(), 1), addDays(new Date(), 5)] + const excludeDates: TExcludeDates = [ + addDays(new Date(), 1), + addDays(new Date(), 5), + ]; return ( { ); }; -render(); -`; - -export default rangeSwapRangeTS; +render(RangeSwapRange); diff --git a/docs-site/src/examples/ts/rangeYearPicker.ts b/docs-site/src/examples/ts/rangeYearPicker.tsx similarity index 75% rename from docs-site/src/examples/ts/rangeYearPicker.ts rename to docs-site/src/examples/ts/rangeYearPicker.tsx index b20ac57b48..fd52a4a2df 100644 --- a/docs-site/src/examples/ts/rangeYearPicker.ts +++ b/docs-site/src/examples/ts/rangeYearPicker.tsx @@ -1,6 +1,7 @@ -const rangeYearPickerTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); +const RangeYearPicker = () => { + const [startDate, setStartDate] = useState( + new Date("2014/02/08"), + ); const [endDate, setEndDate] = useState(new Date("2024/04/08")); return ( @@ -27,7 +28,4 @@ const Example = () => { ); }; -render(); -`; - -export default rangeYearPickerTS; +render(RangeYearPicker); diff --git a/docs-site/src/examples/ts/rangeYearPickerSelectsRange.ts b/docs-site/src/examples/ts/rangeYearPickerSelectsRange.tsx similarity index 53% rename from docs-site/src/examples/ts/rangeYearPickerSelectsRange.ts rename to docs-site/src/examples/ts/rangeYearPickerSelectsRange.tsx index 1294b1ad3e..d446d39271 100644 --- a/docs-site/src/examples/ts/rangeYearPickerSelectsRange.ts +++ b/docs-site/src/examples/ts/rangeYearPickerSelectsRange.tsx @@ -1,9 +1,13 @@ -const rangeYearPickerSelectsRangeTS = ` -const Example = () => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); +const RangeYearPickerSelectsRange = () => { + const [startDate, setStartDate] = useState( + new Date("2014/02/08"), + ); const [endDate, setEndDate] = useState(null); - const handleChange = ([newStartDate, newEndDate]: [Date | null, Date | null]) => { + const handleChange = ([newStartDate, newEndDate]: [ + Date | null, + Date | null, + ]) => { setStartDate(newStartDate); setEndDate(newEndDate); }; @@ -21,7 +25,4 @@ const Example = () => { ); }; -render(); -`; - -export default rangeYearPickerSelectsRangeTS; +render(RangeYearPickerSelectsRange); diff --git a/docs-site/src/examples/ts/rawChange.ts b/docs-site/src/examples/ts/rawChange.tsx similarity index 61% rename from docs-site/src/examples/ts/rawChange.ts rename to docs-site/src/examples/ts/rawChange.tsx index acca77166f..9a5d0b533d 100644 --- a/docs-site/src/examples/ts/rawChange.ts +++ b/docs-site/src/examples/ts/rawChange.tsx @@ -1,5 +1,4 @@ -const rawChangeTS = ` -const Example = () => { +const RawChange = () => { const [startDate, setStartDate] = useState(null); const handleChangeRaw = (value: string) => { @@ -13,12 +12,11 @@ const Example = () => { selected={startDate} onChange={(date: Date | null) => setStartDate(date)} placeholderText='Enter "tomorrow"' - onChangeRaw={(event: React.MouseEvent | React.KeyboardEvent) => handleChangeRaw(event.target.value)} + onChangeRaw={( + event: React.MouseEvent | React.KeyboardEvent, + ) => handleChangeRaw(event.target.value)} /> ); }; -render(); -`; - -export default rawChangeTS; +render(RawChange); diff --git a/docs-site/src/examples/ts/readOnly.ts b/docs-site/src/examples/ts/readOnly.tsx similarity index 72% rename from docs-site/src/examples/ts/readOnly.ts rename to docs-site/src/examples/ts/readOnly.tsx index ab91fe18fb..d2299957b0 100644 --- a/docs-site/src/examples/ts/readOnly.ts +++ b/docs-site/src/examples/ts/readOnly.tsx @@ -1,5 +1,4 @@ -const readOnlyTS = ` -const Example = () => { +const ReadOnly = () => { const [startDate, setStartDate] = useState(null); return ( @@ -12,7 +11,4 @@ const Example = () => { ); }; -render(); -`; - -export default readOnlyTS; +render(ReadOnly); diff --git a/docs-site/src/examples/ts/renderCustomDay.ts b/docs-site/src/examples/ts/renderCustomDay.tsx similarity index 69% rename from docs-site/src/examples/ts/renderCustomDay.ts rename to docs-site/src/examples/ts/renderCustomDay.tsx index d916f92a05..dae80f4796 100644 --- a/docs-site/src/examples/ts/renderCustomDay.ts +++ b/docs-site/src/examples/ts/renderCustomDay.tsx @@ -1,9 +1,8 @@ -const RenderCustomDayTS = ` -const Example = () => { +const RenderCustomDay = () => { const [startDate, setStartDate] = useState(new Date()); const renderDayContents = (day: number, date: Date): React.ReactNode => { - const tooltipText = \`Tooltip for date: \${date}\`; + const tooltipText = `Tooltip for date: ${date}`; return {getDate(date)}; }; @@ -17,7 +16,4 @@ const Example = () => { ); }; -render(); -`; - -export default RenderCustomDayTS; +render(RenderCustomDay); diff --git a/docs-site/src/examples/ts/renderCustomHeader.ts b/docs-site/src/examples/ts/renderCustomHeader.tsx similarity index 86% rename from docs-site/src/examples/ts/renderCustomHeader.ts rename to docs-site/src/examples/ts/renderCustomHeader.tsx index 2d00577f0e..2bf30b4678 100644 --- a/docs-site/src/examples/ts/renderCustomHeader.ts +++ b/docs-site/src/examples/ts/renderCustomHeader.tsx @@ -1,5 +1,3 @@ -const renderCustomHeaderTS = ` - const MONTHS = [ "January", "February", @@ -49,9 +47,7 @@ const CustomHeader = ({ onChange(e.target.value)} - onClick={(e) => e.target?.focus()} - style={{ border: "solid 1px pink" }} - /> - ); - - return ( - setStartDate(date)} - showTimeInput - customTimeInput={} - /> - ); -}; diff --git a/docs-site/src/examples/js/dateRange.js b/docs-site/src/examples/js/dateRange.js deleted file mode 100644 index 110fe222ea..0000000000 --- a/docs-site/src/examples/js/dateRange.js +++ /dev/null @@ -1,24 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); - const [endDate, setEndDate] = useState(new Date("2014/02/10")); - - return ( - <> - setStartDate(date)} - selectsStart - startDate={startDate} - endDate={endDate} - /> - setEndDate(date)} - selectsEnd - startDate={startDate} - endDate={endDate} - minDate={startDate} - /> - - ); -}; diff --git a/docs-site/src/examples/js/dateRangeInputWithClearButton.js b/docs-site/src/examples/js/dateRangeInputWithClearButton.js deleted file mode 100644 index b17d9f4170..0000000000 --- a/docs-site/src/examples/js/dateRangeInputWithClearButton.js +++ /dev/null @@ -1,16 +0,0 @@ -() => { - const [dateRange, setDateRange] = useState([null, null]); - const [startDate, endDate] = dateRange; - - return ( - { - setDateRange(update); - }} - selectsRange - isClearable={true} - /> - ); -}; diff --git a/docs-site/src/examples/js/dateRangeWithPortal.js b/docs-site/src/examples/js/dateRangeWithPortal.js deleted file mode 100644 index 22af3c5628..0000000000 --- a/docs-site/src/examples/js/dateRangeWithPortal.js +++ /dev/null @@ -1,16 +0,0 @@ -() => { - const [dateRange, setDateRange] = useState([null, null]); - const [startDate, endDate] = dateRange; - - return ( - { - setDateRange(update); - }} - selectsRange - withPortal - /> - ); -}; diff --git a/docs-site/src/examples/js/dateRangeWithShowDisabledNavigation.js b/docs-site/src/examples/js/dateRangeWithShowDisabledNavigation.js deleted file mode 100644 index f2cb355f45..0000000000 --- a/docs-site/src/examples/js/dateRangeWithShowDisabledNavigation.js +++ /dev/null @@ -1,24 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - const [endDate, setEndDate] = useState(null); - - const onChange = (dates) => { - const [start, end] = dates; - setStartDate(start); - setEndDate(end); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/default.js b/docs-site/src/examples/js/default.js deleted file mode 100644 index 89a44d0e49..0000000000 --- a/docs-site/src/examples/js/default.js +++ /dev/null @@ -1,7 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} /> - ); -}; diff --git a/docs-site/src/examples/js/disabled.js b/docs-site/src/examples/js/disabled.js deleted file mode 100644 index 91e23654d5..0000000000 --- a/docs-site/src/examples/js/disabled.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - disabled - placeholderText="This is disabled" - /> - ); -}; diff --git a/docs-site/src/examples/js/disabledKeyboardNavigation.js b/docs-site/src/examples/js/disabledKeyboardNavigation.js deleted file mode 100644 index a598aa5dcc..0000000000 --- a/docs-site/src/examples/js/disabledKeyboardNavigation.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - disabledKeyboardNavigation - placeholderText="This has disabled keyboard navigation" - /> - ); -}; diff --git a/docs-site/src/examples/js/dontCloseOnSelect.js b/docs-site/src/examples/js/dontCloseOnSelect.js deleted file mode 100644 index 94ec19d402..0000000000 --- a/docs-site/src/examples/js/dontCloseOnSelect.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - shouldCloseOnSelect={false} - /> - ); -}; diff --git a/docs-site/src/examples/js/excludeDateIntervals.js b/docs-site/src/examples/js/excludeDateIntervals.js deleted file mode 100644 index ee2f932589..0000000000 --- a/docs-site/src/examples/js/excludeDateIntervals.js +++ /dev/null @@ -1,14 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - excludeDateIntervals={[ - { start: subDays(new Date(), 5), end: addDays(new Date(), 5) }, - ]} - placeholderText="Select a date other than the interval from 5 days ago to 5 days in the future" - /> - ); -}; diff --git a/docs-site/src/examples/js/excludeDates.js b/docs-site/src/examples/js/excludeDates.js deleted file mode 100644 index 31fa33274a..0000000000 --- a/docs-site/src/examples/js/excludeDates.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - excludeDates={[new Date(), subDays(new Date(), 1)]} - placeholderText="Select a date other than today or yesterday" - /> - ); -}; diff --git a/docs-site/src/examples/js/excludeDatesMonthPicker.js b/docs-site/src/examples/js/excludeDatesMonthPicker.js deleted file mode 100644 index 3c409863a9..0000000000 --- a/docs-site/src/examples/js/excludeDatesMonthPicker.js +++ /dev/null @@ -1,13 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2024-08-01")); - - return ( - setStartDate(date)} - dateFormat="MM/yyyy" - excludeDates={[new Date("2024-05-01"), new Date("2024-06-01")]} - showMonthYearPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/excludeDatesRangeMonthPicker.js b/docs-site/src/examples/js/excludeDatesRangeMonthPicker.js deleted file mode 100644 index c923944600..0000000000 --- a/docs-site/src/examples/js/excludeDatesRangeMonthPicker.js +++ /dev/null @@ -1,30 +0,0 @@ -() => { - const defaultStartDate = new Date("2024-08-01"); - const defaultEndDate = new Date("2024-10-01"); - const [startDate, setStartDate] = useState(defaultStartDate); - const [endDate, setEndDate] = useState(defaultEndDate); - - const handleChange = ([newStartDate, newEndDate]) => { - setStartDate(newStartDate); - setEndDate(newEndDate); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/excludeDatesWithMessage.js b/docs-site/src/examples/js/excludeDatesWithMessage.js deleted file mode 100644 index 5879d0caa8..0000000000 --- a/docs-site/src/examples/js/excludeDatesWithMessage.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - excludeDates={[ - { date: new Date(), message: "Today is excluded" }, - { date: subDays(new Date(), 1), message: "This day is excluded" }, - ]} - placeholderText="Select a date other than today or yesterday" - /> - ); -}; diff --git a/docs-site/src/examples/js/excludeTimePeriod.js b/docs-site/src/examples/js/excludeTimePeriod.js deleted file mode 100644 index 9cce5c97b4..0000000000 --- a/docs-site/src/examples/js/excludeTimePeriod.js +++ /dev/null @@ -1,16 +0,0 @@ -() => { - const [startDate, setStartDate] = useState( - setHours(setMinutes(new Date(), 30), 17), - ); - - return ( - setStartDate(date)} - showTimeSelect - minTime={setHours(setMinutes(new Date(), 0), 17)} - maxTime={setHours(setMinutes(new Date(), 30), 20)} - dateFormat="MMMM d, yyyy h:mm aa" - /> - ); -}; diff --git a/docs-site/src/examples/js/excludeTimes.js b/docs-site/src/examples/js/excludeTimes.js deleted file mode 100644 index f288f28069..0000000000 --- a/docs-site/src/examples/js/excludeTimes.js +++ /dev/null @@ -1,20 +0,0 @@ -() => { - const [startDate, setStartDate] = useState( - setHours(setMinutes(new Date(), 30), 16), - ); - - return ( - setStartDate(date)} - showTimeSelect - excludeTimes={[ - setHours(setMinutes(new Date(), 0), 17), - setHours(setMinutes(new Date(), 30), 18), - setHours(setMinutes(new Date(), 30), 19), - setHours(setMinutes(new Date(), 30), 17), - ]} - dateFormat="MMMM d, yyyy h:mm aa" - /> - ); -}; diff --git a/docs-site/src/examples/js/excludeWeeks.js b/docs-site/src/examples/js/excludeWeeks.js deleted file mode 100644 index f28fef537f..0000000000 --- a/docs-site/src/examples/js/excludeWeeks.js +++ /dev/null @@ -1,18 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2021/02/22")); - - return ( - setStartDate(date)} - dateFormat="I/R" - locale="en-GB" - excludeDateIntervals={[ - { start: "2021/02/08", end: "2021/02/14" }, - { start: "2021/01/18", end: "2021/01/24" }, - ]} - showWeekNumbers - showWeekPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/externalForm.js b/docs-site/src/examples/js/externalForm.js deleted file mode 100644 index 2f981bb92b..0000000000 --- a/docs-site/src/examples/js/externalForm.js +++ /dev/null @@ -1,17 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - <> - setStartDate(date)} - required - form="external-form" - /> -
- -
- - ); -}; diff --git a/docs-site/src/examples/js/filterDates.js b/docs-site/src/examples/js/filterDates.js deleted file mode 100644 index 89cbba8316..0000000000 --- a/docs-site/src/examples/js/filterDates.js +++ /dev/null @@ -1,17 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - const isWeekday = (date) => { - const day = getDay(date); - return day !== 0 && day !== 6; - }; - - return ( - setStartDate(date)} - filterDate={isWeekday} - placeholderText="Select a weekday" - /> - ); -}; diff --git a/docs-site/src/examples/js/filterTimes.js b/docs-site/src/examples/js/filterTimes.js deleted file mode 100644 index a90ab49bdd..0000000000 --- a/docs-site/src/examples/js/filterTimes.js +++ /dev/null @@ -1,22 +0,0 @@ -() => { - const [startDate, setStartDate] = useState( - setHours(setMinutes(new Date(), 0), 9), - ); - - const filterPassedTime = (time) => { - const currentDate = new Date(); - const selectedDate = new Date(time); - - return currentDate.getTime() < selectedDate.getTime(); - }; - - return ( - setStartDate(date)} - showTimeSelect - filterTime={filterPassedTime} - dateFormat="MMMM d, yyyy h:mm aa" - /> - ); -}; diff --git a/docs-site/src/examples/js/fixedCalendar.js b/docs-site/src/examples/js/fixedCalendar.js deleted file mode 100644 index dfc34516cc..0000000000 --- a/docs-site/src/examples/js/fixedCalendar.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - fixedHeight - /> - ); -}; diff --git a/docs-site/src/examples/js/hideTimeCaption.js b/docs-site/src/examples/js/hideTimeCaption.js deleted file mode 100644 index 37537f7854..0000000000 --- a/docs-site/src/examples/js/hideTimeCaption.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - showTimeSelect - showTimeSelectOnly - timeIntervals={15} - dateFormat="h:mm aa" - showTimeCaption={false} - /> - ); -}; diff --git a/docs-site/src/examples/js/highlightDates.js b/docs-site/src/examples/js/highlightDates.js deleted file mode 100644 index 9299eaf0c5..0000000000 --- a/docs-site/src/examples/js/highlightDates.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - highlightDates={[subDays(new Date(), 7), addDays(new Date(), 7)]} - placeholderText="This highlights a week ago and a week from today" - /> - ); -}; diff --git a/docs-site/src/examples/js/highlightDatesRanges.js b/docs-site/src/examples/js/highlightDatesRanges.js deleted file mode 100644 index 780aa57fa6..0000000000 --- a/docs-site/src/examples/js/highlightDatesRanges.js +++ /dev/null @@ -1,31 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - const highlightWithRanges = [ - { - "react-datepicker__day--highlighted-custom-1": [ - subDays(new Date(), 4), - subDays(new Date(), 3), - subDays(new Date(), 2), - subDays(new Date(), 1), - ], - }, - { - "react-datepicker__day--highlighted-custom-2": [ - addDays(new Date(), 1), - addDays(new Date(), 2), - addDays(new Date(), 3), - addDays(new Date(), 4), - ], - }, - ]; - - return ( - setStartDate(date)} - highlightDates={highlightWithRanges} - placeholderText="This highlight two ranges with custom classes" - /> - ); -}; diff --git a/docs-site/src/examples/js/holidayDates.js b/docs-site/src/examples/js/holidayDates.js deleted file mode 100644 index 64a0f18e8d..0000000000 --- a/docs-site/src/examples/js/holidayDates.js +++ /dev/null @@ -1,19 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - holidays={[ - { date: "2023-08-15", holidayName: "India's Independence Day" }, - { date: "2023-12-31", holidayName: "New Year's Eve" }, - { date: "2023-12-25", holidayName: "Christmas" }, - { date: "2024-01-01", holidayName: "New Year's Day" }, - { date: "2023-11-23", holidayName: "Thanksgiving Day" }, - { date: "2023-12-25", holidayName: "Fake holiday" }, - ]} - placeholderText="This display holidays" - /> - ); -}; diff --git a/docs-site/src/examples/js/includeDateIntervals.js b/docs-site/src/examples/js/includeDateIntervals.js deleted file mode 100644 index 095ba8ad3e..0000000000 --- a/docs-site/src/examples/js/includeDateIntervals.js +++ /dev/null @@ -1,14 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - includeDateIntervals={[ - { start: subDays(new Date(), 5), end: addDays(new Date(), 5) }, - ]} - placeholderText="This only includes dates from 5 days ago to 5 days in the future" - /> - ); -}; diff --git a/docs-site/src/examples/js/includeDates.js b/docs-site/src/examples/js/includeDates.js deleted file mode 100644 index 0a8d009227..0000000000 --- a/docs-site/src/examples/js/includeDates.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - includeDates={[new Date(), addDays(new Date(), 1)]} - placeholderText="This only includes today and tomorrow" - /> - ); -}; diff --git a/docs-site/src/examples/js/includeDatesMonthPicker.js b/docs-site/src/examples/js/includeDatesMonthPicker.js deleted file mode 100644 index 6606df85d8..0000000000 --- a/docs-site/src/examples/js/includeDatesMonthPicker.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(1661990400000); - - return ( - setStartDate(date)} - dateFormat="MM/yyyy" - includeDates={[ - 1661990400000, 1664582400000, 1667260800000, 1672531200000, - ]} - showMonthYearPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/includeTimes.js b/docs-site/src/examples/js/includeTimes.js deleted file mode 100644 index af3c2cae4a..0000000000 --- a/docs-site/src/examples/js/includeTimes.js +++ /dev/null @@ -1,20 +0,0 @@ -() => { - const [startDate, setStartDate] = useState( - setHours(setMinutes(new Date(), 30), 16), - ); - - return ( - setStartDate(date)} - showTimeSelect - includeTimes={[ - setHours(setMinutes(new Date(), 0), 17), - setHours(setMinutes(new Date(), 30), 18), - setHours(setMinutes(new Date(), 30), 19), - setHours(setMinutes(new Date(), 30), 17), - ]} - dateFormat="MMMM d, yyyy h:mm aa" - /> - ); -}; diff --git a/docs-site/src/examples/js/injectTimes.js b/docs-site/src/examples/js/injectTimes.js deleted file mode 100644 index ef74376920..0000000000 --- a/docs-site/src/examples/js/injectTimes.js +++ /dev/null @@ -1,20 +0,0 @@ -() => { - const [startDate, setStartDate] = useState( - setHours(setMinutes(new Date(), 30), 16), - ); - - return ( - setStartDate(date)} - showTimeSelect - timeFormat="HH:mm:ss" - injectTimes={[ - setHours(setMinutes(setSeconds(new Date(), 10), 1), 0), - setHours(setMinutes(new Date(), 5), 12), - setHours(setMinutes(new Date(), 59), 23), - ]} - dateFormat="MMMM d, yyyy h:mm aa" - /> - ); -}; diff --git a/docs-site/src/examples/js/inline.js b/docs-site/src/examples/js/inline.js deleted file mode 100644 index a568491571..0000000000 --- a/docs-site/src/examples/js/inline.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - inline - /> - ); -}; diff --git a/docs-site/src/examples/js/inlineVisible.js b/docs-site/src/examples/js/inlineVisible.js deleted file mode 100644 index cd5e9786ef..0000000000 --- a/docs-site/src/examples/js/inlineVisible.js +++ /dev/null @@ -1,25 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - const [isOpen, setIsOpen] = useState(false); - - const handleChange = (e) => { - setIsOpen(!isOpen); - setStartDate(e); - }; - - const handleClick = (e) => { - e.preventDefault(); - setIsOpen(!isOpen); - }; - - return ( - <> - - {isOpen && ( - - )} - - ); -}; diff --git a/docs-site/src/examples/js/locale.js b/docs-site/src/examples/js/locale.js deleted file mode 100644 index e12b700df6..0000000000 --- a/docs-site/src/examples/js/locale.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - locale="en-GB" - placeholderText="Weeks start on Monday" - /> - ); -}; diff --git a/docs-site/src/examples/js/localeWithTime.js b/docs-site/src/examples/js/localeWithTime.js deleted file mode 100644 index 6c8b0d928d..0000000000 --- a/docs-site/src/examples/js/localeWithTime.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - locale="pt-BR" - showTimeSelect - timeFormat="p" - timeIntervals={15} - dateFormat="Pp" - /> - ); -}; diff --git a/docs-site/src/examples/js/localeWithoutGlobalVariable.js b/docs-site/src/examples/js/localeWithoutGlobalVariable.js deleted file mode 100644 index 1ea3591443..0000000000 --- a/docs-site/src/examples/js/localeWithoutGlobalVariable.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - locale={fi} - /> - ); -}; diff --git a/docs-site/src/examples/js/maxDate.js b/docs-site/src/examples/js/maxDate.js deleted file mode 100644 index f9b9a0ae99..0000000000 --- a/docs-site/src/examples/js/maxDate.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - maxDate={addDays(new Date(), 5)} - placeholderText="Select a date before 5 days in the future" - /> - ); -}; diff --git a/docs-site/src/examples/js/minDate.js b/docs-site/src/examples/js/minDate.js deleted file mode 100644 index b1be62f3f9..0000000000 --- a/docs-site/src/examples/js/minDate.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - minDate={subDays(new Date(), 5)} - placeholderText="Select a date after 5 days ago" - /> - ); -}; diff --git a/docs-site/src/examples/js/monthDropdown.js b/docs-site/src/examples/js/monthDropdown.js deleted file mode 100644 index 12eaab2444..0000000000 --- a/docs-site/src/examples/js/monthDropdown.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - showMonthDropdown - /> - ); -}; diff --git a/docs-site/src/examples/js/monthDropdownShort.js b/docs-site/src/examples/js/monthDropdownShort.js deleted file mode 100644 index e073b74e81..0000000000 --- a/docs-site/src/examples/js/monthDropdownShort.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - showMonthDropdown - useShortMonthInDropdown - /> - ); -}; diff --git a/docs-site/src/examples/js/monthPicker.js b/docs-site/src/examples/js/monthPicker.js deleted file mode 100644 index e72910dec7..0000000000 --- a/docs-site/src/examples/js/monthPicker.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - dateFormat="MM/yyyy" - showMonthYearPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/monthPickerFourColumns.js b/docs-site/src/examples/js/monthPickerFourColumns.js deleted file mode 100644 index 9ad3c67749..0000000000 --- a/docs-site/src/examples/js/monthPickerFourColumns.js +++ /dev/null @@ -1,14 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - dateFormat="MM/yyyy" - showMonthYearPicker - showFullMonthYearPicker - showFourColumnMonthYearPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/monthPickerFullName.js b/docs-site/src/examples/js/monthPickerFullName.js deleted file mode 100644 index 244701efba..0000000000 --- a/docs-site/src/examples/js/monthPickerFullName.js +++ /dev/null @@ -1,13 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - dateFormat="MM/yyyy" - showMonthYearPicker - showFullMonthYearPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/monthPickerTwoColumns.js b/docs-site/src/examples/js/monthPickerTwoColumns.js deleted file mode 100644 index 0aeee4cf0f..0000000000 --- a/docs-site/src/examples/js/monthPickerTwoColumns.js +++ /dev/null @@ -1,14 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - dateFormat="MM/yyyy" - showMonthYearPicker - showFullMonthYearPicker - showTwoColumnMonthYearPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/monthYearDropdown.js b/docs-site/src/examples/js/monthYearDropdown.js deleted file mode 100644 index 87ea8d62b6..0000000000 --- a/docs-site/src/examples/js/monthYearDropdown.js +++ /dev/null @@ -1,14 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - dateFormatCalendar={"MMM yyyy"} - minDate={subMonths(new Date(), 6)} - maxDate={addMonths(new Date(), 6)} - showMonthYearDropdown - /> - ); -}; diff --git a/docs-site/src/examples/js/multiMonth.js b/docs-site/src/examples/js/multiMonth.js deleted file mode 100644 index ee339a764e..0000000000 --- a/docs-site/src/examples/js/multiMonth.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - monthsShown={2} - /> - ); -}; diff --git a/docs-site/src/examples/js/multiMonthDropdown.js b/docs-site/src/examples/js/multiMonthDropdown.js deleted file mode 100644 index 7bfdef31ab..0000000000 --- a/docs-site/src/examples/js/multiMonthDropdown.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - monthsShown={2} - showYearDropdown - /> - ); -}; diff --git a/docs-site/src/examples/js/multiMonthInline.js b/docs-site/src/examples/js/multiMonthInline.js deleted file mode 100644 index eece68b1ad..0000000000 --- a/docs-site/src/examples/js/multiMonthInline.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - monthsShown={2} - inline - /> - ); -}; diff --git a/docs-site/src/examples/js/multiMonthPrevious.js b/docs-site/src/examples/js/multiMonthPrevious.js deleted file mode 100644 index b6b01e5fa4..0000000000 --- a/docs-site/src/examples/js/multiMonthPrevious.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - monthsShown={2} - /> - ); -}; diff --git a/docs-site/src/examples/js/noAnchorArrow.js b/docs-site/src/examples/js/noAnchorArrow.js deleted file mode 100644 index 6a8fa78baf..0000000000 --- a/docs-site/src/examples/js/noAnchorArrow.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - /> - ); -}; diff --git a/docs-site/src/examples/js/onBlurCallbacks.js b/docs-site/src/examples/js/onBlurCallbacks.js deleted file mode 100644 index 3a6c5d445b..0000000000 --- a/docs-site/src/examples/js/onBlurCallbacks.js +++ /dev/null @@ -1,22 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - const handleOnBlur = ({ target: { value } }) => { - const date = new Date(value); - if (isValid(date)) { - console.log("date: %s", format(date, "dd/MM/yyyy")); - } else { - console.log("value: %s", date); - } - }; - - return ( - setStartDate(date)} - onBlur={handleOnBlur} - placeholderText="View blur callbacks in console" - /> - ); -}; diff --git a/docs-site/src/examples/js/onCalendarOpenStateCallbacks.js b/docs-site/src/examples/js/onCalendarOpenStateCallbacks.js deleted file mode 100644 index 6b108db8bd..0000000000 --- a/docs-site/src/examples/js/onCalendarOpenStateCallbacks.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const [date, setDate] = useState(new Date()); - - const handleCalendarClose = () => console.log("Calendar closed"); - const handleCalendarOpen = () => console.log("Calendar opened"); - - return ( - setDate(date)} - onCalendarClose={handleCalendarClose} - onCalendarOpen={handleCalendarOpen} - /> - ); -}; diff --git a/docs-site/src/examples/js/openToDate.js b/docs-site/src/examples/js/openToDate.js deleted file mode 100644 index ae843c1cf3..0000000000 --- a/docs-site/src/examples/js/openToDate.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - openToDate={new Date("1993/09/28")} - /> - ); -}; diff --git a/docs-site/src/examples/js/placeholderText.js b/docs-site/src/examples/js/placeholderText.js deleted file mode 100644 index d427ff41dc..0000000000 --- a/docs-site/src/examples/js/placeholderText.js +++ /dev/null @@ -1 +0,0 @@ -; diff --git a/docs-site/src/examples/js/portal.js b/docs-site/src/examples/js/portal.js deleted file mode 100644 index 7488d78bf3..0000000000 --- a/docs-site/src/examples/js/portal.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - withPortal - /> - ); -}; diff --git a/docs-site/src/examples/js/portalById.js b/docs-site/src/examples/js/portalById.js deleted file mode 100644 index 3bcf13cf7e..0000000000 --- a/docs-site/src/examples/js/portalById.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - portalId="root-portal" - /> - ); -}; diff --git a/docs-site/src/examples/js/quarterPicker.js b/docs-site/src/examples/js/quarterPicker.js deleted file mode 100644 index 15b597855c..0000000000 --- a/docs-site/src/examples/js/quarterPicker.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - dateFormat="yyyy, QQQ" - showQuarterYearPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/rangeMonthPicker.js b/docs-site/src/examples/js/rangeMonthPicker.js deleted file mode 100644 index 7138ca40e1..0000000000 --- a/docs-site/src/examples/js/rangeMonthPicker.js +++ /dev/null @@ -1,27 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); - const [endDate, setEndDate] = useState(new Date("2014/04/08")); - - return ( - <> - setStartDate(date)} - selectsStart - startDate={startDate} - endDate={endDate} - dateFormat="MM/yyyy" - showMonthYearPicker - /> - setEndDate(date)} - selectsEnd - startDate={startDate} - endDate={endDate} - dateFormat="MM/yyyy" - showMonthYearPicker - /> - - ); -}; diff --git a/docs-site/src/examples/js/rangeMonthPickerSelectsRange.js b/docs-site/src/examples/js/rangeMonthPickerSelectsRange.js deleted file mode 100644 index 0074116d4b..0000000000 --- a/docs-site/src/examples/js/rangeMonthPickerSelectsRange.js +++ /dev/null @@ -1,21 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); - const [endDate, setEndDate] = useState(null); - - const handleChange = ([newStartDate, newEndDate]) => { - setStartDate(newStartDate); - setEndDate(newEndDate); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/rangeQuarterPicker.js b/docs-site/src/examples/js/rangeQuarterPicker.js deleted file mode 100644 index 8f55f2c5d5..0000000000 --- a/docs-site/src/examples/js/rangeQuarterPicker.js +++ /dev/null @@ -1,27 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); - const [endDate, setEndDate] = useState(new Date("2014/07/08")); - - return ( - <> - setStartDate(date)} - selectsStart - startDate={startDate} - endDate={endDate} - dateFormat="yyyy, QQQ" - showQuarterYearPicker - /> - setEndDate(date)} - selectsEnd - startDate={startDate} - endDate={endDate} - dateFormat="yyyy, QQQ" - showQuarterYearPicker - /> - - ); -}; diff --git a/docs-site/src/examples/js/rangeQuarterPickerSelectsRange.js b/docs-site/src/examples/js/rangeQuarterPickerSelectsRange.js deleted file mode 100644 index 981f0eb490..0000000000 --- a/docs-site/src/examples/js/rangeQuarterPickerSelectsRange.js +++ /dev/null @@ -1,21 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); - const [endDate, setEndDate] = useState(null); - - const handleChange = ([newStartDate, newEndDate]) => { - setStartDate(newStartDate); - setEndDate(newEndDate); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/rangeSwapRange.js b/docs-site/src/examples/js/rangeSwapRange.js deleted file mode 100644 index 8fe5e3f8d7..0000000000 --- a/docs-site/src/examples/js/rangeSwapRange.js +++ /dev/null @@ -1,24 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - const [endDate, setEndDate] = useState(null); - - const onChange = (dates) => { - const [start, end] = dates; - setStartDate(start); - setEndDate(end); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/rangeYearPicker.js b/docs-site/src/examples/js/rangeYearPicker.js deleted file mode 100644 index 7eff1e879d..0000000000 --- a/docs-site/src/examples/js/rangeYearPicker.js +++ /dev/null @@ -1,27 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); - const [endDate, setEndDate] = useState(new Date("2024/04/08")); - - return ( - <> - setStartDate(date)} - selectsStart - startDate={startDate} - endDate={endDate} - dateFormat="yyyy" - showYearPicker - /> - setEndDate(date)} - selectsEnd - startDate={startDate} - endDate={endDate} - dateFormat="yyyy" - showYearPicker - /> - - ); -}; diff --git a/docs-site/src/examples/js/rangeYearPickerSelectsRange.js b/docs-site/src/examples/js/rangeYearPickerSelectsRange.js deleted file mode 100644 index 2a56c3ab18..0000000000 --- a/docs-site/src/examples/js/rangeYearPickerSelectsRange.js +++ /dev/null @@ -1,21 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2014/02/08")); - const [endDate, setEndDate] = useState(null); - - const handleChange = ([newStartDate, newEndDate]) => { - setStartDate(newStartDate); - setEndDate(newEndDate); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/rawChange.js b/docs-site/src/examples/js/rawChange.js deleted file mode 100644 index f72ae853c3..0000000000 --- a/docs-site/src/examples/js/rawChange.js +++ /dev/null @@ -1,18 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - const handleChangeRaw = (value) => { - if (value === "tomorrow") { - setStartDate(addDays(new Date(), 1)); - } - }; - - return ( - setStartDate(date)} - placeholderText='Enter "tomorrow"' - onChangeRaw={(event) => handleChangeRaw(event.target.value)} - /> - ); -}; diff --git a/docs-site/src/examples/js/readOnly.js b/docs-site/src/examples/js/readOnly.js deleted file mode 100644 index 44bb59dc66..0000000000 --- a/docs-site/src/examples/js/readOnly.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - placeholderText="This is readOnly" - readOnly - /> - ); -}; diff --git a/docs-site/src/examples/js/renderCustomDay.js b/docs-site/src/examples/js/renderCustomDay.js deleted file mode 100644 index bf0e69f0dd..0000000000 --- a/docs-site/src/examples/js/renderCustomDay.js +++ /dev/null @@ -1,16 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - const renderDayContents = (day, date) => { - const tooltipText = `Tooltip for date: ${date}`; - return {getDate(date)}; - }; - - return ( - setStartDate(date)} - renderDayContents={renderDayContents} - /> - ); -}; diff --git a/docs-site/src/examples/js/renderCustomHeader.js b/docs-site/src/examples/js/renderCustomHeader.js deleted file mode 100644 index 9aa0a239fc..0000000000 --- a/docs-site/src/examples/js/renderCustomHeader.js +++ /dev/null @@ -1,75 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - const years = range(1990, getYear(new Date()) + 1, 1); - - const MONTHS = [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ]; - - return ( - ( -
- - - - - - -
- )} - selected={startDate} - onChange={(date) => setStartDate(date)} - /> - ); -}; diff --git a/docs-site/src/examples/js/renderCustomHeaderTwoMonths.js b/docs-site/src/examples/js/renderCustomHeaderTwoMonths.js deleted file mode 100644 index f5a06e6596..0000000000 --- a/docs-site/src/examples/js/renderCustomHeaderTwoMonths.js +++ /dev/null @@ -1,58 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - ( -
- - - {monthDate.toLocaleString("en-US", { - month: "long", - year: "numeric", - })} - - -
- )} - selected={startDate} - onChange={(date) => setStartDate(date)} - monthsShown={2} - /> - ); -}; diff --git a/docs-site/src/examples/js/renderCustomMonth.js b/docs-site/src/examples/js/renderCustomMonth.js deleted file mode 100644 index 1406314e9c..0000000000 --- a/docs-site/src/examples/js/renderCustomMonth.js +++ /dev/null @@ -1,17 +0,0 @@ -() => { - const renderMonthContent = (month, shortMonth, longMonth, day) => { - const fullYear = new Date(day).getFullYear(); - const tooltipText = `Tooltip for month: ${longMonth} ${fullYear}`; - - return {shortMonth}; - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/renderCustomQuarter.js b/docs-site/src/examples/js/renderCustomQuarter.js deleted file mode 100644 index ed16201e56..0000000000 --- a/docs-site/src/examples/js/renderCustomQuarter.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const renderQuarterContent = (quarter, shortQuarter) => { - const tooltipText = `Tooltip for quarter: ${quarter}`; - return {shortQuarter}; - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/renderCustomYear.js b/docs-site/src/examples/js/renderCustomYear.js deleted file mode 100644 index 694f46f918..0000000000 --- a/docs-site/src/examples/js/renderCustomYear.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const renderYearContent = (year) => { - const tooltipText = `Tooltip for year: ${year}`; - return {year}; - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/selectsMultiple.js b/docs-site/src/examples/js/selectsMultiple.js deleted file mode 100644 index e9d9873814..0000000000 --- a/docs-site/src/examples/js/selectsMultiple.js +++ /dev/null @@ -1,17 +0,0 @@ -() => { - const [selectedDates, setSelectedDates] = useState([new Date()]); - - const onChange = (dates) => { - setSelectedDates(dates); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/selectsMultipleMonths.js b/docs-site/src/examples/js/selectsMultipleMonths.js deleted file mode 100644 index 796362d69d..0000000000 --- a/docs-site/src/examples/js/selectsMultipleMonths.js +++ /dev/null @@ -1,19 +0,0 @@ -() => { - const [selectedDates, setSelectedDates] = useState([new Date()]); - - const onChange = (dates) => { - setSelectedDates(dates); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/selectsRange.js b/docs-site/src/examples/js/selectsRange.js deleted file mode 100644 index c8b0083a08..0000000000 --- a/docs-site/src/examples/js/selectsRange.js +++ /dev/null @@ -1,21 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - const [endDate, setEndDate] = useState(null); - - const onChange = (dates) => { - const [start, end] = dates; - setStartDate(start); - setEndDate(end); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/selectsRangeWithDisabledDates.js b/docs-site/src/examples/js/selectsRangeWithDisabledDates.js deleted file mode 100644 index a87c86ac02..0000000000 --- a/docs-site/src/examples/js/selectsRangeWithDisabledDates.js +++ /dev/null @@ -1,23 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - const [endDate, setEndDate] = useState(null); - - const onChange = (dates) => { - const [start, end] = dates; - setStartDate(start); - setEndDate(end); - }; - - return ( - - ); -}; diff --git a/docs-site/src/examples/js/showTime.js b/docs-site/src/examples/js/showTime.js deleted file mode 100644 index 5ba20dc646..0000000000 --- a/docs-site/src/examples/js/showTime.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - showTimeSelect - timeFormat="HH:mm" - timeIntervals={15} - timeCaption="time" - dateFormat="MMMM d, yyyy h:mm aa" - /> - ); -}; diff --git a/docs-site/src/examples/js/showTimeOnly.js b/docs-site/src/examples/js/showTimeOnly.js deleted file mode 100644 index 3932e90dd3..0000000000 --- a/docs-site/src/examples/js/showTimeOnly.js +++ /dev/null @@ -1,15 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - showTimeSelect - showTimeSelectOnly - timeIntervals={15} - timeCaption="Time" - dateFormat="h:mm aa" - /> - ); -}; diff --git a/docs-site/src/examples/js/specificDateRange.js b/docs-site/src/examples/js/specificDateRange.js deleted file mode 100644 index 88a15f6369..0000000000 --- a/docs-site/src/examples/js/specificDateRange.js +++ /dev/null @@ -1,13 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(null); - - return ( - setStartDate(date)} - minDate={new Date()} - maxDate={addDays(new Date(), 5)} - placeholderText="Select a date between today and 5 days in the future" - /> - ); -}; diff --git a/docs-site/src/examples/js/strictParsing.js b/docs-site/src/examples/js/strictParsing.js deleted file mode 100644 index 4866bab787..0000000000 --- a/docs-site/src/examples/js/strictParsing.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - strictParsing - /> - ); -}; diff --git a/docs-site/src/examples/js/tabIndex.js b/docs-site/src/examples/js/tabIndex.js deleted file mode 100644 index 670fd74467..0000000000 --- a/docs-site/src/examples/js/tabIndex.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - tabIndex={1} - /> - ); -}; diff --git a/docs-site/src/examples/js/timeInput.js b/docs-site/src/examples/js/timeInput.js deleted file mode 100644 index d43a0ccad0..0000000000 --- a/docs-site/src/examples/js/timeInput.js +++ /dev/null @@ -1,13 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - timeInputLabel="Time:" - dateFormat="MM/dd/yyyy h:mm aa" - showTimeInput - /> - ); -}; diff --git a/docs-site/src/examples/js/today.js b/docs-site/src/examples/js/today.js deleted file mode 100644 index 33867f6d2c..0000000000 --- a/docs-site/src/examples/js/today.js +++ /dev/null @@ -1,11 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - /> - ); -}; diff --git a/docs-site/src/examples/js/toggleCalendarOnIconClick.js b/docs-site/src/examples/js/toggleCalendarOnIconClick.js deleted file mode 100644 index b422aef3a6..0000000000 --- a/docs-site/src/examples/js/toggleCalendarOnIconClick.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [selectedDate, setSelectedDate] = useState(new Date()); - - return ( - setSelectedDate(date)} - /> - ); -}; diff --git a/docs-site/src/examples/js/weekNumbers.js b/docs-site/src/examples/js/weekNumbers.js deleted file mode 100644 index a8038ad9a0..0000000000 --- a/docs-site/src/examples/js/weekNumbers.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - locale="en-GB" - showWeekNumbers - /> - ); -}; diff --git a/docs-site/src/examples/js/weekPicker.js b/docs-site/src/examples/js/weekPicker.js deleted file mode 100644 index 18ca5b69f6..0000000000 --- a/docs-site/src/examples/js/weekPicker.js +++ /dev/null @@ -1,14 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date("2021/02/22")); - - return ( - setStartDate(date)} - dateFormat="I/R" - locale="en-GB" - showWeekNumbers - showWeekPicker - /> - ); -}; diff --git a/docs-site/src/examples/js/withPortalById.js b/docs-site/src/examples/js/withPortalById.js deleted file mode 100644 index 21f93951e0..0000000000 --- a/docs-site/src/examples/js/withPortalById.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - withPortal - portalId="root-portal" - /> - ); -}; diff --git a/docs-site/src/examples/js/yearDropdown.js b/docs-site/src/examples/js/yearDropdown.js deleted file mode 100644 index 64eb474da3..0000000000 --- a/docs-site/src/examples/js/yearDropdown.js +++ /dev/null @@ -1,14 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - showYearDropdown - dateFormatCalendar="MMMM" - yearDropdownItemNumber={15} - scrollableYearDropdown - /> - ); -}; diff --git a/docs-site/src/examples/js/yearItemNumber.js b/docs-site/src/examples/js/yearItemNumber.js deleted file mode 100644 index 8cf5c82340..0000000000 --- a/docs-site/src/examples/js/yearItemNumber.js +++ /dev/null @@ -1,13 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - showYearPicker - dateFormat="yyyy" - yearItemNumber={9} - /> - ); -}; diff --git a/docs-site/src/examples/js/yearPicker.js b/docs-site/src/examples/js/yearPicker.js deleted file mode 100644 index 0c3016f465..0000000000 --- a/docs-site/src/examples/js/yearPicker.js +++ /dev/null @@ -1,12 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - showYearPicker - dateFormat="yyyy" - /> - ); -}; diff --git a/docs-site/src/examples/js/yearSelectDropdown.js b/docs-site/src/examples/js/yearSelectDropdown.js deleted file mode 100644 index fa6e9873aa..0000000000 --- a/docs-site/src/examples/js/yearSelectDropdown.js +++ /dev/null @@ -1,14 +0,0 @@ -() => { - const [startDate, setStartDate] = useState(new Date()); - - return ( - setStartDate(date)} - peekNextMonth - showMonthDropdown - showYearDropdown - dropdownMode="select" - /> - ); -}; diff --git a/docs-site/yarn.lock b/docs-site/yarn.lock index d94e6e5672..ea74beb5ec 100644 --- a/docs-site/yarn.lock +++ b/docs-site/yarn.lock @@ -2281,6 +2281,15 @@ __metadata: languageName: node linkType: hard +"esbuild-wasm@npm:^0.25.9": + version: 0.25.9 + resolution: "esbuild-wasm@npm:0.25.9" + bin: + esbuild: bin/esbuild + checksum: 10c0/8c4865d061c94303939549ba67930dfdd51ced9a46ef1b09f63b15696de5075690c4680f616a1932cb0296eed615eb1fa0670337104c4c83d95fac1c2217cf00 + languageName: node + linkType: hard + "esbuild@npm:^0.25.0": version: 0.25.0 resolution: "esbuild@npm:0.25.0" @@ -4435,6 +4444,7 @@ __metadata: "@typescript-eslint/parser": "npm:^7.0.0" "@vitejs/plugin-react": "npm:^4.4.1" date-fns: "npm:^4.1.0" + esbuild-wasm: "npm:^0.25.9" eslint: "npm:^9.25.0" eslint-plugin-react: "npm:^7.37.5" eslint-plugin-react-hooks: "npm:^5.2.0" From e585449496cff72b0868253ed3fc759a57001e54 Mon Sep 17 00:00:00 2001 From: balajis-qb Date: Thu, 11 Sep 2025 22:35:28 +0530 Subject: [PATCH 05/18] feat: add copy-to-clipboard functionality to code examples - Integrated `copy-to-clipboard` library to enable copying code snippets. - Added a copy icon button in the code example component for user interaction. - Styled action buttons for better user experience in the examples section. - Introduced a new SVG icon for the copy action. --- docs-site/package.json | 1 + docs-site/src/components/Example/copy.svg | 3 ++ docs-site/src/components/Example/index.tsx | 27 ++++++++++--- .../src/components/Examples/examples.scss | 38 ++++++++++++++++--- docs-site/yarn.lock | 17 +++++++++ 5 files changed, 75 insertions(+), 11 deletions(-) create mode 100644 docs-site/src/components/Example/copy.svg diff --git a/docs-site/package.json b/docs-site/package.json index 45d4fbb161..20ad812e72 100644 --- a/docs-site/package.json +++ b/docs-site/package.json @@ -4,6 +4,7 @@ "private": true, "type": "module", "dependencies": { + "copy-to-clipboard": "^3.3.3", "date-fns": "^4.1.0", "esbuild-wasm": "^0.25.9", "highlight.js": "^11.11.1", diff --git a/docs-site/src/components/Example/copy.svg b/docs-site/src/components/Example/copy.svg new file mode 100644 index 0000000000..f07ad9ecd4 --- /dev/null +++ b/docs-site/src/components/Example/copy.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/docs-site/src/components/Example/index.tsx b/docs-site/src/components/Example/index.tsx index fa9f424b82..29fbc77f0e 100644 --- a/docs-site/src/components/Example/index.tsx +++ b/docs-site/src/components/Example/index.tsx @@ -9,10 +9,12 @@ import * as DateFNS from "date-fns"; import { fi } from "date-fns/locale/fi"; import { ptBR } from "date-fns/locale/pt-BR"; import { enGB } from "date-fns/locale/en-GB"; +import copy from "copy-to-clipboard"; import { debounce } from "lodash"; import slugify from "slugify"; import range from "lodash/range"; import { themes } from "prism-react-renderer"; +import copyIcon from "./copy.svg"; import editIcon from "./edit-regular.svg"; import { IExampleConfig } from "../../types"; @@ -161,12 +163,25 @@ export default class CodeExampleComponent extends React.Component< language={isTS ? "tsx" : "jsx"} >
-                edit icon
+                
+ + edit icon +
diff --git a/docs-site/src/components/Examples/examples.scss b/docs-site/src/components/Examples/examples.scss index 3750dd715f..d000adfaef 100644 --- a/docs-site/src/components/Examples/examples.scss +++ b/docs-site/src/components/Examples/examples.scss @@ -112,13 +112,41 @@ textarea:focus { outline: 0; } + } + + &__actions { + position: absolute; + top: 4px; + right: 4px; + z-index: 10; - &__edit_icon { - position: absolute; - top: 0; - right: 0; + & > * { width: 20px; - z-index: 10; + margin-right: 10px; + vertical-align: middle; + } + + &__button { + width: 38px; + border-radius: 50%; + height: 38px; + border: none; + background-color: transparent; + cursor: pointer; + + transition: background 0.2s ease; + + &:hover { + background: rgba(172, 172, 172, 0.2); + } + + &:focus { + background: rgba(172, 172, 172, 0.4); + } + + & > img { + width: 18px; + } } } diff --git a/docs-site/yarn.lock b/docs-site/yarn.lock index ea74beb5ec..6c6da0a8f8 100644 --- a/docs-site/yarn.lock +++ b/docs-site/yarn.lock @@ -1840,6 +1840,15 @@ __metadata: languageName: node linkType: hard +"copy-to-clipboard@npm:^3.3.3": + version: 3.3.3 + resolution: "copy-to-clipboard@npm:3.3.3" + dependencies: + toggle-selection: "npm:^1.0.6" + checksum: 10c0/3ebf5e8ee00601f8c440b83ec08d838e8eabb068c1fae94a9cda6b42f288f7e1b552f3463635f419af44bf7675afc8d0390d30876cf5c2d5d35f86d9c56a3e5f + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.0": version: 7.0.5 resolution: "cross-spawn@npm:7.0.5" @@ -4443,6 +4452,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.0.0" "@typescript-eslint/parser": "npm:^7.0.0" "@vitejs/plugin-react": "npm:^4.4.1" + copy-to-clipboard: "npm:^3.3.3" date-fns: "npm:^4.1.0" esbuild-wasm: "npm:^0.25.9" eslint: "npm:^9.25.0" @@ -5246,6 +5256,13 @@ __metadata: languageName: node linkType: hard +"toggle-selection@npm:^1.0.6": + version: 1.0.6 + resolution: "toggle-selection@npm:1.0.6" + checksum: 10c0/f2cf1f2c70f374fd87b0cdc8007453ba9e981c4305a8bf4eac10a30e62ecdfd28bca7d18f8f15b15a506bf8a7bfb20dbe3539f0fcf2a2c8396c1a78d53e1f179 + languageName: node + linkType: hard + "ts-api-utils@npm:^1.3.0": version: 1.4.3 resolution: "ts-api-utils@npm:1.4.3" From fc984d12b043c32c051022d06c59bf5a0dc868f1 Mon Sep 17 00:00:00 2001 From: balajis-qb Date: Fri, 12 Sep 2025 12:38:03 +0530 Subject: [PATCH 06/18] feat: add Toast component for code copy and transpile-error notifications - Introduced a new Toast component to display success and error messages. - Integrated Toast notifications in the CodeExampleComponent for user feedback on actions like code copying and transpilation errors. - Added corresponding styles for the Toast component in a new SCSS file. --- docs-site/src/components/App/Toast.tsx | 61 ++++++++++++++++++++++ docs-site/src/components/App/index.jsx | 3 ++ docs-site/src/components/App/toast.scss | 27 ++++++++++ docs-site/src/components/Example/index.tsx | 14 ++++- 4 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 docs-site/src/components/App/Toast.tsx create mode 100644 docs-site/src/components/App/toast.scss diff --git a/docs-site/src/components/App/Toast.tsx b/docs-site/src/components/App/Toast.tsx new file mode 100644 index 0000000000..bfffb96dc9 --- /dev/null +++ b/docs-site/src/components/App/Toast.tsx @@ -0,0 +1,61 @@ +import React, { useState, useEffect, useRef } from "react"; +import { createPortal } from "react-dom"; + +import "./toast.scss"; + +type ToastType = "success" | "error"; + +let showToastFn: ((message: string, type: ToastType) => void) | null; + +export const toast = { + show: (message: string, type: ToastType) => { + if (showToastFn) { + showToastFn(message, type); + } + }, +}; + +const Toast = (): React.ReactPortal | null => { + const [toastMeta, setToastMeta] = useState<{ + message: string; + type?: ToastType; + }>({ + message: "", + }); + const timerRef = useRef | null>(null); + + const clearTimer = () => { + if (timerRef.current) { + clearTimeout(timerRef.current); + } + }; + + const scheduleToastReset = () => { + clearTimer(); + timerRef.current = setTimeout(() => { + setToastMeta({ message: "" }); + }, 3000); + }; + + useEffect(() => { + showToastFn = (message: string, type: ToastType) => { + setToastMeta({ message, type }); + scheduleToastReset(); + }; + + return () => { + clearTimer(); + showToastFn = null; + }; + }, []); + + const { message, type } = toastMeta; + if (!message?.trim()) return null; + + return createPortal( +
{message}
, + document.body, + ); +}; + +export default Toast; diff --git a/docs-site/src/components/App/index.jsx b/docs-site/src/components/App/index.jsx index 7dc163d1b7..6b0286e8d3 100644 --- a/docs-site/src/components/App/index.jsx +++ b/docs-site/src/components/App/index.jsx @@ -1,6 +1,7 @@ import { useEffect, useState } from "react"; import DatePicker from "react-datepicker"; import ExampleComponents from "../Examples"; +import Toast from "./Toast"; import { initializeTsxTransformer } from "../tsxTransformer"; import logo from "./logo.png"; import ribbon from "./ribbon.png"; @@ -110,6 +111,8 @@ const Root = () => ( Fork me on GitHub + +
); diff --git a/docs-site/src/components/App/toast.scss b/docs-site/src/components/App/toast.scss new file mode 100644 index 0000000000..138fbe3185 --- /dev/null +++ b/docs-site/src/components/App/toast.scss @@ -0,0 +1,27 @@ +$toast-success-color: #009688; +$toast-error-color: #ef5350; + +.toast { + position: fixed; + bottom: 20px; + left: 50%; + transform: translateX(-50%); + + display: inline-block; + color: #fff; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5); + border-radius: 5px; + padding: 10px 20px; + font-size: 14px; + font-weight: 600; + text-align: center; + z-index: 1000; + + &--success { + background-color: $toast-success-color; + } + + &--error { + background-color: $toast-error-color; + } +} diff --git a/docs-site/src/components/Example/index.tsx b/docs-site/src/components/Example/index.tsx index 29fbc77f0e..5def70a8da 100644 --- a/docs-site/src/components/Example/index.tsx +++ b/docs-site/src/components/Example/index.tsx @@ -4,6 +4,7 @@ import DatePicker, { registerLocale, CalendarContainer, } from "react-datepicker"; +import { toast } from "../App/Toast"; import { transformTsx } from "../tsxTransformer"; import * as DateFNS from "date-fns"; import { fi } from "date-fns/locale/fi"; @@ -82,6 +83,8 @@ export default class CodeExampleComponent extends React.Component< jsxCode: "// Transpilation failed! Error: " + (err as Error).message, isTranspiling: false, }; + + toast.show("Transpilation failed!", "error"); } this.setState((state) => ({ @@ -112,6 +115,15 @@ export default class CodeExampleComponent extends React.Component< } }; + handleCopy = (code: string) => { + if (code.trim().length) { + copy(code); + toast.show("Copied to clipboard", "success"); + } else { + toast.show("No code to copy", "error"); + } + }; + render() { const { title, description } = this.props.example; const { activeTab, isTranspiling, jsxCode, tsxCode } = this.state; @@ -166,7 +178,7 @@ export default class CodeExampleComponent extends React.Component<
{isOpen && ( diff --git a/docs-site/src/examples/ts/maxDate.tsx b/docs-site/src/examples/ts/maxDate.tsx index a994a10fd6..f1e74c90ae 100644 --- a/docs-site/src/examples/ts/maxDate.tsx +++ b/docs-site/src/examples/ts/maxDate.tsx @@ -5,7 +5,7 @@ const MaxDate = () => { setStartDate(date)} - maxDate={addDays(new Date(), 5)} + maxDate={DateFNS.addDays(new Date(), 5)} placeholderText="Select a date before 5 days in the future" /> ); diff --git a/docs-site/src/examples/ts/minDate.tsx b/docs-site/src/examples/ts/minDate.tsx index 48c7efeb30..9ba98aa6da 100644 --- a/docs-site/src/examples/ts/minDate.tsx +++ b/docs-site/src/examples/ts/minDate.tsx @@ -5,7 +5,7 @@ const MinDate = () => { setStartDate(date)} - minDate={subDays(new Date(), 5)} + minDate={DateFNS.subDays(new Date(), 5)} placeholderText="Select a date after 5 days ago" /> ); diff --git a/docs-site/src/examples/ts/monthYearDropdown.tsx b/docs-site/src/examples/ts/monthYearDropdown.tsx index 64bdbff6db..4dd720b26c 100644 --- a/docs-site/src/examples/ts/monthYearDropdown.tsx +++ b/docs-site/src/examples/ts/monthYearDropdown.tsx @@ -1,3 +1,5 @@ +const { subMonths, addMonths } = DateFNS; + const MonthYearDropdown = () => { const [startDate, setStartDate] = useState(new Date()); diff --git a/docs-site/src/examples/ts/onBlurCallbacks.tsx b/docs-site/src/examples/ts/onBlurCallbacks.tsx index 8fbae44333..6ed147bf2c 100644 --- a/docs-site/src/examples/ts/onBlurCallbacks.tsx +++ b/docs-site/src/examples/ts/onBlurCallbacks.tsx @@ -1,9 +1,11 @@ +const { isValid, format } = DateFNS; + const OnBlurCallbacks = () => { const [startDate, setStartDate] = useState(null); const handleOnBlur = ({ target: { value }, - }: React.FocusEvent) => { + }: React.FocusEvent) => { const date = new Date(value); if (isValid(date)) { console.log("date: %s", format(date, "dd/MM/yyyy")); diff --git a/docs-site/src/examples/ts/rangeSwapRange.tsx b/docs-site/src/examples/ts/rangeSwapRange.tsx index 79c2f36b05..b5d7127fdd 100644 --- a/docs-site/src/examples/ts/rangeSwapRange.tsx +++ b/docs-site/src/examples/ts/rangeSwapRange.tsx @@ -1,3 +1,5 @@ +const { addDays } = DateFNS; + type TExcludeDates = | { date: Date; diff --git a/docs-site/src/examples/ts/rawChange.tsx b/docs-site/src/examples/ts/rawChange.tsx index 9a5d0b533d..47dda61ac5 100644 --- a/docs-site/src/examples/ts/rawChange.tsx +++ b/docs-site/src/examples/ts/rawChange.tsx @@ -3,7 +3,7 @@ const RawChange = () => { const handleChangeRaw = (value: string) => { if (value === "tomorrow") { - setStartDate(addDays(new Date(), 1)); + setStartDate(DateFNS.addDays(new Date(), 1)); } }; @@ -13,8 +13,15 @@ const RawChange = () => { onChange={(date: Date | null) => setStartDate(date)} placeholderText='Enter "tomorrow"' onChangeRaw={( - event: React.MouseEvent | React.KeyboardEvent, - ) => handleChangeRaw(event.target.value)} + event: + | React.MouseEvent + | React.KeyboardEvent + | React.ChangeEvent, + ) => { + if (event.target instanceof HTMLInputElement) { + handleChangeRaw(event.target.value); + } + }} /> ); }; diff --git a/docs-site/src/examples/ts/renderCustomDay.tsx b/docs-site/src/examples/ts/renderCustomDay.tsx index dae80f4796..fd7c5e9c61 100644 --- a/docs-site/src/examples/ts/renderCustomDay.tsx +++ b/docs-site/src/examples/ts/renderCustomDay.tsx @@ -4,7 +4,7 @@ const RenderCustomDay = () => { const renderDayContents = (day: number, date: Date): React.ReactNode => { const tooltipText = `Tooltip for date: ${date}`; - return {getDate(date)}; + return {DateFNS.getDate(date)}; }; return ( diff --git a/docs-site/src/examples/ts/renderCustomHeader.tsx b/docs-site/src/examples/ts/renderCustomHeader.tsx index 2bf30b4678..fadff0c442 100644 --- a/docs-site/src/examples/ts/renderCustomHeader.tsx +++ b/docs-site/src/examples/ts/renderCustomHeader.tsx @@ -1,3 +1,4 @@ +const { getYear, getMonth, range } = DateFNS; const MONTHS = [ "January", "February", @@ -13,7 +14,7 @@ const MONTHS = [ "December", ] as const; -const years = range(1990, getYear(new Date()) + 1, 1); +const years = range(1990, getYear(new Date()) + 1, 1) as number[]; const CustomHeader = ({ date, @@ -36,7 +37,7 @@ const CustomHeader = ({ changeMonth(MONTHS.indexOf(value))} + onChange={({ target: { value } }) => + changeMonth(MONTHS.indexOf(value as (typeof MONTHS)[number])) + } > {MONTHS.map((option) => (