@yamada-ui/calendar
Version:
Yamada UI calendar component
54 lines (51 loc) • 2.28 kB
TypeScript
import * as _yamada_ui_popover from '@yamada-ui/popover';
import * as _yamada_ui_core from '@yamada-ui/core';
import { PropGetter } from '@yamada-ui/core';
import { CalendarProps as CalendarProps$1 } from './calendar.js';
import * as react from 'react';
import { UseCalendarProps } from './use-calendar.js';
import { UseCalendarPickerProps } from './use-calendar-picker.js';
import './calendar-header.js';
import '@yamada-ui/button';
import '@yamada-ui/icon';
import './use-calendar-header.js';
import './month.js';
import './month-list.js';
import './year-list.js';
import 'dayjs';
import '@yamada-ui/form-control';
interface CalendarProps extends Omit<UseCalendarProps<Date[]>, "enableMultiple" | "enableRange" | "nextRef" | "prevRef" | "typeRef"> {
}
interface UseMultiDatePickerOptions {
/**
* If `true`, the calendar component will be closed when value is max selected.
*
* @default true
*/
closeOnMaxSelect?: boolean;
/**
* If `true`, the calendar component will be closed when value is selected.
*
* @default false
*/
closeOnSelect?: boolean;
}
interface UseMultiDatePickerProps extends UseCalendarPickerProps<CalendarProps>, UseMultiDatePickerOptions {
}
declare const useMultiDatePicker: ({ closeOnMaxSelect, closeOnSelect, defaultValue, excludeDate, maxSelectValues, placeholder, value: valueProp, onChange: onChangeProp, ...rest }: UseMultiDatePickerProps) => {
dateToString: (value: Date | undefined) => string | undefined;
open: boolean;
setValue: react.Dispatch<react.SetStateAction<Date[]>>;
value: Date[];
getCalendarProps: (props?: CalendarProps$1) => CalendarProps$1;
getContainerProps: PropGetter<"div", undefined>;
getFieldProps: PropGetter<"div", undefined>;
getIconProps: _yamada_ui_core.RequiredPropGetter<{
clear: boolean;
} & _yamada_ui_core.HTMLProps, _yamada_ui_core.HTMLProps>;
getInputProps: PropGetter<"input", undefined>;
getPopoverProps: (props?: _yamada_ui_popover.PopoverProps) => _yamada_ui_popover.PopoverProps;
onClose: (...args: any[]) => Promise<void> | void;
};
type UseMultiDatePickerReturn = ReturnType<typeof useMultiDatePicker>;
export { type UseMultiDatePickerProps, type UseMultiDatePickerReturn, useMultiDatePicker };