UNPKG

react-tailwindcss-datetimepicker

Version:

Feature-rich React date-time picker with range selection, customizable presets, keyboard navigation, TypeScript support, dark mode, and no date library dependency. Fully responsive. Built on top of **React 18** and [Vitejs](https://vitejs.dev/).

95 lines (85 loc) 2.75 kB
import { JSX as JSX_2 } from 'react/jsx-runtime'; import { default as React_2 } from 'react'; import type { ReactNode } from 'react'; declare type ClassNames = { rootContainer?: string; rangesContainer?: string; rangeButtonDefault?: string; rangeButtonSelected?: string; fromToRangeContainer?: string; normalCell?: string; normalCellHover?: string; greyCell?: string; invalidCell?: string; startCell?: string; endCell?: string; withinRangeCell?: string; startDot?: string; endDot?: string; footerContainer?: string; applyButton?: string; cancelButton?: string; }; declare const customRange: { readonly 'Custom Range': "Custom Range"; }; declare type Locale = { format?: string; sundayFirst?: boolean; days?: [string, string, string, string, string, string, string]; months?: [string, string, string, string, string, string, string, string, string, string, string, string]; fromDate?: string; toDate?: string; selectingFrom?: string; selectingTo?: string; minDate?: string; maxDate?: string; close?: string; apply?: string; cancel?: string; }; declare type PresetDateRanges = Record<string, [Date, Date]> & Partial<typeof customRange>; declare class ReactDateTimePicker extends React_2.Component<ReactDateTimePickerProps, State> { container: HTMLDivElement | null; constructor(props: ReactDateTimePickerProps); componentDidMount(): void; componentWillUnmount(): void; keyDown: (e: KeyboardEvent) => void; onClickContainerHandler: () => void; handleOutsideClick: (e: MouseEvent) => void; changeVisibleState: () => void; renderPicker(): JSX_2.Element; render(): JSX_2.Element; } export default ReactDateTimePicker; declare interface ReactDateTimePickerProps { ranges: PresetDateRanges; start: Date; end: Date; locale?: Locale; applyCallback: (start: Date, end: Date) => void; rangeCallback?: (index: number, value: keyof PresetDateRanges) => void; minDate?: Date; maxDate?: Date; autoApply?: boolean; descendingYears?: boolean; years?: [number, number]; smartMode?: boolean; pastSearchFriendly?: boolean; noMobileMode?: boolean; forceMobileMode?: boolean; twelveHoursClock?: boolean; standalone?: boolean; leftMode?: boolean; centerMode?: boolean; classNames?: ClassNames; displayMinDate?: boolean; displayMaxDate?: boolean; theme?: Theme; children: ReactNode; } declare interface State { visible: boolean; } declare type Theme = 'blue' | 'orange' | 'green' | 'purple'; export { }