import React from 'react' import { useTranslation } from 'react-i18next' import { useTheme } from '../../themes/useTheme' import { Calendar, CloseButton } from '../../core/components' import { useAwaitRender, useCloseFilterSection, useUpdateTranslations, } from '../../core/hooks' import { FilterCalendarTypes } from './FilterCalendarTypes' import { useFilterCalendar } from './hooks/useFilterCalendar' import { Footer } from './components/Footer' import '../../themes/Default.css' import './FilterCalendar.css' export default function FilterCalendar({ calendarOffset, language, palette, onSubmit, disableCalendarDates: outerDisableCalendarDates, toggleCalendar, loadingData, setToggleCalendar, requestDates, showFeedback, noActiveSelection, rangeContext: outerRangeContext, }: FilterCalendarTypes) { const themePalette = useTheme({ palette }) // Translations useUpdateTranslations({ language }) const { t } = useTranslation() const { setCalendarRange, handleClearDates, calendarRange, disabledDates, updateCalendarMonthNavigation, updateCalendarDefaultMonth, setUpdateCalendarMonthNavigation, calendarHasError, setCalendarHasError, setUpdatedForSubmit, rangeContext, disableCalendarDates, } = useFilterCalendar({ onSubmit, setToggleCalendar, noActiveSelection, toggleCalendar, outerRangeContext, outerDisableCalendarDates, }) // Display component after fully loaded useAwaitRender() // Handle close filter section const { filterSectionRef } = useCloseFilterSection({ handleSelectedFilter: setToggleCalendar, }) return (