rsuite
Version:
A suite of react components
269 lines (268 loc) • 7.04 kB
TypeScript
import React from 'react';
import { Locale } from '../locales';
import { ToastContainerInstance } from '../toaster/ToastContainer';
export interface CustomValue<T = Locale> {
/** Language configuration */
locale: T;
/** Support right-to-left */
rtl: boolean;
/**
* Return the formatted date string in the given format. The result may vary by locale.
*
* Example:
*
* import format from 'date-fns/format';
* import eo from 'date-fns/locale/eo'
*
* function formatDate(date, formatStr) {
* return format(date, formatStr, { locale: eo });
* }
*
* */
formatDate: (date: Date | number, format: string) => string;
/**
* Return the date parsed from string using the given format string.
*
* Example:
*
* import parse from 'date-fns/parse';
* import eo from 'date-fns/locale/eo'
*
* function parseDate(date, formatStr) {
* return parse(date, formatStr, new Date(), { locale: eo });
* }
*
* */
parseDate: (dateString: string, formatString: string) => Date;
/**
* A Map of toast containers
*/
toasters?: React.MutableRefObject<Map<string, ToastContainerInstance>>;
}
export interface CustomProviderProps<T = Locale> extends Partial<CustomValue<T>> {
/** Supported themes */
theme?: 'light' | 'dark' | 'high-contrast';
/** The prefix of the component CSS class */
classPrefix?: string;
/** Primary content */
children?: React.ReactNode;
/** Sets a container for toast rendering */
toastContainer?: HTMLElement | (() => HTMLElement | null) | null;
}
declare const CustomContext: React.Context<CustomProviderProps<{
common?: {
loading: string;
emptyMessage: string;
} | undefined;
Plaintext?: {
unfilled: string;
notSelected: string;
notUploaded: string;
} | undefined;
Pagination?: {
more: string;
prev: string;
next: string;
first: string;
last: string;
limit: string;
total: string;
skip: string;
} | undefined;
Calendar?: {
sunday: string;
monday: string;
tuesday: string;
wednesday: string;
thursday: string;
friday: string;
saturday: string;
ok: string;
today: string;
yesterday: string;
hours: string;
minutes: string;
seconds: string;
formattedMonthPattern: string;
formattedDayPattern: string;
dateLocale: any;
} | undefined;
DatePicker?: {
sunday: string;
monday: string;
tuesday: string;
wednesday: string;
thursday: string;
friday: string;
saturday: string;
ok: string;
today: string;
yesterday: string;
hours: string;
minutes: string;
seconds: string;
formattedMonthPattern: string;
formattedDayPattern: string;
dateLocale: any;
} | undefined;
DateRangePicker?: {
last7Days: string;
sunday: string;
monday: string;
tuesday: string;
wednesday: string;
thursday: string;
friday: string;
saturday: string;
ok: string;
today: string;
yesterday: string;
hours: string;
minutes: string;
seconds: string;
formattedMonthPattern: string;
formattedDayPattern: string;
dateLocale: any;
} | undefined;
Picker?: {
noResultsText: string;
placeholder: string;
searchPlaceholder: string;
checkAll: string;
} | undefined;
InputPicker?: {
newItem: string;
/**
* A Map of toast containers
*/
createOption: string;
} | undefined;
Uploader?: {
inited: string;
progress: string;
error: string;
complete: string;
emptyFile: string;
upload: string;
} | undefined;
CloseButton?: {
closeLabel: string;
} | undefined;
Breadcrumb?: {
expandText: string;
} | undefined;
Toggle?: {
on: string;
off: string;
} | undefined;
}>>;
declare const Consumer: React.Consumer<CustomProviderProps<{
common?: {
loading: string;
emptyMessage: string;
} | undefined;
Plaintext?: {
unfilled: string;
notSelected: string;
notUploaded: string;
} | undefined;
Pagination?: {
more: string;
prev: string;
next: string;
first: string;
last: string;
limit: string;
total: string;
skip: string;
} | undefined;
Calendar?: {
sunday: string;
monday: string;
tuesday: string;
wednesday: string;
thursday: string;
friday: string;
saturday: string;
ok: string;
today: string;
yesterday: string;
hours: string;
minutes: string;
seconds: string;
formattedMonthPattern: string;
formattedDayPattern: string;
dateLocale: any;
} | undefined;
DatePicker?: {
sunday: string;
monday: string;
tuesday: string;
wednesday: string;
thursday: string;
friday: string;
saturday: string;
ok: string;
today: string;
yesterday: string;
hours: string;
minutes: string;
seconds: string;
formattedMonthPattern: string;
formattedDayPattern: string;
dateLocale: any;
} | undefined;
DateRangePicker?: {
last7Days: string;
sunday: string;
monday: string;
tuesday: string;
wednesday: string;
thursday: string;
friday: string;
saturday: string;
ok: string;
today: string;
yesterday: string;
hours: string;
minutes: string;
seconds: string;
formattedMonthPattern: string;
formattedDayPattern: string;
dateLocale: any;
} | undefined;
Picker?: {
noResultsText: string;
placeholder: string;
searchPlaceholder: string;
checkAll: string;
} | undefined;
InputPicker?: {
newItem: string;
/**
* A Map of toast containers
*/
createOption: string;
} | undefined;
Uploader?: {
inited: string;
progress: string;
error: string;
complete: string;
emptyFile: string;
upload: string;
} | undefined;
CloseButton?: {
closeLabel: string;
} | undefined;
Breadcrumb?: {
expandText: string;
} | undefined;
Toggle?: {
on: string;
off: string;
} | undefined;
}>>;
declare const CustomProvider: (props: Omit<CustomProviderProps, 'toasters'>) => JSX.Element;
export { CustomContext, Consumer as CustomConsumer };
export default CustomProvider;