UNPKG

rsuite

Version:

A suite of react components

269 lines (268 loc) 7.04 kB
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;