import React, { useState } from 'react' import { DateRangePreset } from './types' import Block from '../Primitives/Block/Block' import { Drawer, DrawerTrigger, DrawerPortal, DrawerOverlay, DrawerContent, DrawerBody, } from '../Drawer' import DatePickerComponent from './components/DatePickerComponent' import PresetItem from './components/PresetItem' import ActionButtons from './components/ActionButtons' import { MobileDrawerPresetsProps } from './types' import { useTheme } from '../../context' import { getMobileToken } from './components/mobile.tokens' const MobileDrawerPresets: React.FC = ({ drawerOpen, setDrawerOpen, renderTrigger, showPresets, availablePresets, activePreset, selectedRange, startTime, endTime, dateFormat, handlePresetSelect, handleStartTimeChange, handleEndTimeChange, setSelectedRange, setStartDate, setEndDate, handleCancel, handleApply, showCustomDropdownOnly = false, isDisabled = false, isApplyDisabled = false, applyDisabledMessage, disableFutureDates = false, disablePastDates = false, maxYearOffset, }) => { const { foundationTokens, theme } = useTheme() const mobileTokens = getMobileToken(foundationTokens, theme).sm const [isCustomExpanded, setIsCustomExpanded] = useState( showCustomDropdownOnly ) const renderCustomDateInputs = () => ( ) const renderPresetItem = (preset: DateRangePreset) => ( setIsCustomExpanded(!isCustomExpanded)} setDrawerOpen={setDrawerOpen} isDisabled={isDisabled} /> ) const renderActionButtons = () => ( { handleCancel() setDrawerOpen(false) }} onApply={handleApply} isDisabled={isDisabled} isApplyDisabled={isApplyDisabled} applyDisabledMessage={applyDisabledMessage} /> ) return ( !isDisabled && setDrawerOpen(true)}> {renderTrigger()} ) } export default MobileDrawerPresets