UNPKG

@activecollab/components

Version:

ActiveCollab Components

101 lines 3.57 kB
import { ElementType, FC, CSSProperties } from "react"; import { DayModifiers } from "react-day-picker"; import { Placement } from "@popperjs/core"; import { DaysToModify } from "./types"; type TriggerStringType = "text" | "icon" | "inline"; type TriggerFunctionType = (text: string) => JSX.Element; export interface ISelectDate { /** Change mode - can be atomic and instant */ changeMode?: "atomic" | "instant"; /** Trigger - can be text, icon, inline, or custom render function */ trigger?: TriggerStringType | TriggerFunctionType; /** Save button text */ saveButtonText?: string; /** Cancel button text */ cancelButtonText?: string; /** Clear button text */ clearButtonText?: string; /** Modal header text */ modalHeaderText?: string; /** Modal cancel button text */ modalCancelBtnText?: string; /** Modal discard button text */ modalDiscardBtnText?: string; /** Modal discard message text */ modalDiscardMessage?: string; /** Tooltip text */ tooltipText?: string; /** Called when day is clicked */ onDayClick?: (day: Date, modifiers: DayModifiers) => void; /** Save changes in atomic mode */ onSave?: (dates?: { from: number; to: number; }) => void; /** On cancel closes datepicker or opens disard modal in atomic mode */ onCancel?: () => void; /** Clear dates when they are not required */ onClear?: () => void; /** Use this callback to get is picker visible */ onToggleDatePicker?: (value: boolean) => void; /** Set selected day or days */ selectedDays?: { from: number; to: number; }; /** Set month */ defaultMonth?: Date; /** Set selection range */ selectionMode?: string; /** Set is date required */ required?: boolean; /** Set default show on date picker (only for text and icon mode) */ defaultShowDatePicker?: boolean; /** Long date format (Always show year) */ longDateFormat?: boolean; /** Set is date required */ defaultTimezoneAware?: boolean; /** Set first day of week */ firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6; /** One of icon types */ icon?: ElementType; /** Default Label text */ defaultLabelText?: string; /** Date format */ dateFormat?: string; /** Menu classes */ menuClassName?: string; /** Target element classes */ targetClassName?: string; /** Target element text classes */ targetTextClassName?: string; /** Target element icon classes */ targetIconClassName?: string; /** Background style for clickable element after the menu is open (opacity, color, etc...) */ backgroundElementClass?: string; /** Days to modify */ daysToModify?: DaysToModify[]; /** Array of weekend days */ weekends?: number[]; /** Weekend label */ weekendLabel?: string; /** Array of nonworking week days */ nonWorkingDaysOfWeek?: number[]; /** Nonworking week days label */ nonWorkingDaysOfWeekLabel?: string; /** Allows weekends to be selected */ weekendIsSelectable?: boolean; /** Popper Tooltip style */ popperTooltipStyle?: CSSProperties; /** Popper Tooltip class name*/ popperTooltipClassName?: string; /** Popper class name*/ popperClassName?: string; /** Position of selectDate menu */ position?: Placement; /** Disable days before specified date */ disableDaysBefore?: Date; } export declare const SelectDate: FC<ISelectDate>; export {}; //# sourceMappingURL=SelectDate.d.ts.map