CustomProvider
Support personalized configurations such as localization, Right to Left, and themes.
Import
import { CustomProvider } from 'rsuite';
Usage
Localization
import zhCN from 'rsuite/locales/zh_CN';
return (
<CustomProvider locale={zhCN}>
<App />
</CustomProvider>
);
Right to Left
return (
<CustomProvider rtl>
<App />
</CustomProvider>
);
Themes
return (
<CustomProvider theme="dark">
<App />
</CustomProvider>
);
Global Configuration of Default Values for Components
const components = {
Button: {
defaultProps: { size: 'sm' }
},
Input: {
defaultProps: { size: 'sm' }
}
// more components...
};
return (
<CustomProvider components={components}>
<App />
</CustomProvider>
);
Content Security Policy
The icon animations in @rsuite/icons
use inline styles. If your project enables Content Security Policy, make sure to configure the nonce value.
return (
<CustomProvider csp={{ nonce: 'xxxxxx' }}>
<App />
</CustomProvider>
);
Props
<CustomProvider>
Property | Type(Default) |
Description |
---|---|---|
components | Components | Custom component default configuration |
csp | { nonce: string } | Configure the nonce value of Content Security Policy |
disableInlineStyles | boolean | Disable inline styles |
disableRipple | boolean | If true, the ripple effect is disabled. Affected components include: Button , Nav.Item , Pagination |
formatDate | (date: Date, format?: string) => string | Return the formatted date string in the given format. The result may vary by locale. |
locale | Locale (en-GB) |
Configure Language Pack |
parseDate | (date: string, format: string) => Date | Return the date parsed from string using the given format string. |
rtl | boolean | Text and other elements go from left to right. |
theme | 'light' | 'dark' | 'high-contrast' | Supported themes |
Components
import type { ButtonProps } from '../Button';
import type { InputProps } from '../Input';
interface ComponentProps<T> {
defaultProps: Partial<T>;
}
export interface Components {
Button: ComponentProps<ButtonProps>;
Input: ComponentProps<InputProps>;
// more components...
}