dgz-ui-shared
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library
50 lines • 2.11 kB
TypeScript
import { CalendarProps } from 'dgz-ui/calendar';
import { InputProps } from 'dgz-ui/form';
import { ReactNode } from 'react';
import { DateRange } from 'react-day-picker';
/**
* Type definition for a date range preset configuration.
*/
export type PresetType = {
from: Date;
to: Date;
/** Label for the preset (e.g., "Last 7 days"). */
label: ReactNode;
isActive?: boolean;
};
/**
* Props for the DateRangePicker component.
*/
export type DateRangePickerProps = Omit<CalendarProps, 'mode' | 'disabled' | 'selected'> & {
/** The date format string (e.g., 'YYYY-MM-DD'). */
format?: string;
/** Placeholder text when no date is selected. */
placeholder?: string;
/** The currently selected date range. */
selected?: DateRange;
/** Timezone for date calculations. */
timezone?: string;
/** Error message to display (modifies styling). */
error?: string;
/** Callback function when a date range is selected. */
onRangeSelected?: (value?: DateRange) => void;
inputProps?: InputProps;
disabled?: boolean;
defaultPresets?: PresetType[];
};
/**
* DateRangePicker displays a two-month range picker with helpful presets.
*
* @param props.format - Display date format.
* @param props.selected - Currently selected date range.
* @param props.timezone - Time zone for date calculations.
* @param props.onRangeSelected - Callback when a full range is selected.
* @param props.placeholder - Placeholder when no date selected.
* @param props.error - Optional error message that adjusts styling.
* @param props.inputProps - Props passed to the underlying Input component.
* @param props.disabled - Whether the date range picker is disabled.
* @param props.defaultPresets - dafault presets list for the picker.
* @returns A date range picker component.
*/
export declare const DateRangePicker: ({ className, format, selected, timezone, onRangeSelected, placeholder, defaultPresets, disabled, error, inputProps, ...props }: DateRangePickerProps) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=DateRangePicker.d.ts.map