@samyeak/nepali-date-picker-mantine
Version:
Nepali Calendars, date and time pickers based on Mantine components
34 lines (33 loc) • 1.92 kB
TypeScript
import React from 'react';
import { BoxProps, StylesApiProps, ElementProps, Factory, MantineComponentStaticProperties } from '@mantine/core';
import { PickerBaseProps, DatePickerType, CalendarLevel } from '../../types';
import { CalendarBaseProps, CalendarSettings, CalendarStylesNames } from '../Calendar';
import { DecadeLevelBaseSettings } from '../DecadeLevel';
import { YearLevelBaseSettings } from '../YearLevel';
import { MonthLevelBaseSettings } from '../MonthLevel';
export type DatePickerStylesNames = CalendarStylesNames;
export interface DatePickerBaseProps<Type extends DatePickerType = 'default'> extends PickerBaseProps<Type>, DecadeLevelBaseSettings, YearLevelBaseSettings, MonthLevelBaseSettings, CalendarBaseProps, CalendarSettings {
/** Max level that user can go up to (decade, year, month), defaults to decade */
maxLevel?: CalendarLevel;
/** Initial level displayed to the user (decade, year, month), used for uncontrolled component */
defaultLevel?: CalendarLevel;
/** Current level displayed to the user (decade, year, month), used for controlled component */
level?: CalendarLevel;
/** Called when level changes */
onLevelChange?: (level: CalendarLevel) => void;
isNepali?: boolean;
}
export interface DatePickerProps<Type extends DatePickerType = 'default'> extends BoxProps, DatePickerBaseProps<Type>, StylesApiProps<DatePickerFactory>, ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {
}
export type DatePickerFactory = Factory<{
props: DatePickerProps;
ref: HTMLDivElement;
stylesNames: DatePickerStylesNames;
}>;
type DatePickerComponent = (<Type extends DatePickerType = 'default'>(props: DatePickerProps<Type> & {
ref?: React.ForwardedRef<HTMLDivElement>;
}) => JSX.Element) & {
displayName?: string;
} & MantineComponentStaticProperties<DatePickerFactory>;
export declare const DatePicker: DatePickerComponent;
export {};