NextUI Provider
API reference for the NextUIProvider
.
Import
Usage
import * as React from "react";import {NextUIProvider} from "@nextui-org/react";function App() {return (<NextUIProvider><YourApplication /></NextUIProvider>);}
Props
navigate
- Description: Provides a client side router to all nested components such as Link, Menu, Tabs, Table, etc.
- Type:
((path: Href, routerOptions?: RouterOptions) => void) | undefined
useHref
- Description: Convert an
href
provided to a link component to a nativehref
. For example, a router might accept hrefs relative to a base path, or offer additional custom ways of specifying link destinations. The original href specified on the link is passed to the navigate function of the RouterProvider, and useHref is used to generate the full native href to put on the actual DOM element. - Type:
((href: Href) => string) | undefined
locale
- Description: The locale to apply to the children.
- Type:
string | undefined
- Default:
en-US
Here's the supported locales. By default, It is en-US
.
const localeValues = ['fr-FR', 'fr-CA', 'de-DE', 'en-US', 'en-GB', 'ja-JP','da-DK', 'nl-NL', 'fi-FI', 'it-IT', 'nb-NO', 'es-ES','sv-SE', 'pt-BR', 'zh-CN', 'zh-TW', 'ko-KR', 'bg-BG','hr-HR', 'cs-CZ', 'et-EE', 'hu-HU', 'lv-LV', 'lt-LT','pl-PL', 'ro-RO', 'ru-RU', 'sr-SP', 'sk-SK', 'sl-SI','tr-TR', 'uk-UA', 'ar-AE', 'ar-DZ', 'AR-EG', 'ar-SA','el-GR', 'he-IL', 'fa-AF', 'am-ET', 'hi-IN', 'th-TH'];
Here's an example to set a Spanish locale.
"use client";import {type ReactNode} from "react";import {NextUIProvider} from "@nextui-org/react";export function AppProvider(props: AppProviderProps) {const {children, className} = props;return (<NextUIProvider locale="es-ES" className={className}>{children}</NextUIProvider>);}interface AppProviderProps {children: ReactNode;className?: string;}
defaultDates
- Description: The default dates range that can be selected in the calendar.
- Type:
{ minDate?: CalendarDate | undefined; maxDate?: CalendarDate | undefined; }
- Default:
{ minDate: new CalendarDate(1900, 1, 1), maxDate: new CalendarDate(2099, 12, 31) }
createCalendar
-
Description: This function helps to reduce the bundle size by providing a custom calendar system.
By default, this includes all calendar systems supported by
@internationalized/date
. However, if your application supports a more limited set of regions, or you know you will only be picking dates in a certain calendar system, you can reduce your bundle size by providing your own implementation ofcreateCalendar
that includes a subset of these Calendar implementations.For example, if your application only supports Gregorian dates, you could implement a
createCalendar
function like this:import {GregorianCalendar} from '@internationalized/date';function createCalendar(identifier) {switch (identifier) {case 'gregory':return new GregorianCalendar();default:throw new Error(`Unsupported calendar ${identifier}`);}}This way, only GregorianCalendar is imported, and the other calendar implementations can be tree-shaken.
-
Type:
((calendar: SupportedCalendars) => Calendar | null) | undefined
disableAnimation
- Description: Disables animations globally. This will also avoid
framer-motion
features to be loaded in the bundle which can potentially reduce the bundle size. - Type:
boolean
- Default:
false
disableRipple
- Description: Disables ripple effect globally.
- Type:
boolean
- Default:
false
skipFramerMotionAnimations
- Description:
Controls whether
framer-motion
animations are skipped within the application. This property is automatically enabled (true
) when thedisableAnimation
prop is set totrue
, effectively skipping allframer-motion
animations. To retainframer-motion
animations while using thedisableAnimation
prop for other purposes, set this tofalse
. However, note that animations in NextUI Components are still omitted if thedisableAnimation
prop istrue
. - Type:
boolean
- Default: Same as
disableAnimation
validationBehavior
- Description: Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.
- Type:
native | aria
- Default:
aria
reducedMotion
- Description: Controls the motion preferences for the entire application, allowing developers to respect user settings for reduced motion.
The available options are:
"user"
: Adapts to the user's device settings for reduced motion."always"
: Disables all animations."never"
: Keeps all animations active.
- Type:
"user" | "always" | "never"
- Default:
"never"
Types
CalendarDate
- Description: A CalendarDate represents a date without any time components in a specific calendar system from
@internationalized/date
. - Type:
import {CalendarDate} from '@internationalized/date';
SupportedCalendars
Supported react-aria i18n calendars.
type SupportedCalendars =| "buddhist"| "ethiopic"| "ethioaa"| "coptic"| "hebrew"| "indian"| "islamic-civil"| "islamic-tbla"| "islamic-umalqura"| "japanese"| "persian"| "roc"| "gregory";